Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

ERR-SIP-TRUNK-UNREACHABLE IP-Телефония и СКУД

SIP-транк отваливается (Unreachable): настройка Qualify и Keep-Alive в Asterisk

Обновлено: 27.08.2026 · Официальная документация ↗

Симптомы: входящие звонки не поступают, транк «засыпает»

Утром или после периода неактивности клиенты не могут дозвониться в компанию — в трубке звучит «Абонент временно недоступен» или короткие гудки. При этом исходящие звонки работают, и сразу после совершенного исходящего звонка входящая связь внезапно восстанавливается. В консоли Asterisk транк светится красным:

Contact provider-trunk/sip:provider.ru is Unreachable. State: Non-qualified. RTT: 0.000 ms

Причины периодического засыпания транка

Фактор сбояПочему это происходитРешение в настройках
Таймаут NAT-таблицы роутераРоутер закрывает открытый UDP-порт через 30–60 секунд бездействияВключить постоянный пинг keep-alive / qualify
Смена IP при регистрацииПровайдер ожидает перерегистрацию, но таймер не истекУменьшить registration_expiration до 120 с
Блокировка провайдером OPTIONSПровайдер считает частые опросы флудомУвеличить интервал qualify до 60 секунд

Почему транк «засыпает» без звонков?

Если ваш сервер телефонии находится за офисным роутером (NAT), роутер открывает временное «окно» для входящих пакетов из интернета только тогда, когда сервер сам отправляет что-то наружу. Если звонков нет 2-3 минуты, роутер закрывает трансляцию портов в своей таблице NAT, и сервер провайдера больше не может доставить входящий звонок до вашей АТС.

Как заставить Asterisk удерживать канал открытым (Keep-Alive)

Вариант 1. Для современного драйвера PJSIP (pjsip.conf)

Добавьте опрос провайдера специальными короткими служебными пакетами SIP OPTIONS каждые 25–30 секунд (это сбрасывает таймер NAT роутера):

[provider-aor]
type = aor
contact = sip:provider.telecom.ru:5060
qualify_frequency = 25       ; Пинговать провайдера каждые 25 секунд!
qualify_timeout = 3.0         ; Таймаут ответа в секундах

[provider-reg]
type = registration
outbound_auth = provider-auth
server_uri = sip:provider.telecom.ru:5060
client_uri = sip:74951234567@provider.telecom.ru:5060
expiration = 120              ; Перерегистрация каждые 2 минуты

Вариант 2. Для старого драйвера chan_sip (sip.conf)

[rostelecom]
type = peer
host = provider.telecom.ru
qualify = yes                 ; Включить опрос Keep-Alive (каждые 60 сек)
qualifyfreqok = 25000         ; Опрашивать каждые 25000 мс (25 сек)
nat = force_rport,comedia     ; Корректная обработка NAT
insecure = port,invite

Перезагрузите модуль телефонии:

# Для PJSIP:
asterisk -rx "pjsip send qualify provider-trunk"
asterisk -rx "pjsip show endpoints"

# Для CHAN_SIP:
asterisk -rx "sip reload"
asterisk -rx "sip show peers"

Совет: В настройках FreePBX откройте Connectivity → Trunks → ваш транк → вкладка pjsip Settings → Advanced и установите параметр Qualify Frequency = 25.

💡 Практика специалистов: Классический симптом «утром первый входящий звонок не проходит, а потом весь день все работает» — 100% признак отсутствия keep-alive. Выставите qualify_frequency = 25 во всех транках и телефонах, и связь перестанет засыпать.

Частые вопросы (FAQ)

Что означает статус «Reachable» и значение RTT (например, 12 ms)?

Статус Reachable означает, что транк активен и отвечает на сигналы. RTT (Round Trip Time) — это сетевой пинг до сервера провайдера в миллисекундах (норма: от 5 до 40 ms).

Что делать, если провайдер не отвечает на пакеты SIP OPTIONS?

Некоторые операторы связи блокируют пакеты OPTIONS. В этом случае в PJSIP укажите <code>qualify_frequency = 0</code> (отключить опрос), но уменьшите интервал перерегистрации <code>expiration = 60</code>.

Поможет ли настройка UDP Timeout на роутере?

Да! На продвинутых роутерах (например, MikroTik) увеличьте значение <i>IP &rarr; Firewall &rarr; Connections &rarr; Tracking &rarr; UDP Timeout</i> со стандартных 10 секунд до <b>300 секунд</b>.

Почему транк падает только по выходным дням?

Потому что в выходные нет активного исходящего трафика сотрудников, и таймаут сессии NAT на роутере успевает гарантированно истечь при отсутствии настроенного <code>qualify</code>.

Полезные материалы
Рекомендуем