Pjsip или chan sip

Pjsip или chan sip

Не буду писать о том, что такое PJSIP и почему он теперь есть. И без меня писателей хватает, поэтому быстренько пробежимся по настройкам, и основным моментам для тех, кто использовал chan_sip.
Главная проблема при переходе заключается в том, что в PJSIP добавили гибкости, причем в таких количествах, что ей подавиться не сложно. Для каждого пира (теперь он называется endpoint) нужно сделать несколько секций (входящая и исходящая авторизация, регистрация, сам endpoint и еще несколько). Но, через какое-то время передумали и добавили модуль pjsip wizard, который, при загрузке сам сделает что нужно. На него-то и будем рассчитывать. В ubuntu-server 18.04 LTS Asterisk версии 13, древненько но пусть будет.

Первое, что нужно чтобы перейти на PJSIP – это отключить старый chan_sip, чтобы не мешался. Отключать будем весь модуль, строкой

в modules.conf единственная настройка в конфиге pjsip.conf, которая понадобится – это настройка транспорта.

[udp-transport] protocol=udp bind=0.0.0.0

Тут все должно быть понятно. Эндпойнты настроем через pjsip_wizard.conf
Во-первых, для простоты писания создаем шаблон:

[office-template](!) type=wizard transport=udp-transport accepts_auth=yes accepts_registrations = yes aor/qualify_frequency=300 aor/max_contacts=1 inbound_auth/auth_type=userpass endpoint/disallow=all endpoint/allow=alaw,ulaw endpoint/dtmf_mode = rfc4733 endpoint/context = office endpoint/direct_media=no

и начинаем создавать эндпойнты:

[office11](office-template) inbound_auth/username=office11 inbound_auth/password=123435 [office12](office-template) inbound_auth/username=office12 inbound_auth/password=12345

