рдШрд░ рдХреЗ рд▓рд┐рдП рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди

Asterisk рдХреНрдпрд╛ рд╣реИ рдФрд░ рдШрд░ рдкрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ





рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди рдПрдХ рдЦреБрд▓рд╛ рдЖрднрд╛рд╕реА PBX (рдЯреЗрд▓реАрдлреЛрди рд╕реНрд╡рд┐рдЪ) рд╣реИред рдЖрдк Asterisk рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ Asterisk IP-PBX рдмреНрд▓реЙрдЧ рдкрд░ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдордзреНрдпрдпреБрдЧреАрди рд╡рд╛рд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЯреЗрд▓реАрдлреЛрди рдХрдВрдкрдиреА рд╕реЗ рдПрдХ рдмрдбрд╝рд╛ рдмрд┐рд▓ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред рдХрдо рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рдереЗ: рдпрд╛ рддреЛ рдЖрдИрдкреА-рдЯреЗрд▓реАрдлреЛрдиреА рдХрд╛рд░реНрдб рдЦрд░реАрджреЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╣реЛрдо рдлреЛрди рд╕реЗ рдПрдХ рдХрд╛рд░реНрдб рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ, рдпрд╛ рдПрдХ рдкреАрд╕реА рд╕реЗ рдПрд╕рдЖрдИрдкреА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдЖрдИрдкреА рдЯреЗрд▓реАрдлреЛрдиреА рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдХрд╛рд░реНрдб рдЦреЛрдЬрдиреЗ рдФрд░ рдЦрд░реАрджрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рд╕рдорд╛рдзрд╛рди рддрдм рдЖрдпрд╛ рдЬрдм рдореБрдЭреЗ рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ред рдЗрд╕реЗ рд╢рд╣рд░ рдХреА рдЯреЗрд▓реАрдлреЛрди рд▓рд╛рдЗрди рдФрд░ рдПрд╕рдЖрдИрдкреА рдкреНрд░рджрд╛рддрд╛ рдФрд░ рд╣реЛрдо рд▓реИрдВрдбрд▓рд╛рдЗрди рдЯреЗрд▓реАрдлреЛрди рджреЛрдиреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдШрд░ рдкрд░, рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рд░реНрд╡рд░ рдерд╛ рдЬрд┐рд╕ рдкрд░ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред



рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк





рддреЛ, рдкрд╣рд▓реА рдЪреАрдЬ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдбреЗрдмрд┐рдпрди рдореЗрдВ рдпрд╣ рдЕрддреНрдпрдВрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдмрд╕ рддрд╛рд░рд╛рдВрдХрди рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдирд┐рдЪреЛрдбрд╝ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг 1.6 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ (рдлрд┐рд▓рд╣рд╛рд▓ рдкрд░реАрдХреНрд╖рдг, рдмрд╛рдж рдореЗрдВ рдпрд╣ рдбреЗрдмрд┐рдпрди рд╡рд┐рддрд░рдг рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 6.0 рд╣реЛрдЧрд╛), рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП addon chan_mobile рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХред



рдПрд╕рдЖрдИрдкреА рдХрдиреЗрдХреНрд╢рди рдФрд░ рдбрд╛рдпрд▓рдкреИрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд░реВрд╕реА-рднрд╛рд╖рд╛ рдХреЗ рд▓реЗрдЦ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд░реБрдХрддрд╛ред



рджреВрд╕рд░реЗ, рдЖрдкрдХреЛ рдПрд╕реНрдЯреЗрд░рд┐рд╕реНрдХ рдХреЛ рд▓реИрдВрдбрд▓рд╛рдЗрди рдФрд░ рд╣реЛрдо рдЯреЗрд▓реАрдлреЛрди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдбрд┐рдЧрд┐рдпрдо рд╡рд┐рд╢реЗрд╖ рдкреАрд╕реАрдЖрдИ рдФрд░ рдкреАрд╕реАрдЖрдИ-рдИ рдХрд╛рд░реНрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдХрд╛рдлреА рдорд╣рдВрдЧреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдИрдмреЗ рдкрд░ рдЖрдк рдЪреАрдиреА рдХрдВрдкрдиреА рдУрдкрдирд╡реЙрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдЕрдкрдиреЗ рд╕рдордХрдХреНрд╖ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрд╣реБрдд рд╕рд╕реНрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдПрдХ OpenVox A400E рджреЛрд╣рд░реЗ рдкреЛрд░реНрдЯ PCI-e рдХрд╛рд░реНрдб рдХреЛ рдПрдХ FXO рдкреЛрд░реНрдЯ рдФрд░ рдПрдХ FXS рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдЦрд░реАрджрд╛ рд╣реИред



рдЕрдЧрд▓рд╛, рдХрдЯрд░рд╛ рдХреА рд╕реНрдерд╛рдкрдирд╛:

chan_dahdi.conf:

[trunkgroups]



[channels]

switchtype=national

usecallerid=yes

hidecallerid=no

callwaiting=yes

callwaitingcallerid=yes

threewaycalling=yes

transfer=yes

echocancel=yes

busydetect=yes

;callprogress=yes

adsi=yes



;cidsignalling=bell

;cidstart=ring



callerid=asreceived



immediate=yes



context=phones

signalling=fxo_ks

faxdetect=both

channel => 1



context=incoming-city

signalling=fxs_ks

faxdetect=both

channel => 2









SIP рд╕реЗрдЯрдЕрдк:

sip.conf:

[general]



register => login:password@provider

[authentication]

[user_login]

type=friend

context=phones

host=dynamic

secret=user_password

callerid="User" <1001>



[sip]

type=friend

username=sip_login

secret=sip_password

callerid=SIP

host=provider

nat=no

fromuser=

fromdomain=provider

dtmfmode=rfc2833

insecure=very

context=incoming-sip

disallow=all

allow=alaw







sip_login, sip_password, рдкреНрд░рджрд╛рддрд╛ - рдпрд╣ рдХреНрд░рдорд╢рдГ рдЖрдкрдХрд╛ рд▓реЙрдЧрд┐рди рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкреНрд░рджрд╛рддрд╛ рд╣реИред

user_login, user_password - Asterisk рдореЗрдВ SIP рдлрд╝реЛрди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдбред



рд╕рд░рд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .conf:

[globals]



[general]



[default]

exten => s,n,Answer()

exten => s,n,Playback(tt-weasels)

exten => s,n,Hangup()



[phones]

exten => s,n,Answer()

exten => s,n,WaitExten(30)

exten => _0.,1,NoOp()

exten => _0.,n,Goto(outbound-city,${EXTEN},1)

exten => _NXXXXXX,1,NoOp()

exten => _NXXXXXX,n,Goto(outbound-city,${EXTEN},1)

exten => _NXXNXXXXXX,1,NoOp()

exten => _NXXNXXXXXX,n,Goto(outbound-sip,${EXTEN},1)



exten => t,1,Playback(vm-goodbye)

exten => t,n,Hangup()

exten => i,1,Playback(invalid)

exten => i,n,Hangup()



[incoming-sip]

exten => s,n,Answer()

exten => s,n,Dial(SIP/user_login)

exten => s,n,Hangup()



[incoming-city]

exten => s,n,Answer()

exten => s,n,Dial(DAHDI/1)

exten => s,n,Hangup()



[outbound-sip]

exten => _XXXXXXXXXX,1,Dial(SIP/$[7${EXTEN}]@provider)

exten => _XXXXXXXXXX,n,Hangup()



[outbound-city]

exten => _0.,1,Dial(DAHDI/2/${EXTEN})

exten => _0.,n,Hangup()

exten => _NXXXXXX,1,Dial(DAHDI/2/${EXTEN})

exten => _NXXXXXX,n,Hangup()









рдЗрд╕ рддрд░рд╣ рдХреА extension.conf рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рдЯреЗрд▓реАрдлреЛрди рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдШрд░ рдХреЗ рдлреЛрди рд╕реЗ рд╕рд╛рдд-рдЕрдВрдХреАрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдирдВрдмрд░реЛрдВ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ SIP рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рдВрдмреА рджреВрд░реА рдХреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред



рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ





1. рд╕рднреА рдЯреЗрд▓реАрдлреЛрди рд╡рд╛рд░реНрддрд╛рд▓рд╛рдкреЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ


рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбрд╛рдпрд▓рдкреИрди (Extension.conf) рдореЗрдВ рдорд┐рдХреНрд╕рдореЙрдирд┐рдЯрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдХреЙрд▓ рдбрд╛рд▓реЗрдВред

[phones]

exten => s,n,Answer()

exten => s,n,MixMonitor(phone-${UNIQUEID}.wav)

exten => s,n,WaitExten(30)







рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдлрд╝реЛрд▓реНрдбрд░ / var / рд╕реНрдкреВрд▓ / рддрд╛рд░рд╛рдВрдХрди / рдореЙрдирд┐рдЯрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗ



2. рдлреИрдХреНрд╕ рдХрд╛ рд░рд┐рд╕реЗрдкреНрд╢рди рдФрд░ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди


рдлреИрдХреНрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ SendFax рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ TIFF рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ TIFF рдХреЛ PDF рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

$ /usr/bin/gs -q -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196 -dNOPAUSE -sOutputFile=/var/spool/asterisk/outgoing/mydocument.tif -- /var/spool/asterisk/outgoing/mydocument.pdf





рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ TIFF рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд╝реИрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ TIFF / F рдкреНрд░рд╛рд░реВрдк (tiffg3) рдореЗрдВред

рдлрд╝реИрдХреНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рддрд╛рд░рд╛рдВрдХрди рдХрдВрд╕реЛрд▓ рдЪрд▓рд╛рдПрдБ рдФрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

# asterisk -r

server*CLI> originate originate DAHDI/1 application SendFax /tmp/test.tif







рдлреИрдХреНрд╕ рд░рд┐рд╕реЗрдкреНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдбрд╛рдпрд▓рдкреИрди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

extensions.conf:

[incoming-city]

exten => s,n,Answer()

exten => s,n,Wait(5)

exten => s,n,Dial(DAHDI/1)

exten => s,n,Hangup()



exten => fax,1,ReceiveFax(/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}.tif)

exten => fax,n,Hangup()







рдЖрдиреЗ рд╡рд╛рд▓реЗ рдлреИрдХреНрд╕ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдлреИрдХреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд░рд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░ () рдХреЗ рдмрд╛рдж 5 рд╕реЗрдХрдВрдб рдХреА рджреЗрд░реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдлрд╝реИрдХреНрд╕рдбреЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВ = рджреЛрдиреЛрдВ chan_dahdi.conf рдореЗрдВред



рдЖрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реИрдХреНрд╕ рдХреЛ TIFF рдкреНрд░рд╛рд░реВрдк рдореЗрдВ / var / spool / asterisk / рдлрд╝реИрдХреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛

рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкреАрдбреАрдПрдл рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рдлреИрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ / рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ, рд╕рд╛рде рд╣реА рдкреНрд░рд╛рдкреНрдд рдлреИрдХреНрд╕ рдХреЛ рдИ-рдореЗрд▓ рдкрд░ рднреЗрдЬрддреА рд╣реИрдВред



3. рдХреЙрд▓ рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓




CALLERID рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЯреЗрд▓реАрдлреЛрди рдСрдкрд░реЗрдЯрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдореБрдЭреЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ред рдпрджрд┐ CALLERID рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕ рдирдВрдмрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕реЗ рдХреЙрд▓ рдЖрддреА рд╣реИред

[incoming-city]

exten => s,1,Wait(2)

exten => s,n,GotoIf($["${CALLERID(num):-10}" = "5555555555"]?1000)

exten => s,n,Dial(DAHDI/1)

exten => s,n,Hangup()



exten => s,1000,Wait(600)

exten => s,n,Answer()

exten => s,n,Congestion()

exten => s,n,Hangup()









рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 5555555555 рд╕реЗ рдХреЙрд▓ рдХреА рдЕрдирджреЗрдЦреА рдХреА рдЬрд╛рддреА рд╣реИред

рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ: рд╣реИрдВрдбрд╕реЗрдЯ рдХреЛ рдЙрдард╛рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓рд░реАрдб рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣реИрдВрдбрд╕реЗрдЯ рдХреЛ рдЙрдард╛рдпрд╛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдлреИрдХреНрд╕ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдлреИрдХреНрд╕ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕реНрдерд┐рд░ рд╕реНрд╡рд╛рдЧрдд рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрддреНрддрд░ рдХреЗ рдмрд╛рдж рджреЗрд░реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, CALLERID рдХреЗ рд╕реНрдерд┐рд░ рд╕реНрд╡рд╛рдЧрдд рдХреЗ рд▓рд┐рдП рдХрднреА-рдХрднреА рдореБрдЭреЗ рдЙрддреНрддрд░ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд▓рдВрдм рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред



4. рдЬреАрдПрд╕рдПрдо рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрд╢рди




рдЬреАрдПрд╕рдПрдо рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $ 1000 рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд╡рд┐рд╢реЗрд╖ рдкреАрд╕реАрдЖрдИ-рдИ рдХрд╛рд░реНрдб рд╣реИрдВ, рдЬреЛ рдШрд░ рдкрд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдбрдСрди рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЬреАрдПрд╕рдПрдо рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реЗрд▓ рдлреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддрд╛рд░рд╛рдВрдХрди-рдореЛрдмрд╛рдЗрд▓ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рд╡рд╣ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдбреЗрдмрд┐рдпрди рд╡рд┐рддрд░рдг рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ USB рдмреНрд▓реВрдЯреВрде рдПрдбрд╛рдкреНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ (рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рдмреНрд▓реВрдЬрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ) рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдареАрдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдлреЛрди рдЬреЛ рдмреНрд▓реВрдЯреВрде рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рд╕реНрдерд╛рдкрдирд╛:

