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

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

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

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

SIP Error 608 Rejected: блокировка вызовов при проверке STIR/SHAKEN

Обновлено: 24.08.2026 · Официальная документация ↗
  • Исходящий вызов сбрасывается оператором с кодом 608 Rejected.
  • В SIP-ответе присутствует заголовок Reason: STIR-SHAKEN ;cause=... ;text="Signature verification failed".
  • Звонки блокируются при транзите между национальными и международными операторами связи.
  • В теле SIP INVITE отсутствует обязательный криптографический заголовок Identity.

1. Механизм защиты STIR/SHAKEN и статус RFC 8688 (SIP 608)

Код 608 Rejected указывает, что вызов был заблокирован промежуточным или терминальным узлом исключительно по причине неуспешной валидации идентификатора звонящего (STIR/SHAKEN Framework). Если цифровая подпись в заголовке Identity отсутствует, просрочена, не соответствует открытому ключу сертификата или аттестация (Attestation Level) имеет недопустимый уровень (например, уровень C вместо A), вызов отсекается.

2. Анализ заголовка Identity в пакете INVITE

sngrep -c -d any "608 Rejected"

Проверьте наличие и структуру заголовка Identity:

Identity: eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6IlBBU1Nwb3J0In0... ;
info=;alg=ES256;ppt=shaken

3. Уровни аттестации STIR/SHAKEN:

  • Full Attestation (A): Оператор полностью знает клиента и подтверждает его право на использование данного номера Caller ID.
  • Partial Attestation (B): Оператор знает клиента (источник вызова), но не может гарантировать право владения конкретным номером Caller ID.
  • Gateway Attestation (C): Вызов получен из непроверенного международного шлюза или транзита. Большинство сетей сбрасывают такие вызовы кодом 608.

4. Настройка генерации подписи STIR/SHAKEN в Asterisk (res_stir_shaken)

Отредактируйте /etc/asterisk/stir_shaken.conf:

[general]
ca_path=/etc/ssl/certs

[my_cert]
type=certificate
public_cert_path=/var/lib/asterisk/keys/shaken_cert.pem
private_key_path=/var/lib/asterisk/keys/shaken_key.key
attestation=A
caller_id_number=+74951234567

[my_profile]
type=profile
certificate=my_cert

Привяжите профиль к эндпоинту в pjsip.conf:

[trunk_with_stir]
type=endpoint
stir_shaken_profile=my_profile
💡 Практика специалистов: Если вы арендуете транк и оператор возвращает 608 Rejected, проверьте совпадение переданного CallerID(num) с номером, закрепленным в договоре. Передача произвольного CLI без согласования с оператором в современных сетях немедленно блокируется.

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

Кто имеет право генерировать заголовок Identity для STIR/SHAKEN?

Только лицензированные операторы связи, имеющие валидный сертификат от авторизованного центра сертификации (STI-CA / Policy Administrator).

Почему вызов получает 608 Rejected при звонке на зарубежные номера?

Многие страны (США, Канада, страны ЕС) законодательно блокируют входящие международные вызовы с локальными подмененными номерами, если они не имеют валидной подписи уровня Full Attestation (A).

Можно ли самостоятельно подписать заголовок Identity самоподписанным сертификатом?

Нет. Принимающий SBC проверяет цепочку доверия сертификата по протоколу OCSP/CRL до корневого центра STI-CA. Самоподписанный сертификат вызовет мгновенный отбой 608.

Какой код Q.850 возвращается при ошибке 608?

Обычно возвращается Q.850 Cause Code 21 (Call Rejected) или Cause Code 63 (Service or option unavailable, unspecified).

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