Asterisk: подключение и использование транка от zadarma.com, Билайн и Ростелеком


Часто  для совершения междугородних и международных звонков удобно и дешево использовать сервис zadarma.com. После регистрации вы можете установить в качестве исходящего номера свой (потребуется подтвердить владение), что делает использование сервиса прозрачным для клиентов. Опишем как быстро подключить номер к вашему Asterisk.

Сначала настраиваем регистрацию в файле /etc/asterisk/sip.conf:
[zadarma]
defaultuser = 444444 ;имя sip аккаунта
secret = password ;пароль
type = peer;запись используется для совершения исходящих вызовов
fromuser = 444444;имя пользователя sip
host =  sip.zadarma.com;адрес сервиса
context = work-in;контекст указывает обработчик входящих вызовов, в нашем случае не важен т.к. принимать звонки мы будем через МГТС
fromdomain = sip.zadarma.com
disallow=all ;использовать только перечисленные кодеки
allow = alaw
allow = ulaw
nat = force_rport,comedia ;доступ в сервису через NAT
canreinvite = no ;запрещает передачу медиатрафика минуя астериск
dtmfmode = rfc2833
Бонусом опишу свои рабочие конфиги для подключения транков Ростелекома и Билайна. Чтобы подключить транк от Ростелеком воспользуемся следующими настройками:
; авторизация у провайдера rt для входящих соединений
register =>  login:pass@XXXXXX.XX.rt.ru/XXXXXXXXXXX
;создаем соединения с Ростелекомом
[rt]
type = friend
defaultuser = login
secret = pass
host =  XXXXXX.XX.rt.ru
context = incoming
insecure= invite,port
fromuser = admin
fromdomain = XXXXXX.XX.rt.ru
disallow=all
allow = alaw
allow = ulaw
nat = force_rport,comedia
canreinvite = no
dtmfmode = rfc2833
registersip=yes
qualify = yes
Не забудьте в личном кабинете Ростелкома выставить входящие звонки с нужного номера на аккаунт login в выбрать для него исходящую линию.
Чтобы подключить транк от Билайн воспользуемся следующими настройками:
; авторизация у провайдера beeline для входящих соединений
register => 9999999999@mpbx.sip.beeline.ru:password:9999999999@mpbx.sip.beeline.ru@mpbx.sip.beeline.ru/9999999999
;создаем соединения с Билайн
[beeline]
username=9999999999@mpbx.sip.beeline.ru
host=mpbx.sip.beeline.ru
type=friend;проверяет поле username и IP-адрес источника
secret=password
nat=force_rport,comedia
insecure=invite,port
qualify=yes;для проверки состояния канала
outboundproxy=mpbx.sip.beeline.ru
fromuser=9999999999
fromdomain=mpbx.sip.beeline.ru
dtmfmode=rfc2833
context=incoming
canreinvite=no
disallow=all
allow=alaw
allow=ulaw
Далее в файле /etc/asterisk/extensions.conf реализуем следующую логику: при наборе 7-значного номера звоним через основного провайдера (например, MGTS в пределах Москвы), при наборе номера более 7 символов - используем транк задармы. Получаем примерно следующее:
;маршруты для исходящих звонков
[work-out]
include => mgts-out ; городские номера через провайдера МГТС
include => zadarma-out ; сервис zadarma.com

;исходящие звонки МГТС внутри Москвы
[mgts-out]
exten => _XXXXXXX,1,NoOp(Звонок через МГТС на номер ${EXTEN})
same => n,Dial(SIP/MGTS/${EXTEN},60,T)
same => n,Hangup

;исходящие междугородние звонки через zadarma
[zadarma-out]
exten => _+.,1,GoTo(${EXTEN:1},1);если номер начинается с +
exten => _8.,1,GoTo(7${EXTEN:1},1) ; если начинается с 8 вместо 7
exten => _7.,1,NoOp(Звонок через zadarma на номер +7${EXTEN:1})
;если вам нужны также международные звонки можно звонить так
;exten => _X.,1,NoOp(Звонок через zadarma на номер +${EXTEN})
;same => n,Dial(SIP/zadarma/+${EXTEN},60,Tt)
same => n,Dial(SIP/zadarma/${EXTEN},60,Tt)
same => n,Hangup

Комментариев нет:

Отправить комментарий