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

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

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

NO_ROUTE_TO_DESTINATION IP-Телефония и СКУД

Сброс звонка в Asterisk: настройка диалплана и No route to destination

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

Симптомы ошибки маршрутизации вызовов:

  • Вы набираете номер коллеги или внешний номер клиента, но вызов мгновенно сбрасывается с быстрыми короткими гудками.
  • На дисплее IP-телефона появляется надпись: No route to destination, Call Failed или 404 Not Found.
  • В консоли Asterisk CLI выводится предупреждение: Call from '101' rejected because extension '205' in context 'from-internal' was not found.
  • Сотрудники внутри одного отдела могут звонить друг другу, но не могут перевести звонок в другой отдел.

Шаг 1. Анализ ошибки в живой консоли Asterisk CLI

Откройте терминал сервера и запустите консоль с подробным выводом сообщений:

asterisk -rvvvvv

Совершите проблемный звонок с аппарата. Найдите в выводе строку отказа. Если вы видите Sent into invalid extension 'XXX' in context 'YYY' — проблема на 100% заключается в файле extensions.conf.

Шаг 2. Проверяем соответствие контекста (Context)

Каждый внутренний номер привязан к определенной группе прав (контексту):

  1. Посмотрите, какой контекст назначен звонящему номеру в pjsip.conf (или sip.conf). Например: context=office-users.
  2. Откройте файл /etc/asterisk/extensions.conf и найдите блок [office-users].
  3. Убедитесь, что в этой секции прописано правило для вызываемого номера или включен общий внутренний контекст:
[office-users]
; Включаем правила внутренних звонков:
include => internal-phones
include => outgoing-calls

[internal-phones]
; Звонки на любые трехзначные номера (от 100 до 999):
exten => _XXX,1,NoOp(Звонок на номер ${EXTEN})
same => n,Dial(PJSIP/${EXTEN},30)
same => n,Hangup()

Шаг 3. Проверка шаблонов набора номеров (Шаблоны диалплана)

Спецсимволы правил набора в Asterisk всегда начинаются со знака подчеркивания _:

  • _XXX — любой 3-значный номер (100-999).
  • _XXXX — любой 4-значный номер (1000-9999).
  • _8XXXXXXXXXX — звонки на мобильные РФ через восьмерку (11 цифр).
  • _7XXXXXXXXXX — звонки через семерку.

Шаг 4. Применение нового диалплана

asterisk -rx "dialplan reload"
💡 Практика специалистов: Не забывайте добавлять команду same => n,Hangup() в конце каждой ветки диалплана: без явного Hangup незавершенные каналы могут зависать в оперативной памяти.

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

Зачем в начале правила диалплана ставится знак подчеркивания '_X'?

Знак подчеркивания указывает интерпретатору Asterisk, что дальше следует шаблон (регулярное выражение), а не точный статический номер.

Как в консоли быстро посмотреть правила для конкретного номера без открытия файла?

Выполните команду: dialplan show 105@from-internal. Консоль покажет все шаги выполнения вызова для этого номера.

Почему вызовы на мобильные номера сбрасываются, а внутри офиса работают?

В диалплане не настроена секция исходящей маршрутизации на SIP-транк провайдера связи, либо контекст учетной записи сотрудника не включает в себя секцию outgoing-calls.

Что означает параметр '30' в команде Dial(PJSIP/105,30)?

Это таймаут дозвона в секундах. Если вызываемый абонент не поднимет трубку в течение 30 секунд, вызов завершится или перейдет на следующий шаг диалплана (например, на голосовую почту).

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