Разбираю как настроить транки

Posted by

Развернут консольный 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.