Телефонизация
Интеграция с современными решениями.
Телефонизация бизнеса.
Заказать звонок с сайта
Мы будем перезванивать вам с номера
+74991137011
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности.

Транки в FreePBX 17: настройка, шаблоны и диагностика

Транк — это канал связи между вашей АТС и внешним миром. Через транк идут входящие звонки от клиентов и исходящие — вашим клиентам.

Без правильно настроенного транка FreePBX превращается в дорогую игрушку: внутри всё работает, а наружу — тишина.

Здесь собран полный справочник: готовых шаблонов под популярных операторов. Всё через веб-интерфейс, без консоли.
Заказать настройку транка
FreePBX 17 использует PJSIP как основной драйвер.
Chan-SIP (старый) в FreePBX больше не доступен!
Для новых транков используйте PJSIP — он быстрее, надёжнее и поддерживает WebRTC.

Переход на PJSIP: что вы получаете?

Высокая скорость вызовов, масштабирование на все ядра CPU, встроенное шифрование и готовность к WebRTC.

Настройка параметров PJSIP-транка

Где находится: Connectivity → Trunks → Add Trunk → Add PJSIP Trunk
Вкладка General
Поле
Описание
Пример
Trunk Name
Название транка цифрами или латиницей без пробелов
74991137011
Hide CallerID
Скрывать исходящий номер
no
Outbound CallerID
Что увидит в SIP заголовке SIP сервер оператора при вашем исходящем звонке
74991137011
CID Options
Эти настройки определяют, какие номера и имена вызывающего можно отправлять через этот транк. Как правило остается в дефолте.
Allow Any CID
Maximum Channels
Ограничивает, сколько исходящих звонков может одновременно идти через этот транк. Оператор сам ограничивает количество линий, задавать дополнительно не нужно
0
Continue if Busy
Это нужно для исходящих маршрутов. Когда используется несколько транков в исходящем маршруте. Позволяет переключаться на следующий, если по-текущему оператор отбивает звонок с Busy и Invalid number.
no
Disable Trunk
Включение / Отключение транка
no
Monitor Trunk Failures
Можно написать свой скрипт который будет срабатывать при каждом звонке и обнаруживать ошибки и делать какое-то действие
no

Вкладка Dialed Number Manipulation

Здесь указываются правила преобразования набранного номера перед отправкой в транк.
В текущих реалиях никогда не используется, все что нужно настраивается в outbound routes.

Вкладка pjsip Settings (General)

Это самая важная вкладка. Заполняется по данным из информационной карточки оператора.
Здесь собраны тонкие настройки SIP-соединения.

В 80% случаев их можно не трогать — стандартных значений достаточно. Но если провайдер капризный или вы работаете через сложную сеть — пригодится.
Поле
Описание
Пример
Username
Введите логин от вашего SIP-транка, который предоставил провайдер
user7011
Auth username
Введите AUTH логин, который предоставил провайдер, если не предоставил, то ничего не заполняете.
BB11_user7011
Secret
Введите пароль от вашего SIP-транка, предоставленный провайдером
Authentication
Если провайдер вам предоставил, логин, пароль, адрес сип сервера, то это транк с регистрацией. Выберите Outbound, Inbound, Both или None. Outbound — для стандартных исходящих транков провайдера. Inbound — если провайдер шлёт запросы на аутентификацию для входящих вызовов. Both — для взаимной аутентификации. None — если используется IP-авторизация
Outbound
Registration
Выберите Send, Receive, Both или None. Send используется для большинства транков (FreePBX регистрируется у провайдера). Receive — когда АТС провайдера регистрируется на вашей FreePBX (например, для приема звонков от другого офиса). None — для IP-транков, где регистрация не требуется
Send
Language Code
Обычно оставляйте Default или en (английский). Укажите код языка (например, ru), если ваш провайдер передает сигналы управления вызовом (как call-progress) на другом языке
default
SIP Server
Введите полное доменное имя или IP-адрес сервера провайдера
login.mtt.ru
SIP Server Port
UDP/TCP-порт, который используется для подключения к SIP-серверу.
5060
Context
Определяет, куда попадают входящие звонки с этого транка для маршрутизации. Если не писали custom контекст для обработки вызов, остается дефолтный from-pstn. В некоторых случая from-pstn-toheader
from-pstn
Transport
Протокол передачи для SIP-сигнализации и аппаратный интерфейс. Автоматически добавляются после включения в settings - asterisk sip settings
0.0.0.0-udp

