Hold в SDP: inactive и порт 0 обозначают разные состояния

Запросить

Фотография конкретного исполнения не приложена.

Удержание разговора может менять направление медиапотока без завершения всего SIP-диалога. Для диагностики важно читать SDP с точки зрения стороны, которая его отправила. Sendonly у одного участника не означает, что другой тоже должен передавать звук.

RFC 3264 различает sendrecv, sendonly, recvonly и inactive. При отсутствии direction действует sendrecv. Inactive означает отсутствие передачи и приёма media в выбранный момент, но не равен отказу от самого потока. В описанной RTP-модели RTCP может продолжаться и при ограниченном направлении media.

Порт 0 имеет другой смысл: поток не используется, отклонён в answer или удаляется при изменении сеанса. Поэтому заменять любое удержание нулевым портом без понимания согласования нельзя. Возврат к разговору требует правильного обновления действующих параметров, а не только локального снятия mute.

В приёмке проверяют hold с обеих сторон, предусмотренное направление музыки и возврат звука. Сопоставляют offer/answer и реальные пакеты. Неизменившийся SIP dialog не подтверждает неизменный медиапуть. Отсутствие RTP во время согласованного inactive оценивается иначе, чем потеря RTP у активного sendrecv-потока.

Основание — Numbered IETF voice and NAT-traversal RFCs with selected RFC8863 ICE update; protocol scopes identified per task, разделы RFC3264 sendonly/recvonly/inactive; rejected streams; modifying streams. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — указанные номерные RFC о SIP, SDP, RTP и NAT traversal; рассматриваются конкретные границы поведения, а не полный современный профиль реализации или защиты. Реальные шлюзы, АТС, терминалы и медиапотоки не проверялись; вызовы и записи звука не выполнялись.

Все разборы

Россия Казахстан
sales@radio4you.ru

Все запросы только на email