Продолжаю свою серию заметок по настройке Asterisk, сегодня я поведую о своем практическом опыте как подружить Asterisk и облачную АТС от Манго, нужен этот изврат для того чтобы подключенные телефоны к Asterisk (Cisco CP-7925G и Cisco 7962) тоже были в работе. Не знаю правда зачем эти телефоны были закуплены, может по играться другого смысла в это я не вижу, т. к. они не работают через SIP протокол а только через SCCP, да и к тому же для них нужна качественная зона покрытия Wifi (а вот с этим у меня справляются точки доступа на основе Mikrotik‘ов). Ну вот такой вот квест ввода в эксплуатацию я прошел и пора поделиться заметками да и на будущее будет полезно глянуть если что на свой блог и вспомнить что нужно сделать чтобы заработало.
И так на сервере где развернут голый Asterisk с поддержкой протокола sccp произвожу следующие действия по настройке:
Ниже мои настройки, у Вас они могут отличаться, а вообще читайте документацию:
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sip_custom.conf
[general]
defaultexpiry=360
transport=udp
disallow=all
allowguest=no
allow=alaw
dtmfmode=inband
useragent=JopAster
nat=force_rport
directmedia=yes
alwaysauthreject=no
bindport=60000
alwaysauthreject = yes
;context=public
;строка регистрации транка
register => 000112:Aa1234567@<domain>.mangosip.ru/line112
[line112]
type=peer
secret=Aa1234567
username=000112
host=<domain>.mangosip.ru
fromuser=000112
fromdomain=<domain>.mangosip.ru
insecure=invite
nat=force_rport
context=incoming ; этот название правила обработки входящих звонков в extensions.conf
dtmfmode=inband
[112]
;context=public
secret=qwe123
type=friend
host=dynamic
disallow=all
allowguest=no
allow=alaw
dtmfmode=inband
nat=force_rport
alwaysauthreject=yes
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sip.conf
#include sip_custom.conf
[general]
context=public
register => 000112:Aa1234567@<domain>.mangosip.ru/line112
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/extensions_custom.conf
[public]
;для исходящих звонков
exten => _X.,1,Dial(SIP/line112/${EXTEN})
;exten => _8XXXXXXXXXX,1,Dial(SIP/line112/${EXTEN})
;для входящих
[incoming]
;exten => line112,1,Dial(SIP/112)
exten => line112,1,Dial(SCCP/112)
exten => line112,n,Hangup()
Теперь настраиваю DIAL план:
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/extensions.conf
#include extensions_custom.conf
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sccp.conf
[general]
servername = srv-host
keepalive = 60
debug = 1
context = public
dateformat = D.M.Y
bindaddr = 10.7.8.122
port = 2000
disallow=all
allow=alaw
allow=ulaw
allow=g729
firstdigittimeout = 16
digittimeout = 8
autoanswer_ring_time = 1
autoanswer_tone = 0x32
remotehangup_tone = 0x32
transfer_tone = 0
callwaiting_tone = 0x2d
musicclass=default
language=ru
deny=0.0.0.0/0.0.0.0
permit=0.0.0.0/0.0.0.0
dnd = on
sccp_tos = 0x68
sccp_cos = 4
audio_tos = 0xB8
audio_cos = 6
video_tos = 0x88
video_cos = 5
echocancel = on
silencesuppression = off
trustphoneip = no
private = on
callanswerorder=oldestfirst
protocolversion=17
hotline_enabled=yes
hotline_context=public
hotline_extension=11111
;описываю настройки аппарата
[SEPE02F6D647697]
description = IT
devicetype = 7925
type = device
button = line, 112
deny=0.0.0.0/0.0.0.0 ; Same as general
permit=0.0.0.0/0.0.0.0 ; Same as general
;imageversion = apps37sccp.1-4-4-0
pickupcontext = sccp
tzoffset = +0
transfer = on
trustphoneip = no
directrtp=off
earlyrtp = progress
private = on
mwilamp = on
mwioncall = off
setvar=testvar=value
cfwdall = on
;imageversion = apps37sccp.1-4-4-0
[112]
id = 112
type = line
label = Phone 112
description = Line 112
cid_name = 112
cid_num = 112
echocancel = off
context = public
transfer = on
vmnum = 600
trnsfvm = 1000
secondary_dialtone_digits = 9
secondary_dialtone_tone = 0x22
musicclass=default
language=ru
echocancel = on
silencesuppression = off
;настройки для телефона Cisco VOIP 7962
[SEPE02F6D647697]
description = 111
devicetype = 7962
type = device
button = line, 111
deny=0.0.0.0/0.0.0.0 ; Same as general
permit=0.0.0.0/0.0.0.0 ; Same as general
;imageversion = apps37sccp.1-4-4-0
pickupcontext = sccp
tzoffset = +0
transfer = on
trustphoneip = no
directrtp=off
earlyrtp = progress
private = on
mwilamp = on
mwioncall = off
setvar=testvar=value
cfwdall = on
;imageversion = apps37sccp.1-4-4-0
[111]
id = 111
type = line
label = Phone 111
description = Line 111
cid_name = 111
cid_num = 111
echocancel = off
context = public2
transfer = on
vmnum = 600
trnsfvm = 1000
secondary_dialtone_digits = 9
secondary_dialtone_tone = 0x22
musicclass=default
language=ru
echocancel = on
silencesuppression = off
Обязательно после того как внесли изменения в каталоге /etc/asterisk нужно переназначить права:
ekzorchik@srv-host:~$ sudo chown -R asterisk:asterisk /etc/asterisk/
ekzorchik@srv-host:~$ sudo asterisk -r
srv-host*CLI> core reload
Теперь включаю телефон, он подключается к Wifi, получает сетевые настройки от DHCP и адрес TFTP сервера (по совместительсту он же Asterisk) откуда подгружается конфигурационные и телефон в строю с уже имеющимися заведенными базовыми станциями Grandstream & D-Link Voip Шлюзам использующимися у меня на рабочем месте.
Проверил, что с телефона вызовы идут, как на 99999 так и внутренние и на мобильные
Работает на 100% как и дожно быть.
Отлично я все таки добил все что было сделано до меня предыдущими системными администраторами, правда их уже давно не стало (уволили), но я же сейчас все разобрал и многое внедрил на текущем месте работы и постоянно изучаю что-то новенькое. Опять рассуждать, что нужно во чтобы то ни стало документировать все что делаешь мне уже кажется излишним — я ведь все это делаю на постоянной основе. А тому прощаюсь и до новых заметок, увидимся, с уважением Олло Александр.