рдореЛрдмрд╛рдЗрд▓ рдореЗрдВред рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

[general]



[adapter]

id=blue

address=00:11:22:33:44:55







рдЬрд╣рд╛рдВ 00: 11: 22: 33: 44: 55 рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЗ рдмреНрд▓реВрдЯреВрде рдПрдбрд╛рдкреНрдЯрд░ рдХрд╛ рдкрддрд╛ рд╣реИред

Asterisk рдХрдВрд╕реЛрд▓ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдлрд╝реЛрди рджреЗрдЦреЗрдВ:

server*CLI> mobile search

Address Name Usable Type Port

66:77:88:99:AA:BB Nokia Yes Phone 13









рдореЛрдмрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝реЗрдВ mobile.conf:

[GSM]

address=66:77:88:99:AA:BB

port=13

type=phone

adapter=blue

context=incoming-gsm







рдЬрд╣рд╛рдВ 66: 77: 88: 99: AA: BB рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЗ рдлреЛрди рдХрд╛ рдкрддрд╛ рд╣реИ, рдФрд░ рдкреЛрд░реНрдЯ = 13 рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдЙрд╕ рдкреЛрд░реНрдЯ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХрд╛ рдлреЛрди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк chan_mobile рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

server*CLI> module unload chan_mobile

server*CLI> module load chan_mobile

server*CLI> mobile show devices

ID Address Group Adapter Connected State SMS

GSM 66:77:88:99:AA:BB 0 blue Yes Free Yes









рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдореЗрдВ, рдЖрдкрдХреЛ рдЗрдирдмрд╛рдЙрдВрдб рдФрд░ рдЖрдЙрдЯрдмрд╛рдЙрдВрдб рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:

[phones]

exten => _913NXXXXXX,1,NoOp()

exten => _913NXXXXXX,n,Goto(outbound-gsm,${EXTEN},1)



[incoming-gsm]

exten => s,n,Answer()

exten => s,n,Dial(DAHDI/1)

exten => s,n,Hangup()



[outbound-gsm]

exten => _NXXNXXXXXX,1,Dial(Mobile/GSM/${EXTEN})

exten => _NXXNXXXXXX,n,Hangup()









рд╕рд╛рдЗрдмреЗрд░рд┐рдпрди рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдирдВрдмрд░реЛрдВ рдкрд░ рдХреЙрд▓ рдЬреАрдПрд╕рдПрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рд╛рдИ рдЬрд╛рдПрдЧреАред



рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ: рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдкрдиреЗ рдлреЛрди рдХреЗ рд╕рд╛рде рдкреЗрдпрд░ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред рдпрд╣ рдХрдорд╛рдВрдб / usr / рдмрд┐рди / рдмреНрд▓реВрдЯреВрде-рдПрдЬреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ



рдпрджрд┐ рдЖрдкрдХрд╛ рдлреЛрди рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдбрд╛рдпрд▓рдкреИрди рд╕реЗ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреИрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп:

[incoming-city]

exten => fax,1,ReceiveFax(/var/spool/asterisk/fax/${CALLERID(num)}-${UNIQUEID}.tif)

exten => fax,n,MobileSendSMS(GSM,+75555555555,incoming fax #${UNIQUEID} from ${CALLERID(num)})

exten => fax,n,Hangup()









рдирд┐рд╖реНрдХрд░реНрд╖





рддрд╛рд░рд╛рдВрдХрди рдореЗрдВ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрджреНрдзреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдлреЗрд╕реНрдЯрд┐рд╡рд▓ рд╡реЙрдпрд╕ рд╕рд┐рдВрдереЗрд╕рд┐рд╕ рд╕рд┐рд╕реНрдЯрдо, рд╡реЙрдпрд╕ рдореЗрд▓рдмреЙрдХреНрд╕, рдХрддрд╛рд░рдмрджреНрдз рдХреЙрд▓ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд╡реЙрдпрд╕ рдореЗрдиреНрдпреВ рдФрд░ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рдиред рд▓реЗрдХрд┐рди рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдкрд╛рдардХреЛрдВ рдХреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдШрд░ Asterisk PBX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред



All Articles