Развернут консольный Asterisk и я хочу для себя разобрать как же все-таки настраивается транк.
Транк — это метод настройки провайдера (IP-телефонии) для совершения звонков с Вашей АТС во вне.
В роли провайдера выступит аккаунт зарегистированный на сайте zadorma.com, регистрируемся (и выбираем бесплатный тарифный план для теста), авторизуемся, Настройки — SIP-настройки:
- Сервер: sip.zadarma.com
- Логин: 424733 (у Вас будет свой логин)
- Пароль: S1Y4sph4kz (у Вас будет Свой пароль)
- Отображаемое имя: я изменил с SIP на zadarma
- Количество линий: 3
Использовать данный SIP номер для приема факсов: отмечаю галочкой (я хочу разобрать как настраивать прием факсов в Asterisk — интересно для меня)
Меняю контекст правил для профиля SIP учеток:
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sip.conf
[sip-profile](!)
;возможность совершать, как входящие так и исходящие звонки
type = friend
;контекст правил вызова в файле /etc/asterisk/extensions.conf
context = outcoming
Теперь когда настройки от провайдера получены их нужно добавить согласно определенному синтаксису в файл sip.conf
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sip.conf
[general]
;если стоит yes, то сервер с Asterisk поддерживаем поиск в DNS srv-записей, обычно данный параметр предопределен по умолчанию, а потому можно его и не указывать.
srvlookup = yes
[zadarma]
;sip запись для подключения входящих и исходящих звонков
type = friend
;имя пользователя выданное провайдером IP-телефонии
username = 424733
;пароль от пользователя выданного провайдером IP-телефонии
secret = S1Y4sph4kz
;нижеследующие два параметра используются для вызова исходящих от Asterisk
;в сторону SIP устройства
fromuser = 424733
fromdomain = sip.zadarma.com
;имя домена или хоста SIP сервера
host = sip.zadarma.com
;установка соединения с peer'ами, т. к. у меня они в локальной сети то нужно поставить no
nat = no
;определяем как обрабатывать соединения с пирами. По умолчанию значение 'no' — (аутентификация для всех соединение включена)
insecure = invite
;правила для входящих звонков
context = incoming
; Если инициируется вызов по протоколу SIP, тогда в сообщении INVITE содержиться информация, куда должен отправляться медиапоток
canreinvite = no
Сохраняем внесенные изменения, а после говорим Asterisk‘у чтобы он перечитал все свои конфигурационные файла на предмет изменений:
ekzorchik@srv-host:~$ sudo asterisk -r
srv-host*CLI> core reload
[Mar 24 10:57:32] NOTICE[1002]: chan_sip.c:30746 build_peer: The ‘username’ field for sip peers has been deprecated in favor of the term ‘defaultuser’
а вот и информационный вывод, вроде как больше не используется параметр username — вместо него нужно defaultuser, заменяю в sip.conf и снова перечитываю настройки в конфигурационных файлах.
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/sip.conf
[general]
srvlookup = yes
register => 424733:S1Y4sph4kz@sip.zadarma.com/424733
[zadarma]
type = friend
defaultuser = 424733
secret = S1Y4sph4kz
fromuser = 424733
fromdomain = sip.zadarma.com
host = sip.zadarma.com
nat = no
insecure = invite
context = incoming
canreinvite = no
srv-host*CLI> core reload
Теперь смотрю произошла ли регистрация у SIP-провайдера:
srv-host*CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
sip.zadarma.com:5060 N 424732 105 Registered Thu, 24 Mar 2016 11:03:03
1 SIP registrations.
Из вывода видно, что регистрация успешно прошла. Также внимательный читатель обнаружит что в личном кабинете zadorma.com в где указаны настройки подключения поменялся статус с offline на online (#424732 (zadarma) — online) и будет показа информация откуда произошла регистрация:
IP: <external-ip-address., port: 5060, useragent: Asterisk PBX 13.7.2~dfsg-0~ppa1
Теперь чтобы позвонить на данный Asterisk из вне нужно узнать, а какой же у меня внешний номер, для этого в личном кабинете переходим по меню: Настройки —
SIP-настройки присутствует информация проверки работоспособности настроенного, а также информация того, что нужно сделать чтобы позвонить откуда угодно. В частности для бесплатных аккаунтов схема звонка из вне выглядит следующим образом:
1) Используем бесплатных прямой номер с донабором: (переходим по ссылке: https://ss.zadarma.com/dirnum/
из большого списка находим, к примеру: Россия, Москва +7 (495) 777-66-75 (можно выбрать любой)
2) Где донабор это наш логин
Теперь нужно настроить DIAL-план для входящих и исходящих звонков:
ekzorchik@srv-host:~$ sudo nano /etc/asterisk/extensions.conf
;правила для исходящих звонков
[outcoming]
;звонки через бесплатный номер выше посредством транка с именем zadarma (из sip.conf в квадратных скобках) на номер который набираем.
;где {EXTEN} — Текущий экстеншен, об переменных можно посмотреть здесь: http://asterisk.ru/knowledgebase/Asterisk+variables
;где X — количество 11 штук
exten => _XXXXXXXXXXX,1,Dial(SIP/zadarma/${EXTEN})
;звонок на трехзначные номер через SIP протокол звонящего номера
exten => _XXX,1,Dial(SIP/${EXTEN},,m)
;правила для входящих звонков
[incoming]
; _X. → любой входящий номер на абонентов 101 и 102, после подождать 60 секунд и потом звонок сбрасывается
exten => _X.,1,Dial(SIP/101&SIP/102,60,m,tT)
На заметку:
- X — цифра от 0 до 9
- Z — цифра от 1 до 9
- N — цифра от 2 до 9
- [1234-6] — цифтра от 1,2,3,4,5,6
m — проигрывать звонящему абоненту музыку ожидания
t — разрешает ответившему пользователю перевести звонок
T — разрешает звонящему пользователю перевести звонок
Теперь чтобы позвонить из вне (к примеру с мобильного) на мою АТС, нужно
8-495-777-66-75 затем на предложение вводим номер абонента (Ваш логин в системе Zadarma.com), т. е. 424732 и начинают звонить оба телефонных аппарата с номерами 101 и 102
Теперь чтобы позвонить с внутреннего номера во вне, нужно
набираю свой мобильный с внутреннего номера 102
7-9XX-XXX-XX-XX ожидаю пока пройдет соединение будет несколько гудков (более 4 точно) а тем временем на мобильном телефоне отображается исходящий номер:
- 7-495-776-29-87
- 7-495-920-24-25
(я звонил пару раз).
Работает. На этом третья заметка завершена, с уважением автор блога — ekzorchik.