Конфиг каждого визарда состоит из «глобальной части» и настроек разных секций. В зависимости от accepts_auth или send_registration wizard сам генерирует нужные секции и свяжет их, а все настройки вида section/* — попадут прямо в указанную секцию. Тут кроется небольшой подводный камень: если конфиг написан не корректно (например, в какой-то секции указан не существующий параметр) при загрузке визард проверять этого не будет, но астериск не позволит создать косячную секцию и разрешит наделать остальные. Поэтому вполне может оказаться, что wizard создаст aor, auth, registration, но не сделает endpoint. Тут нужно внимательно читать логи — в них мелким шрифтом будет указано, что не нравится.
Перезагрузка настройка выполняется командой pjsip reload. А вот удобного аналога sip show peers нам не завезли (или я плохо искал), кто сейчас в онлайне посмотреть можно через pjsip show endpoints или pjsip show aors, но вместо удобной таблички там каша.
И не забываем, в диалплане использовать канал PJSIP:

Читайте также:  Hp smart array p400i

Ну и напоследок, волшебник для zadarma:

[zadarma] type=wizard sends_registrations=yes sends_auth=yes remote_hosts=sip.zadarma.com transport=udp-transport aor/qualify_frequency=1000 aor/max_contacts=3 outbound_auth/auth_type=userpass endpoint/disallow=all endpoint/allow=alaw,ulaw endpoint/dtmf_mode=rfc4733 endpoint/context=incoming-zadarma endpoint/direct_media=no endpoint/from_user=1234 endpoint/from_domain=sip.zadarma.com outbound_auth/username=1234 outbound_auth/password=secret registration/retry_interval=60 registration/expiration=120

Таким же образом настраиваются 90% VoIP провайдеров

Материал из Xgu.ru

PJSIP — мультимедийная коммуникационная библиотека, написанная на Си. Поддерживает такие протоколы как SIP, SDP, RTP, STUN, TURN, и ICE. Работает на различных платформах, начиная с хэндсетов и мобильных устройств и заканчиваея высоконагруженными серверами IP-телефонии. Начиная с Asterisk 12 (частично) и Asterisk 13 (полноценно) поддерживается для осуществления звонков программной АТС Asterisk.

PJSIP отличается тем, что он очень хорошо работает с различными брандмауэрами и NAT’ами, как в составе Asterisk-сервера, так и на клиентских устройствах.

Первый доступный релиз был сделан в 2005 году, это была версия 0.2.

Рейтинг статьи: 0.000/5 (0 голосов).

В связи с тем, что в 13 версии Asterisk включили поддержку RFC 3966, появилась возможность подключить Asterisk к Белтелеком по IMS или Максифон.

Спонсор этой страницы:

Выбор сервера

В связи с тем, что Elastix пока еще не поддерживает версию Asterisk 13, я использовал 64 битную FreePBX 13

Предварительная настройка сервера

В FreePBX для работы с SIP протоколом включили 2 модуля:
chan_sip и chan_pjsip. В результате экспериментов chan_pjsip отключил и оставил только chan_sip.
Общие настройки/Дополнительные настройки/SIP Channel Driver : chan_sip

В данной версии FreePBX порт 5060 привязали к chan_pjsip, а к chan_sip — 5061. Пришлось менять После чего проверяем порт 5060:
Общие настройки/Asterisk SIP Settings/Chan SIP Settings порт 5060
Многие операторы советуют включать SRV Lookup
Включается на этой же странице.

Построение SIP trunk

После разбора примеров и советов все заработало

Читайте также:  Установка tia portal v14

Секция General
Название транка: 275249xxxxxx
Исходящий CallerID:249xxxxxx

Секция SIP Общие настройки
секции Outgoing, опции PEER и Incomming USER одинаковые

username=+375249xxxxxx@ims.beltel.by
type=friend
secret=пароль
Qualify=yes
nat=force_rport,comedia
insecure=port,invite
host=93.85.255.188
fromuser=+375249xxxxxx
fromdomain=ims.beltel.by
disallow=all
context=from-trunk
description=maxifon
allow=ulaw,alaw
transport=udp
encryption=yes
port=5060
callerid=249xxxxxx
keepalive=45

Строка регистрации:
+375249xxxxxx@ims.beltel.by:пароль:"+375249xxxxxx@ims.beltel.by"@93.85.255.188/+375249xxxxxx

Входящая маршрутизация

Описание: +375249xxxxxx
Номер DID: +375249xxxxxx
Установить направление: Внутренние номера или группы вызова

Исходящая маршрутизация

Секция Настройки маршрутов
Название маршрута: +375249xxxxxx
Последовательность транков для совпавших маршрутов
+375249xxxxxx

Секция Dial Patterns
Префикс 9
Совпадение шаблона .
При необходимости в секции CallerID указывается внутренний номер, кому разрешено использовать данный маршрут.

Глюки

При входящем звонке не определяется номер звонящего. Пока не выяснил.

Используемая литература

На этом пока все, удачи.

Комментарии к статье:

Добрый день. Подскажите надо ли включать srtp ?

У меня все ок заработало без дополнительных манипуляций. Но после 5 минут разговора пропадает звук в одну из сторон, а в логах free[bx res_srtp.c: SRTP unprotect failed with: authentication failure 10

Таже фигня, после 5 минут пропадает звук

Таже фигня, после 5 минут пропадает звук

А как у вас дела с сохранением значения в строке регистрации? У меня все, что после двойного апострофа после применения обрезается.

А как у вас дела с сохранением значения в строке регистрации? У меня все, что после двойного апострофа после применения обрезается.

А как у вас дела с сохранением значения в строке регистрации? У меня все, что после двойного апострофа после применения обрезается.

А как у вас дела с сохранением значения в строке регистрации? У меня все, что после двойного апострофа после применения обрезается.

Строку регистрации пишите без кавычек. Проверено, работает. Но есть проблема с тишиной после 5 минут.

Читайте также:  Где находится файл sam

Уважаемый ded ответил здесь https://forum.asterisk.ru/viewtopic.php?f=3&t=4104&start=50

Проблема решена через выставление параметра ignoresdpversion=yes на пирах Белтелеком.

Белтелекомовский свич шлет замены SRTP ключей не меняя версии SDP (с его точки зрения она всегда =0), что есть нарушение стандарта.
Asterisk в этой ситуации просто не менял ключи, что приводило несогласованности SRTP с разных сторон.

Ваши отзывы и предложения по работе сайта направляйте на форму обратной связи.

Ссылка на основную публикацию
Lg 42px4rv не включается
Последние вопросы _user*****@mail.ru Телевизоры LG 42PX4RV Добрый день. Телевизор LG 42PX4RV перестал включаться ни через пульт, ни через кнопки, в...
Hc red 3 что это такое
Оттенок "шоколад" ) +Разбор состава :) После чего решила перейти на натуральные красители смотрите тут . Помимо этой неудачной окраски...
Hp smart array p400i
HP Smart Array P400 controller - первый контроллер в классе PCI-Express, обеспечивающий качественно новый уровень надежности и производительности работы серверов...
Mct 10 лицензионный ключ
В новой версии программы оптимизирован процесс мониторинга, диагностики и определения аварий, добавлены два функциональных модуля Status plug-in и Motor plug-in....
Adblock detector