Сергей Маликов
15.10.2024
18312

Реализация спаренных номеров (множественной регистрации) с помощью PJSIP

В данной статье покажем, как реализовать спаренные номера с помощью драйвера PJSIP.

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

При использовании SIP можно сделать чтобы при исходящих вызовах с нескольких аппаратов на другие добавочные отображался один и тот же номер и наборе одного (общего) номера вызывалось одновременно несколько аппаратов, но в этих аппаратах должны присутствовать разные аккаунты.

Можно создать очередь (например 600), и, если используется FreePBX, каждому добавочному в этой очереди прописать в настройках добавочного, вкладка Advanced, в поле CID  Num Alias общий номер 600.

Freepbx, SIP. Установка общего номера у добавочных при внутренних вызовах
Рис.1. Freepbx, SIP. Установка общего номера у добавочных при внутренних вызовах

В случае использования Asterisk Vanilla — переписать диалплан, где поправить callerID  на общий номер.

Asterisk, SIP смена у добавочного отображаемого номера при внутренних вызовах
Рис. 2. Asterisk, SIP смена у добавочного отображаемого номера при внутренних вызовах на общий номер.

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

Как реализовать вызов на несколько устройств с одним добавочным одновременно (спаренный номер).

  • Если используется FreePBX

Перейти в веб админке Applications→Extensions. Добавить новый экстеншен или открыть для редактирования добавочный, у которого необходимо изменить настройки.

Подробно о создании PJSIP экстеншенов см. в статье https://voxlink.ru/kb/asterisk-configuration/pjsip-podlyuchenie-abonentov-ideologiya-konfiga/

Добавление PJSIP добавочного
Рис.3 Добавление PJSIP добавочного  
PJSIP появился в Asterisk 13 (присутствует в Freepbx, начиная с версии 12). Для одновременного использования SIP и PJSIP нужно перейти Settings → Advanced Settings поле SIP Channel Driver установить «both». После этого перезапустить Asterisk.

На вкладке Advanced изменить значение в поле max-contacts (максимальное количество конечных точек). Например, если добавочный должен быть одновременно зарегистрирован на 5ти устройствах, установить 5. Нажать Subit, Applyconfig для применения.

Изменение max-contacts у PJSIP добавочного
Рис.4. Изменение max-contacts у PJSIP добавочного
  • Если используется голый Asterisk

В конфигурационном файле

[302]
type=aor
max_contacts=5   ;указать кол-во 

Для применения настроек в pjsip.conf. в консоли Asterisk выполнить

CLI> module reload res_pjsip
Если команд module reload res_pjsip не выполняется в консоли Asterisk, необходимо проверить наличие файлов модулей res_pjsip* в /usr/lib64/asterisk/modules, необходимо проверить настройки загрузки модулей res_pjsip* в файле /etc/asterisk/modules.conf. Если Asterisk не был скомпилирован и установлен с поддержкой PJSIP, то необходимо перекомпилировать его заново.

В файле extensions.conf необходимо в Dial вместо (PJSIP/${EXTEN}) использовать

exten => _XXX,1,Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})})

Для применения настроек в extensions.conf в консоли Asterisk выполнить

CLI> dialplan reload

После этого входящий вызов будет проходить на все устройства, где был зарегистрирован этот добавочный.

Отображение вызова на номер c множественной регистрацией в модуле CDR  и в БД, в таблице cel
Рис. 5. Отображение вызова на номер c множественной регистрацией в модуле CDR  и в БД, в таблице cel

Для вызова на каждое зарегистрированное устройство создается отдельный канал. Если в приложении, отображающем историю звонков, показывается информация по всем создававшимся каналам, например, как в модуле CDR, то вызов на спаренный номер будет отображаться как несколько вызовов, произошедших в одно и то же время в некоторых случаях

Отображение вызова на спаренный номер в консоли
Рис. 6. Отображение вызова на спаренный номер в консоли

В консоли и в sngrep также отображается, что при max-contacts>1 создается несколько каналов.

Отображение вызова на PJSIP номер с max-contacts > 1 в sngrep
Рис. 7. Отображение вызова на PJSIP номер с max-contacts > 1 в sngrep

Ограничение количества разговоров пиру.

  • Во FreePBX

Перейти Applications →Extensions → вкладка Advanced,  в секции Edit Etension будет параметр  Device State Busy at

Ограничение вызовов у добавочного в
Рис. 8. Ограничение вызовов у добавочного во FreePBX

Посмотреть линии можно в консоли Asterisk у определенного добавочного:

CLI> pjsip show endpoint 302

Рис. 9. PJSIP просмотр занятых линий
  • При использовании голого Asterisk

Параметр device_state_busy_at  указывается в конфигурационном файле pjsip.conf в секции endpoint. Например,

[302]

type=endpoint

device_state_busy_at = 1

Чтобы ознакомиться с другими особенностями PJSIP, см. статьи

https://voxlink.ru/kb/asterisk-configuration/vazhnye-funktsii-i-instrumenty-otlichajuschie-pjsip-ot-sip/

https://voxlink.ru/kb/asterisk-configuration/pjsip-base-setting-and-ideology/

Кейсы внедрения
Asterisk от VoxLink
Узнайте, какие крупные компании уже используют Asterisk в работе.
Скачать
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

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

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.