Настройка pjsip транка ватс ростелекома на freepbx
Как подключить провайдера по PJSIP с регистрацией или без неё? На этот вопрос я дам ответ в статье на примере подключения к популярным провайдерам. Статья входит в цикл статей по PJSIP: Установка Asterisk 16 на centos 8 TLS SRTP для драйвера PJSIP в Asterisk 15 Pjsip. Базовая настройка. Идеология настройки. Описание параметров конфигурации PJSIP в […]
Как подключить провайдера по PJSIP с регистрацией или без неё? На этот вопрос я дам ответ в статье на примере подключения к популярным провайдерам.
Статья входит в цикл статей по PJSIP:
Раскрывать секреты подключения транков по PJSIP будем на FreePBX Distro 15 с Asterisk 16.
Транк в Asterisk настраивается в текстовом файле /etc/asterisk/pjsip.conf , который внутри поделён на так называемые секции. В FreePBX pjsip.conf разделён на отдельные файлы по основным секциям через опцию include. Для подключения к провайдеру нужно прописать настройки в секциях transports, endpoint, aor, auth, registration, identify.
Начнём с transports
Она отвечает за то по какому протоколу будет осуществляться подключение доступные UDP, TCP, WebSockets (WS, WSS) и методы шифрования TLS/SSL.
Есть важное ограничение при создание секций транспорта:
Они не могут использовать одну и ту же комбинацию IP + порт или IP + протокол. То есть каждая секция, которая связывается с тем же IP-адресом, что и другая, должна использовать отличный порт или протокол.
При изменение настроек протоколов для их применения необходимо перезагрузить Asterisk. Можно обойтись и без перезагрузки если выставить опцию на транспорте allow_reload=yes, однако он приводит к сбросу вызова и еще ряду проблем.
Сделать это лучше через консоль :
Можно перезагрузить и через интерфейс CLI командой
freepbx*CLI> core restart now
Чтобы войти в интерфейс CLI на сервере введите
Посмотрим в CLI изменился ли транспорт для этого вводим команду
freepbx*CLI> pjsip show transports
Файл pjsip.transports.conf который был автоматически сгенерирован FreePBX, имеет теперь вот такую секцию транспорт
Транспортный протокол задан можно переходить к созданию транка. Создадим его в веб-интерфейсе FreePBX, а затем посмотрим что там произошло в файлах.
Итак в браузере открываем веб-интерфейс нашей станции.
Если вы не знаете как перейти на веб-интерфейс, то окно приветствия вам напомнит.
Консольное окно сервера с FreePBX
Начальная страница в веб-интерфейсе FreePBX
Подключение к оператору Zadarma
Откроется окно Add Trunk вкладка General.
- Trunk Name – Имя транка (обычно <название оператора>_<номер транка>) может быть любым
- Hide CallerID – спрятать CID при исходящем вызове.
- Outbound CallerID – CallerID для исходящего вызова.
- CID Options – определяет какие CID будут разрешены в этом транке – разрешить все, запретить иностранные и т.д.
- Maximum Channels – максимальное количество одновременных исходящих вызовов для этого транка. Пустое значение без ограничений.
- Asterisk Trunk Dial Options – параметры команды Dial, которые будут использоваться при вызове этого транка. Для переопределения параметров по умолчанию, установите флажок в значение «Override», а затем обратно
- Continue if Busy – если Yes перенаправляет вызов на следующий транк даже если канал сообщает «BUSY» или «INVALID NUMBER».
- Disable Trunk – отключает транк.
- Monitor Trunk Failures – если установлен параметр в значение Yes, возможно указать пользовательский сценарий AGI, который будет вызываться для отчетов, журналов, электронной почты или других действий при падении транка или в случаях таких ошибок как NOANSWER, CANCEL.
Я заполнил только название транка, т.к. на этом транке Outbound CallerID будет заменен оператором на иной, а остальные опции мне не нужны.
Переходим к вкладке pjsip Settings, в ней ещё 3 подвкладки General, Advanced, Codecs. Идём по порядку General в ней указываем:
- Username – сюда указываем тот логин что выдает оператор
- Secret – пароль выданный оператором для этого транка
- Authentication – тип аутентификации обычно Outbound, меняйте только если этого требует оператор. Если вы выберете «None», все вызовы с или на указанный SIP-сервер не проходят аутентификации. Установка «None» может быть небезопасной!
- Registration – как регистрируемся на сервере оператора и нужно ли его регистрировать. Обычно операторы не отвечают на наш запрос о регистрации, так что оставляйте Send. Если только оператор не требует иного.
- Language Code – язык для стандартных голосовых подсказок.
- SIP Server – SIP адрес оператора, обычно выдается вместе с логином и паролем
- SIP Server Port – SIP порт сервера
- Context – контекст для входящего звонка
- Transport – выбираем транспортный протокол, из тех что мы задали ранее.
Подвкладка Advanced здесь много настроек не бойтесь, нам нужны не все, а только вот такие:
- Contact User – сюда указываем тот логин что выдает оператор
- From Domain – имя домена, используемое в заголовке поля From в запросах к этому транку.
- From User – всё тот же логин, что выдаёт провайдер.
- Client URI – URI SIP-клиента, используемый при попытке исходящей регистрации. Этот параметр автоматически генерируется УАТС, если оставить его пустым. Формат: sip:[username]@[ip]:[port].
- Server URI – URI SIP-сервера регистрации. Этот параметр генерируется автоматически, если оставить его пустым. Формат: sip:[username]@[ip]:[port].
- AOR Contact – Постоянный контакт AoR для регистрации endpoint.
Support Path – Если этот параметр включен, исходящие запросы REGISTER объявят о поддержке заголовка, чтобы промежуточные прокси-сервера могли добавлять их в свои заголовки по необходимости.
Вкладка Advanced в pjsip Setting
В подвкладке Codecs по умолчанию стоят кодеки ulaw и alaw т.к. их поддерживают большинство (если не все) IP-телефонов и софтфонов оставим без изменения.
Жмём Submit , затем Apply Config.
freepbx*CLI> pjsip show registrations
Если вы не видите заветного Registered
Ну вот можно теперь можно посмотреть как наш транк сконфигурирован в файлах.
Эта статья является этапом курса по настройке FreePBX 14:
Прежде всего в FreePBX 14 должен быть включен SRV Lookup. О том, как это сделать мы рассказывали в статье.
Исходные данные провайдера:
После этого переходим в раздел Connectivity → Trunks и нажимаем кнопку + Add Trunks . Из полученного списка следует выбрать + Add SIP (chan_sip) Trunk .
SIP-транк с регистрацией
General
Прежде всего приведем описание опций:
sip Settings
Прежде всего данная вкладка отвечает за исходящие и входящие вызовы.
Outgoing
Прежде всего настроим исходящие вызовы в PEER Details:
Incoming
Подобным образом настроим входящие вызовы.
USER Context
USER Details
Register String
Большинство VoIP-провайдеров требуют регистрацию на их платформе. Формат строки регистрации:
Многие провайдеры также требуют указание DID номера, следовательно строка регистрации будет иметь следующий вид:
Проверяем регистрацию в: Reports → Asterisk Info → Registries:
При использовании SIP-транка без регистрации (по IP), необходимо учитывать следующее:
Для создания SIP-транка в FreePBX 14 БЕЗ регистрации следует указывать только опции PEER (Outgoing):
FreePBX 14 SIP транк настроен. В заключении следует напомнить, что следующим этапом необходимо настроить правила маршрутизации (входящей/исходящей).
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
С недавнего времени компания Ростелеком предлагает услуги виртуальной АТС под название «Новая телефония». Для компаний, которым недостаточно сервисов виртуальной АТС или же у которых уже есть своя IP АТС Asterisk, есть возможность подключения «Новой телефонии» в режиме транков. Об этом пойдет речь далее в статье.
После залогинивания необходимо переключиться в режим управления доменом (переключатель находится в правом верхнем углу).
Для подключения к АТС Asterisk, необходимо добавить пользователя.
В окне настройки пользователя необходимо внести данные:
Отображаемое имя — любое имя
Логин — логин который будет использоваться в транке
Пароль — также будет использоваться в транке в параметре secret
Повтор пароля
Остальные параметры можно не заполнять
На стороне Астериска настройки транка стандартны.
[new-rt]
username=логин
type=friend
secret=пароль
qualify=yes
nat=yes
insecure=invite,port
host=домен_ростелеком
hassip=yes
hasiax=no
hasexten=no
fromuser=логин
fromdomain=домен_ростелеком
dtmfmode=rfc2833
disallow=all
canreinvite=no
allow=ulaw&alaw
После регистрации транка в разделе Маршрутизация > Правила маршрутизации необходимо настроить входящую маршрутизацию на созданного пользователя.
Данных настроек достаточно для работы «Новой телефонии» от Ростелеком с IP-PBX Asterisk
Мы продолжаем цикл статей по библиотеке PJSIP, в этой статье будет подключение абонентов на примере FreePBX Distro 15 (Asterisk 16). Статьи по PJSIP: Установка Asterisk 16 на centos 8 TLS SRTP для драйвера PJSIP в Asterisk 15 Pjsip. Базовая настройка. Идеология настройки. Описание параметров конфигурации PJSIP в Asterisk с примерами Работа PJSIP за NAT Вопросы […]
Мы продолжаем цикл статей по библиотеке PJSIP, в этой статье будет подключение абонентов на примере FreePBX Distro 15 (Asterisk 16).
Статьи по PJSIP:
Приступим к подключению абонентов и по ходу разберём конфигурацию.
Добавление внутренних номеров задаётся в файле pjsip.conf по умолчанию расположен он в каталоге /etc/asterisk/. Файл внутри условно поделен на секции, а Freepbx разделяет секции на отдельные .conf файлы. Внутри секции разделяются именами, которые заключены в [квадратные скобки]. После идёт конфигурация содержащая в себе опцию и её значение через знак = равно.
Консоль сервера с FreePBX каталог etc/asterisk | grep pjsip
Файлы pjsip в каталоге /etc/asterisk
Конфигурационный файл pjsip.conf в FreePBX
Важно отметить, что редактировать файлы с пометкой "Do NOT edit this file as it is auto-generated by FreePBX." действительно не стоит, лучше перейти на веб-интерфейс и там производить настройку. Такие файлы обычно включают в себя кастомный аналог *название файла*custom.conf , который можно настраивать по своему желанию.Для подключения нам понадобятся секции endpoint, auth, aor и transport.
Transport
Секция transport. Настраивает протоколы для передачи данных. UDP, TCP, WebSockets (WS, WSS) и методы шифрования TLS/SSL.
Веб-интерфейс FreePBX вкладка Asterisk SIP Settings
Есть важное ограничение при создание секций транспорта:
Они не могут использовать одну и ту же комбинацию IP + порт или IP + протокол. То есть каждая секция, которая связывается с тем же IP-адресом, что и другая, должна использовать отличный порт или протокол.
Для простого звонка нам будет достаточно и базовых настроек FreePBX.
Веб-интерфейс FreePBX вкладка
Отмечу, что при изменение настроек протоколов для их применения необходимо перезагрузить Asterisk.
Можно обойтись и без перезагрузки если выставить опцию на транспорте allow_reload=yes, однако он приводит к сбросу вызова и еще ряду проблем.
Сделать это лучше через консоль :
Можно перезагрузить и через интерфейс CLI командой
freepbx*CLI> core restart now
Чтобы войти в интерфейс CLI на сервере введите
Посмотрим в CLI изменился ли транспорт для этого вводим команду
freepbx*CLI> pjsip show transports
Отлично, теперь рассмотрим конфигурацию этой секции на нашем примере.
Как узнать возможные варианты значений и параметры по умолчанию?
В этом поможет встроенная справка интерфейса командной строки (CLI):
config show help res_pjsip <секция> <опция>
Секция Endpoint
Endpoint определяет многочисленные параметры SIP , а также связь с такими секциями как auth, aor, transport. Endpoint по сути профиль для конечной точки, такой как телефон или удаленный сервер.
Веб-интерфейс FreePBX вкладка Extension
Во вкладке General
Add Extension
Этих настроек будет достаточно для простых звонков внутри локальной сети, да и для звонков через транк тоже вполне хватит.
Применяем настройки кнопкой Submit затем Apply Config.
После применения настроек, можно подключать нашего первого абонента.
Как настроить и установить софтфон или IP телефон можно найти у нас на сайте.
В CLI можно посмотреть настройки extensions с помощью команды
Теперь рассмотрим файл конфигурации endpoint, который был автоматически сгенерирован и выделим только самое необходимое, для создания вызова.
Веб-интерфейс FreePBX вкладка Add Extension
Читайте также: