В этом посте немного информации по подключению SIP номеров к Asterisk от популярных поставщиков услуг связи, они же провайдеры.
Программная АТС Asterisk требует чтобы в ее конфигурационном файле, было описание нового номера с помощью:
- Строки регистрации
- Секции авторизации
По идее каждый городской номер должен иметь строку регистрации и секцию авторизации.
Строка регистрации отвечает за прием входящих звонков. По сути мы с помощью этой регистрации, говорим провайдеру, что мы доступны для приема входящих вызовов по такому-то IP адресу и номеру.
Секция авторизации отвечает за исходящие звонки. С помощью нее, наши внутренние номера могут делать исходящие вызовы.
Если у вас что-то не работает, допустим входящие звонки, смотрите строчку регистрации. Аналогично - нету исходящих, смотрите секцию авторизации. Не получается совсем? Тогда проще взять программный IP телефон и с помощью него проверить соединение к SIP серверу. Как только коннект начал нормально ходить на телефон, то можно после, перенести настройки этого софтфона на Asterisk. Также бывает помогает tcpdump с wireshark, первый собирает информацию по трафику, другой берет собранные данные и анализирует их, вычленяя SIP сессии из кучи не нужного хлама.
Примечание: Некоторые провайдеры , например KCELL, не требуют строчки регистрации для номера, им хватает секции авторизации. В таком случае входящие звонки направляются непосредственно на Ваш IP адрес, а исходящие на IP адрес провайдера. Провайдер не требует строчки регистрации, так как у него прописан Ваш статический IP адрес роутера (Asterisk) с телефонным номером. При входящем звонке голосовой трафик направляется на Ваш статический IP адрес за которым закреплен Asterisk. Поэтому нам всего лишь необходима секция авторизации.
Примечание: В большинстве случаев бывает что настройки верны, но голоса или соединения все равно нет. Причиной может быть в NAT, пробросе портов роутера или маршрутизации.
Примеры настройки строчки регистрации для входящих звонков
Чтобы подключить Asterisk к SIP серверу Алматытелеком, необходимо сделать следующее:
- Файл /etc/asterisk/sip.conf
В секцию [general] добавляем строчку регистрации на SIP сервере Алматытелеком:
register => логин:пароль@sip.telecom.kz:5060/городской номер~3600
То есть получиться примерно так:
register => 883912244:Kdk13fay@sip.telecom.kz:5060/2755343~3600
Примеры настройки секции авторизации для исходящих звонков
Далее в этом же файле прописываем шаблон секции авторизации для номеров от Алматытелеком:
[id-phone](!)type=peercontext=defaulthost=sip.telecom.kzfromdomain=sip.telecom.kz;outboundproxy=sip.telecom.kzport=5060insecure=invite,portcanreinvite=noqualify=3600
И сразу же на основе уже созданного шаблона, прописываем секцию авторизации для городского номера, например 2755343:
[2755343](id-phone)disallow=allallow=g729allow=alawdefaultuser=883912244fromuser=883912244secret=Kdk13faycallbackextension=2755343
После этих манипуляций обязательно вводим:
# asterisk -rx "sip reload"
Далее проверяем активность номера командами:
# asterisk -rx "sip show registry"
# asterisk -rx "sip show peers"
Провайдер KCELL, которому необходима только секция авторизации
Аналогично подключается SIP транк от KCELL:
; Создаем шаблон[kcell](!)type=friendhost=195.47.255.119fromdomain=195.47.255.119port=5060insecure=port,invitecanreinvite=noqualify=3600;nat=force_rport,comediacontext=default;externip=200.155.222.26 ;CTCexternip=109.202.134.202 ;KT
Теперь прописываем SIP транк:
[+77014555212](kcell)defaultuser=+77014555212fromuser=+77014555212musicclass=welcomedisallow=allallow=g729