Chan_SIP vs PJSIP

25 июня 2026, 15:13

  Если вы все еще используете 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