SIP Error 404 Not Found: ошибки маршрутизации и несуществующие номера
- Вызов сбрасывается с сообщением
SIP/2.0 404 Not Found. - Голосовое уведомление «Набранный номер не существует» или «User does not exist in domain».
- Вызовы внутри сети не доходят до вызываемого абонента.
1. Проверка регистрации целевого экстеншена
# В консоли Asterisk CLI
asterisk -rx "pjsip show endpoints"
asterisk -rx "pjsip show aors" | grep 102Если контакт отсутствует (Device Offline), звонок закономерно вернет 404 Not Found.
2. Проверка контекста входящей маршрутизации (Dialplan)
asterisk -rx "dialplan show 102@from-internal"Если номер не найден в указанном контексте, добавьте шаблон в extensions.conf:
[from-internal]
exten => _1XX,1,Dial(PJSIP/${EXTEN},30)
exten => _1XX,n,Hangup()3. Нормализация номеров перед отправкой в транк (E.164)
Операторы часто ожидают номер в международном формате:
; Преобразование 89991234567 в формат +79991234567
exten => _89XXXXXXXXX,1,Set(TARGET_NUM=+7${EXTEN:1})
exten => _89XXXXXXXXX,n,Dial(PJSIP/${TARGET_NUM}@provider_trunk) Частые вопросы (FAQ)
Почему при звонке на зарегистрированный телефон возвращается 404?
Телефон может быть зарегистрирован в контексте, отличном от контекста вызывающего абонента (например, public вместо from-internal), либо в запросе передан неверный SIP URI domain.
Что означает ошибка '404 User Not Found' от SIP-провайдера?
Провайдер не может найти вызываемый номер в своей таблице маршрутизации (неправильно набран номер, не хватает префикса страны или номер заблокирован).