Настроить Asterisk на облачную АТС Манго

Posted by

Продолжаю свою серию заметок по настройке 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% как и дожно быть.

Отлично я все таки добил все что было сделано до меня предыдущими системными администраторами, правда их уже давно не стало (уволили), но я же сейчас все разобрал и многое внедрил на текущем месте работы и постоянно изучаю что-то новенькое. Опять рассуждать, что нужно во чтобы то ни стало документировать все что делаешь мне уже кажется излишним — я ведь все это делаю на постоянной основе. А тому прощаюсь и до новых заметок, увидимся, с уважением Олло Александр.