Архитектурные отличия PJSIP от chan_sip
Мы успешно освоили работу с конфигурационными файлами и научились интегрировать ручные правки в логику FreePBX. До этого момента мы рассматривали Asterisk через призму классического драйвера chan_sip. В 2026 году он официально признан устаревшим (legacy). Ему на смену пришел PJSIP — мощный, модульный и масштабируемый стек.
Переход на PJSIP — это не просто обновление модуля. Это смена архитектурного мышления: от линейных списков настроек к гибкой объектной модели.
Почему индустрия отказалась от chan_sip
Драйвер chan_sip создавался, когда задачи были простыми: один IP-аппарат — один номер. Со временем он превратился в «монолит», где в одной секции перемешаны сетевые параметры, авторизация и правила набора.
Основные проблемы старого стека:
- Однопоточность: все SIP-сообщения обрабатываются в один поток. При высокой нагрузке это создает «бутылочное горлышко».
- Сложность с NAT: механизмы обхода сетевых преград часто требовали «костылей».
- Ограниченность: нельзя зарегистрировать несколько устройств на одну учетную запись без создания дополнительных внутренних номеров.
PJSIP (на базе библиотеки pjproject) решает эти проблемы за счет многопоточности и четкого разделения зон ответственности.
Объектная модель PJSIP
В chan_sip мы описывали сущность в файле sip.conf одним блоком. В PJSIP настройки разделены на логические компоненты. Это конструктор: вы создаете детали и соединяете их.
Основные объекты PJSIP:
- Endpoint (Конечная точка): ядро настроек. Определяет контекст диалплана, разрешенные кодеки и управление сессией. Это «личность» устройства.
- Auth (Аутентификация): хранит логин и пароль. Один объект Auth могут использовать разные эндпоинты.
- AoR (Address of Record): определяет, куда Asterisk отправляет пакеты, и хранит информацию о регистрациях.
- Transport (Транспорт): описывает сетевой уровень (UDP/TCP/TLS, IP-адрес и порт).
- Identify (Идентификация): по этому механизму Asterisk понимает, какой именно Endpoint должен обработать входящий запрос (например, по IP-адресу источника).
Взаимосвязь этих компонентов представлена на Схеме 1.
Преимущества для корпоративных сетей
Для администратора PJSIP открывает возможности, которые раньше были слишком сложными в реализации.
Множественная регистрация (Multi-AoR)
Сегодня норма, когда у сотрудника есть настольный телефон, софтфон на ноутбуке и мобильное приложение. В chan_sip пришлось бы создавать три номера и объединять их в группу вызова. В PJSIP мы разрешаем объекту AoR принимать до 5 регистраций одновременно. При звонке на номер зазвонят все устройства сразу 📟
Работа с NAT и TLS
PJSIP корректнее обрабатывает заголовки SIP при прохождении через роутеры. Поддержка TLS реализована нативно, что критично для безопасности корпоративной связи.
Сравнение стеков
| Характеристика | chan_sip (Legacy) | PJSIP (Modern) |
|---|---|---|
| Структура | Плоская (одна секция на всё) | Объектная (разделение функций) |
| Производительность | Ограничена одним ядром CPU | Масштабируется на все ядра ⚡ |
| Регистрации | 1 устройство на 1 аккаунт | Множество устройств на 1 аккаунт |
| Поддержка WebRTC | Сложная настройка | Полная, «из коробки» |
| Разработка | Заморожена | Активно развивается |
PJSIP в интерфейсе FreePBX
FreePBX маскирует сложность PJSIP, объединяя параметры Endpoint, Auth и AoR в одну форму Extension.
Однако в «подвале» настроек (вкладка Advanced) вы найдете параметр Max Contacts. Это настройка объекта AoR, позволяющая реализовать множественную регистрацию.
Важно: понимание того, что за одним «номером» во FreePBX стоят пять разных объектов Asterisk, поможет вам диагностировать сложные проблемы. Например, когда регистрация активна, но вызовы не проходят из-за ошибок в объекте Identify или Transport.
Мы разобрали фундамент современных каналов связи. Теперь, когда вы знаете, из каких кирпичиков состоит транк PJSIP, мы готовы к практике.
В следующей теме мы настроим связь с оператором и разберем конфигурацию каждого объекта PJSIP для стабильной работы вашей АТС.
Понравился урок?
Сохраните прогресс и получите персональный курс по любой теме — без форм и паролей
Продолжить в Telegram