Вкладка pjsip Settings (Advanced)

Управление вызовами и DTMF

  • DTMF Mode: Определяет метод передачи тонов набора (например, для навигации по голосовому меню).
  • RFC 4733 (рекомендуется): Передает DTMF как отдельные события RTP. Наиболее надежный и современный метод.
  • Inband: Передает DTMF в самом аудиопотоке (как звук). Менее надежен, может искажаться при сжатии.
  • INFO: Передает DTMF отдельными SIP-сообщениями INFO. Используется редко, обычно по требованию провайдера.

Регистрация и аутентификация

  • Send Line in Registration: Добавляет параметр line в Contact-заголовок при регистрации (line=yes). Позволяет провайдеру связать несколько учетных записей с одним IP-адресом. Полезно, если у вас несколько транков от одного провайдера.

  • Send Connected Line: Включает передачу обновленной информации о соединенной стороне (Connected Line), например, при переадресации.

  • Permanent Auth Rejection (auth_rejection_permanent): Определяет, считать ли провал аутентификации постоянной ошибкой.
  • Yes (По умолчанию): При ошибке аутентификации (например, неверный пароль) попытки регистрации полностью прекращаются до перезагрузки модуля.
  • No: Даже при ошибке аутентификации Asterisk будет повторять попытки согласно интервалам повторных попыток.
  • Allow Unauthenticated: Разрешает входящие звонки от источников, которые не прошли аутентификацию. Это полезно для IP-авторизации, где вы доверяете IP-адресу, а не логину/паролю. Используйте с осторожностью.
  • Forbidden Retry Interval, Fatal Retry Interval, General Retry Interval, Expiration, Max Retries: Управляют логикой повторных попыток регистрации (интервалы при разных типах ошибок, время жизни регистрации, максимальное число попыток)

Сеть и маршрутизация

  • Qualify Frequency: Интервал в секундах, с которым Asterisk отправляет OPTIONS-запросы для проверки доступности транка. Если запрос не получает ответ, транк помечается как недоступный. 0 = отключено.
  • Outbound Proxy: Позволяет направить весь SIP-трафик для этого транка через промежуточный прокси-сервер. Используется для подключения к провайдерам со сложной сетевой архитектурой, требующим этого.
  • User = Phone: Добавляет параметр; user=phone к SIP URI. Указывает, что в URI содержится телефонный номер, а не имя пользователя.
  • Contact User: Переопределяет имя пользователя в Contact-заголовке. Используется, для того, чтобы оператор отправлял входящий звонок на указанный вами DID, который вы укажите в inbound routes.
  • From Domain: Заменяет доменную часть в From-заголовке outgoing-запросов. Требуется некоторыми провайдерами для сопоставления с их сервером.
  • From User: Аналогично, заменяет имя пользователя в From-заголовке. При ошибках аутентификации может потребоваться установить его равным Username.
  • Client URI: URI, который Asterisk представляет при регистрации (идентифицирует клиента).
  • Server URI: URI сервера, на который направляется регистрация.
  • Media Address: Позволяет принудительно указать IP-адрес для медиа потока (RTP), отличный от адреса сигнализации. Полезно для сложных NAT-сценариев.
  • AOR (Address of Record): Связывает транк с объектом AOR, определяющим, как найти этот транк (обычно управляется FreePBX автоматически).
  • AOR Contact: Позволяет задать статический Contact-адрес для AOR, вместо динамического, получаемого при регистрации.
  • Match (Permit): Список IP-адресов или сетей (CIDR), которым разрешено отправлять входящие звонки на этот транк. Критически важно для входящих транков без регистрации.
  • Support Path: Включает поддержку механизма Path (RFC 3327), используемого в сложных сценариях с множеством прокси.

