 |
Если вы все еще используете chan_sip в Asterisk, возможно, пришло время перейти на PJSIP. Многие инженеры изучали Asterisk в текущей реализации с каналом "chan_sip", и в течение многих лет это был стандартный способ настройки конечных точек SIP, но сегодня "PJSIP" является рекомендуемым драйвером канала, и не без оснований. Некоторые ключевые отличия:
- "chan_sip" устарел и больше не соответствует современным требованиям (не ясно - что именно там устарело? RFC не менялисььь)
- "PJSIP" более гибкий и модульный
- "PJSIP" более структурированно обрабатывает конечные точки, аутентификацию, AOR, правила идентификации, транспортировку и регистрацию. (стандартные определения, ничего не объясняющие. 47 файлов канала вместо одного)
- "PJSIP" обеспечивает улучшенную поддержку современных сценариев SIP, включая обработку NAT и более сложные развертывания.
Именно поэтому многие новые среды Asterisk построены непосредственно на "res_pjsip". Очень простой способ представить конфигурацию конечной точки в "PJSIP" заключается в следующем: конечная точка определяет поведение устройства, auth определяет учетные данные, aor определяет, где можно получить доступ к устройству (базовой конечной точке) обычно включает в себя:
- транспортировку
- контекст
- запрещать / разрешать кодеки
- авторизацию
- aors
- и во многих сценариях NAT используются такие опции, как "rewrite_contact", "force_rport" и "rtp_symmetric".
Таким образом, хотя "chan_sip" на первый взгляд может показаться более простым, "PJSIP" обычно дает вам более чистую и масштабируемую модель, как только вы понимаете, как все части сочетаются друг с другом, по моему опыту, самый большой сдвиг заключается не только в синтаксисе, но и в том, как вы начинаете думать об объектах SIP внутри Asterisk. Для инженеров, работающих с Asterisk, что было самым сложным при переходе с "chan_sip" на "PJSIP", синтаксис, устранение неполадок или изменение ментальной модели? Jose Antonio Tejeda
Senior VoIP Engineer | Asterisk / SIP Specialist |