SIP Error 424 Bad Location Information: ошибки геолокации и E911 / NG911
- Сброс экстренных вызовов (112, 911) с кодом
SIP/2.0 424 Bad Location Information. - В логах пограничного шлюза формируются сообщения
Invalid PIDF-LO XML bodyилиGeolocation Header missing/unauthorized. - Службы диспетчеризации отклоняют маршрутизацию вызова из-за отсутствия или повреждения географических координат абонента.
1. Анализ заголовка Geolocation и тела PIDF-LO по RFC 6442
Проверьте исходящий пакет INVITE в дампе трафика:
INVITE sip:911@emergency-proxy.net SIP/2.0
Geolocation: <cid:loc123@company.com>
Content-Type: multipart/mixed; boundary=boundary1
--boundary1
Content-Type: application/pidf+xml
<presence xmlns="urn:ietf:params:xml:ns:pidf" ...>
<geopriv><location-info>...</location-info></geopriv>
</presence>Ошибка 424 указывает на то, что прокси-сервер экстренной связи не смог распарсить XML-структуру PIDF-LO, URI местоположения недоступен (dereferencing error) либо координаты не соответствуют доверенному региону обслуживания.
2. Проверка и валидация XML схемы PIDF-LO
Убедитесь, что XML-документ соответствует RFC 4119 / RFC 5491:
- Присутствуют корректные пространства имен (Namespaces)
urn:ietf:params:xml:ns:pidf:geopriv10. - Корректно указаны координаты широты/долготы (WGS-84) или гражданский адрес (Civic Address: страна, город, улица, номер дома).
3. Конфигурация передачи Geolocation на SBC (Kamailio / OpenSIPS)
Если upstream-оператор требует явного указания местоположения, добавьте вставку заголовка в скрипте маршрутизации:
route[EMERGENCY_ROUTE] {
if ($rU =~ "^(112|911)$") {
# Добавление SIP Geolocation заголовка
append_hf("Geolocation: <https://loc.company.com/getloc?ext=$fU>\r\n");
append_hf("Geolocation-Routing: yes\r\n");
}
}4. Отключение требования Geolocation для неэкстренных маршрутов
Если ошибка возникает на обычном транке, удалите заголовок Geolocation перед отправкой вызова оператору:
# В диалплане Asterisk extensions.conf:
exten => _X.,1,NoOp(Stripping Geolocation)
same => n,Set(PJSIP_HEADER(remove,Geolocation)=)
same => n,Dial(PJSIP/${EXTEN}@carrier) Частые вопросы (FAQ)
Что такое PIDF-LO в контексте SIP-телефонии?
Presence Information Data Format Location Object (PIDF-LO) — это стандартизированная XML-структура (RFC 4119), инкапсулируемая в тело SIP-сообщения для передачи точных геодезических координат или почтового адреса звонящего.
В каких случаях обязательно требуется заголовок Geolocation?
В сетях связи нового поколения NG911 / NG112 при совершении вызовов в службы спасения, где оператор обязан автоматически передать координаты звонящего в диспетчерский центр.
Что означает заголовок Geolocation-Routing?
Он указывает промежуточным SIP-серверам, разрешено ли использовать переданные данные о местоположении для выбора следующего сетевого хопа (маршрутизации к ближайшему экстренному центру).
Как исправить ошибку 424, если она вызвана недоступностью ссылки dereferencing?
Если в заголовке Geolocation используется HTTP/HTTPS URI вместо прямого вложения XML (by-value), убедитесь, что сервер геолокации доступен для оператора без авторизации или с валидным сертификатом.