Факс и T.38

  • Support T.38 UDPTL: Включает поддержку протокола T.38 для передачи факсов через IP.
  • T.38 UDPTL Error Correction: Метод коррекции ошибок для T.38 (None, FEC, Redundancy).
  • T.38 UDPTL NAT: Включает механизмы для работы T.38 за NAT.
  • T.38 UDPTL MAXDATAGRAM: Максимальный размер датаграммы UDPTL для T.38.
  • Fax Detect: Включает детектирование факса по тону (CNG). Может конфликтовать с VoIP-кодеками.

Идентификация и Caller ID

  • Trust RPID/PAI: Указывает, доверять ли входящим заголовкам Remote-Party-ID и P-Asserted-Identity. При Yes Asterisk будет использовать эти заголовки для определения Caller ID входящего звонка.
  • Send RPID/PAI: Определяет, какие заголовки для передачи Caller ID включать в исходящие запросы. Обычно используется для корректной передачи номера при переадресации или на исходящий транк.
  • Send Private CallerID Information: Когда скрыт (Privacy=on), отправлять ли информацию о вызывающем абоненте все равно (для доверенных партнеров)

Протокол и медиа

  • Match Inbound Authentication: Default (требовать авторизацию, если есть auth-объект) или Always (всегда требовать).
  • Inband Progress: Показывать 183 Progress до ответа 200 OK, если провайдер отправляет в band-индикации.
  • Direct Media: Позволяет медиа потоку идти напрямую между сторонами, минуя Asterisk, после установления звонка. Экономит ресурсы сервера, но может быть проблематично за NAT.
  • Rewrite Contact: Переписывает IP-адрес в Contact-заголовке на адрес, с которого пришел запрос. Помогает с NAT.
  • RTP Symmetric: Переключает RTP-поток на порт, с которого приходят пакеты. Полезно для симметричной работы RTP за NAT.
  • Media Encryption: Включает шифрование медиа потока (SRTP) для защиты от прослушивания.
  • Force rport: Добавляет параметр rport в Via-заголовок, указывая удаленной стороне отправлять ответы на тот же порт, с которого пришел запрос. Ключевая настройка для работы за NAT.
  • Message Context: Определяет контекст в extensions.conf, который будет обрабатывать входящие SIP-сообщения (SMS) для этого транка

Типовая конфигурация Advanced параметров PJSIP транка freePBX

Ниже приведены параметры, которые изменяются в большинстве случаев при настройке транка. Если параметра нет в таблице, значит он остается в дефолтном положении.
Параметр
Пример
Зачем
DTMF Mode
RFC 4733
Чтобы работали нажатия в IVR меню, выставлять строго таким который передал вам оператор. Если оператор не передал вам в информационной карточке параметр DTMF в 95% случаев он использует старый rfc2833 который полностью совместим с RFC 4733
Expiration
600-1200
Завист от конфигурации оборудования оператора. Как правило, оператор указывает период перерегистрации транка в информационной карточке. Если не указали, то по опыту это от 600 до 1200 секунд.
Outbound Proxy
sip:адрес прокси
Оператор явно указывает, о том, что использет прокси сервер. Этот прокси задается тут в формате sip:адрес прокси сервера.
Contact User
74991137011
Переопределяете в contact на каком DID вы будете ожидать входящий звонок в inbound route
From Domain
login.mtt.ru
Как правило совпадает с SIP сервером который указал оператор. Если оператор указал конкретный from domain, указываете его.
From User
user7011
Как правило совпадает с username. Если оператор указал конкретный username с которого ожидает регистрацию, указать можно в этом параметре.
Inband Progress
yes
Полезно при диагностике снятием дампа трафика
Если транк уже был создан и работал, а вы просто поменяли какой-то параметр (например, порт или пароль) — изменения не применятся мгновенно к уже активным SIP-сессиям. Asterisk не перегружает транк сразу.

Вместо этого:

  • Текущие активные звонки через транк продолжают идти по старым настройкам.
  • Новые настройки начнут действовать только после того, как произойдёт переустановление SIP-сессии — то есть:
  • Истечёт время регистрации (обычно через 120–3600 секунд)

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

Outbound Routes: привязка транка к исходящим

Где: Connectivity → Outbound Routes → Add Outbound Route
  • Route Name: например `DEF out`
  • Trunk Sequence: выберите из выпадающего списка созданный транк
  • Dial Patterns: Паттерны по которым исходящий звонок будет попадать в данный маршрут

