SIP Error 436 Bad Identity-Info: диагностика URI сертификатов STIR/SHAKEN
- Сброс исходящего вызова оператором со статусом
SIP/2.0 436 Bad Identity-Info. - Проверяющий софтсвитч не может загрузить или десериализовать сертификат x.509 по ссылке из заголовка
Identity/Identity-Info. - Таймаут или ошибка 404/403 при запросе к репозиторию публичных ключей (x5u URL).
1. Причины возникновения ошибки по RFC 8224
При верификации STIR/SHAKEN принимающая сторона парсит заголовок Identity и извлекает URL сертификата из параметра x5u (X.509 URL):
Identity: eyJhbGciOiJFUzI1NiIsInBwdCI...;info=<https://invalid-certs.com/cert.pem>;alg=ES256Ошибка 436 возвращается в следующих случаях:
- URL в параметре
info/x5uимеет некорректный синтаксис или неподдерживаемую схему (разрешен только HTTPS). - DNS-имя репозитория сертификатов не резолвится проверяющим узлом.
- Web-сервер с сертификатом возвращает HTTP ошибки 404 Not Found, 403 Forbidden или не отвечает по таймауту.
2. Проверка доступности публичного репозитория x5u
Выполните тестирование доступности файла сертификата с внешнего хоста:
curl -Iv https://certs.yourcompany.com/passport_cert.pemТребования к серверу сертификатов:
- Сертификат Web-сервера (HTTPS) должен быть выдан доверенным публичным CA.
- Файл сертификата должен быть в формате PEM и доступен по прямому GET-запросу без редиректов.
3. Корректировка x5u в конфигурации Asterisk (stir_shaken.conf)
Укажите корректный публичный URL в /etc/asterisk/stir_shaken.conf:
[my-cert]
type=certificate
path=/etc/asterisk/keys/cert.pem
public_key_path=/etc/asterisk/keys/pub.pem
private_key_path=/etc/asterisk/keys/priv.pem
x5u=https://public-repo.yourcompany.com/certs/cert.pemПерезагрузите модуль STIR/SHAKEN:
asterisk -rx "module reload res_stir_shaken.so" Частые вопросы (FAQ)
Разрешено ли использовать схему HTTP (без шифрования) в параметре x5u?
Нет. Стандарты RFC 8224 и ATIS-1000080 строго требуют использования защищенного протокола HTTPS для предотвращения подмены публичного ключа (Man-in-the-Middle).
Какой тайм-аут дается проверяющей стороне на скачивание сертификата по x5u?
Обычно не более 500-1000 мс во избежание задержки установления голосового соединения (Post Dial Delay). Если сервер не уложился в тайм-аут, вызов сбрасывается с ошибкой 436.
Кэшируют ли софтсвитчи сертификаты STIR/SHAKEN?
Да, подавляющее большинство серверов кэшируют сертификаты в соответствии с заголовками HTTP Cache-Control / Max-Age, чтобы не запрашивать файл при каждом звонке.
Что делать, если x5u расположен во внутреннем закрытом контуре VPN?
Сертификаты STIR/SHAKEN обязаны находиться в публично доступном CDN/веб-сервере, иначе внешние операторы никогда не смогут проверить валидность ваших вызовов.