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

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

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

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

SIP 180 Ringing: генерация КПВ, Early Media и согласование SDP

Обновлено: 24.08.2026 · Официальная документация ↗
  • Вызывающий абонент слышит тишину вместо гудков вызова (КПВ), хотя телефон вызываемого звенит.
  • Двойная генерация гудков (наложение локального тонального генератора телефона на медиапоток оператора).
  • Раннее списание средств у оператора до момента фактического ответа абонента (поднятия трубки).
  • Проблемы отображения статуса вызова на дисплеях SIP-телефонов и в WebRTC клиентах.

1. Архитектура ответа SIP 180 Ringing (RFC 3261 §21.1.2)

Ответ 180 Ringing сигнализирует вызывающей стороне, что запрос INVITE успешно доставлен на терминал получателя и устройство начало физическую процедуру оповещения (звонок, вибрация, индикация). Получив чистый ответ 180 (без тела SDP), терминал звонящего обязан самостоятельно генерировать сигнал КПВ (Ringback tone) из своего локального звукового чипа.

2. Сравнение SIP 180 Ringing и SIP 183 Session Progress

ПараметрSIP 180 RingingSIP 183 Session Progress
Тело SDPОбычно отсутствует (но допустимо)Присутствует обязательно
Источник КПВГенерируется локально клиентом AПередается в аудиопотоке RTP от узла B
Типичное применениеВнутрикорпоративные вызовыМобильные сети, автоответчики, IVR

3. Устранение тишины при вызовах через Asterisk

Если при звонках во внешние транки в трубке звонящего возникает тишина, принудительно включите генерацию сигнала вызова в диалплане через опцию r команды Dial():

[outbound-dial]
exten => _89XXXXXXXXX,1,NoOp(Исходящий вызов с генерацией КПВ)
 same => n,Dial(PJSIP/${EXTEN}@operator_trunk,60,r)
 same => n,Hangup()

Внимание: флаг r заставляет Asterisk слать 180 Ringing и подменять реальные голосовые сообщения оператора (например, «Абонент временно недоступен») стандартными гудками.

4. Конфигурация inband_progress в PJSIP

Для корректной трансляции раннего аудио настройте параметры эндпоинта в /etc/asterisk/pjsip.conf:

[my_endpoint]
type=endpoint
inband_progress=yes
100rel=yes
💡 Практика специалистов: Не используйте флаг 'r' в команде Dial() для очередей и интеграций с мобильными сетями — это нарушает стандартную обработку Early Media и лишает звонящего возможности услышать голосовые уведомления сотовой сети до снятия трубки.

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

Почему при ответе 180 Ringing в трубке слышна тишина?

Если вызывающий IP-телефон или софтфон ожидает аудиопоток RTP (Early Media), но получает чистый пакет 180 Ringing без SDP, а его локальный генератор тонов отключен или поврежден в прошивке, абонент будет слышать тишину.

Может ли SIP 180 содержать SDP?

Да, RFC 3261 разрешает передачу SDP в 180 Ringing. В этом случае клиент должен открыть RTP-порт и воспроизводить аудиопоток, приходящий из сети.

Что такое заголовок 100rel и PRACK при обработке 180 Ringing?

Механизм 100rel (RFC 3262) обеспечивает гарантированную надежную доставку предварительных ответов 18x с помощью подтверждения специальным запросом PRACK.

Как убрать эффект 'двойных гудков'?

Уберите флаг 'r' из команды Dial() в Asterisk и убедитесь, что оператор шлет либо чистый 180 (для локального тона), либо 183 с RTP-потоком, но не оба одновременно.

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