- `7XXXXXXXXXX` — все 11-значные российские номера
- `89XXXXXXXXX` — с восьмёркой

Остальные параметры можно оставить по умолчанию.

Submit → Apply Config

Failover: можно добавить несколько транков в Trunk Sequence — если первый недоступен, звонок пойдёт через второй. Например: Zadarma → МТТ → Ростелеком.

Inbound Routes: привязка к входящим

Где: Connectivity → Inbound Routes → Add Inbound Route

  • Description: Понятное имя маршрута или номер
  • DID Number: то, что вы указали в параметре Contact во вкладке advanced при создании транка
  • Set Destination: IVR, Queue, Ring Group, Extension

Остальные параметры можно оставить по умолчанию

Submit → Apply Config

Шаблоны конфигурации транков freePBX

Готовые шаблоны транков под популярных в России операторов для freePBX

    Самые частые проблемы с транками и их устранение

    Быстрая диагностика: ошибка → причина → решение
    Ошибка
    Вероятная причина
    Решение
    403 Forbidden
    Неверный логин/пароль или IP не совпадает
    Проверить Username/Secret, запросить у оператора корректные данные или свериться с информационной карточкой оператора
    408 Request Timeout
    Сервер оператора не отвечает
    Проверить SIP Server и порт, доступность из сети
    503 Service Unavailable
    Оператор отклоняет запрос
    Проверить формат номера, возможно оператор ждёт другой префикс
    No matching endpoint
    Транк не создан или не применён
    Проверить Apply Config, пересоздать транк
    All circuits are busy / Все линии заняты
    Заняты все каналы транка или набранный номер не попал под паттерн в outbound route. Оператор отбил звонок с ошибкой.
    Увеличить количество каналов транка у оператора. Проверить паттерны исходящего маршрута. Проверить регистрацию транка.
    Односторонняя слышимость
    NAT, firewall, кодек
    Проверить настройки NAT и firewall (порты 5060 и RTP 10000-20000)
    Не работает входящий звонок
    В логе No DID or CID Match
    Проверить, что DID из лога и Contact совпадает с DID во входящем маршруте
    Звонок обрывается через 30 секунд
    Не проходит RTP поток
    Проверить пробросы портов и Firewall, чтобы не блокировался трафик от оператора к вашему FreePBX по портам udp 10000-20000.
    Проверить настройку Nat в веб интерфейсе Settings → Asterisk SIP Settings → Nat Settings
    Вспомогательные материалы по настройке freePBX
    Телефонизация - Технический блог
    Пишем о решении проблем связанных с Asterisk, FreePBX, Issabel. Выкладываем шаблоны для подключения транков. Показываем как решить не типовые проблемы FreePBX
    Настройка FreePBX 17 — инструкции, шаблоны транков, решение проблем
    Всё о настройке FreePBX 17: инструкции, шаблоны транков, установка дистрибутива, частые ошибки и решения. Настройка под ключ с гарантией. 15 лет опыта.
    Часто спрашивают о транках
    Короткие ответы на главные вопросы начинающего администратора FreePBX
    • Вопрос
      Нужен ли статический IP?
      Ответ
      Для Registration — нет. Для IP Authentication — да.
    • Вопрос
      Сколько транков нужно для комфортной работы?
      Ответ
      Минимум два: основной и резервный. При отказе первого звонки пойдут через второй автоматически (failover в Outbound Route).
    • Вопрос
      Можно ли использовать один транк для входящих и исходящих?
      Ответ
      Да, один транк обрабатывает оба направления. Inbound Route — для входящих, Outbound Route — для исходящих.
    • Вопрос
      Как понять, что транк зарегистрирован?
      Ответ
      В CLI: pjsip show registrations
      В веб интерфейсе: Reports → Asterisk Info → Registrations

    Справитесь сами? Вот что может пойти не так

    Настройка транка по инструкции занимает 15 минут.
    Но на практике каждый третий сталкивается с «сюрпризами»: провайдер выдаёт неполные данные, порты блокирует файрвол, а звонок уходит не туда.

    Если хотите перестраховаться — наши инженеры возьмут на себя всё: от подбора оператора до тестирования в боевом режиме за 3000 рублей + неделя гарантии на предоставленную услугу.