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

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

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

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

SIP Error 415 Unsupported Media Type: причины и решение проблем с кодеками SDP

Обновлено: 24.08.2026
  • Абонент слышит короткие гудки или автоответчик с сообщением о сбое связи при попытке исходящего вызова.
  • В дампе SIP-трафика (sngrep, Wireshark) на исходящий INVITE возвращается ответ SIP/2.0 415 Unsupported Media Type.
  • В логах IP-АТС (Asterisk, FreeSWITCH, Kamailio) фиксируются ошибки вида No compatible codecs found или Unsupported Content-Type in message body.
  • Вызовы успешно инициируются, но сбрасываются на этапе согласования сессии (Session Description Protocol).

1. Анализ тела запроса SDP в сетевом дампе

Запустите захват сигнального трафика с помощью sngrep или tcpdump на сервере IP-АТС:

sngrep -O /tmp/sip_415_debug.pcap port 5060
tcpdump -nnvv -i any port 5060 -s 0 -w /tmp/sip_capture.pcap

Откройте транзакцию INVITE и изучите заголовок Content-Type (должен быть application/sdp) и секции m=audio / a=rtpmap. Ошибка 415 возникает, когда принимающая сторона не поддерживает ни один из предложенных аудиокодеков (например, шлюз отправляет только G729, а АТС ожидает PCMA/alaw или Opus).

2. Настройка списка разрешенных кодеков в Asterisk (chan_pjsip)

Отредактируйте конфигурационный файл /etc/asterisk/pjsip.conf для соответствующего endpoint/trunk:

[my-trunk-endpoint]
type=endpoint
context=from-trunk
disallow=all
allow=alaw
allow=ulaw
allow=g729
allow=opus
allow=telephone-event ; Поддержка RFC 2833 / DTMF payload
dtmf_mode=rfc4733
direct_media=no

Примените настройки в консоли Asterisk:

asterisk -rx "pjsip reload"

3. Конфигурация FreeSWITCH (sip_profiles)

В файле профиля SIP /etc/freeswitch/sip_profiles/external.xml или internal.xml задайте глобальную строку кодеков:

<param name="inbound-codec-prefs" value="PCMA,PCMU,G729,OPUS"/>
<param name="outbound-codec-prefs" value="PCMA,PCMU,G729,OPUS"/>
<param name="inbound-late-negotiation" value="true"/>

Перезагрузите профиль в консоли fs_cli:

sofia profile external rescan
sofia profile external reload

4. Проверка нестандартного Content-Type и транзита SIP INFO / SMS

Если в INVITE передается многокомпонентное тело (multipart/mixed) со специфическими XML/Q.931 данными, отключите отправку неподдерживаемых MIME-типов на пограничном контроллере сессий (SBC) или включите поддержку multipart в ядре АТС.

💡 Практика специалистов: Всегда проверяйте наличие кодека alaw (PCMA, payload 8) и ulaw (PCMU, payload 0) в качестве базовых 'fallbacks'. Без них операторский транк мгновенно отдаст 415, если коммерческие сжатые кодеки (G.729) не лицензированы на PBX.

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

В чем ключевое отличие ошибки 415 от SIP 488 Not Acceptable Here?

Ошибка 415 указывает, что формат тела запроса или MIME-тип (например, неподдерживаемый Content-Type или кодировка) не распознан сервером вообще, в то время как 488 означает, что SDP понятен, но конкретные параметры медиа-потока (кодеки, полоса пропускания) неприемлемы для конечной точки.

Может ли несовпадение номеров динамических Payload Type для DTMF (telephone-event) вызвать 415 ошибку?

Да, если принимающая сторона жестко привязана к определенному номеру dynamic payload type (например, 101) и отказывается парсить offer с альтернативным номером (например, 96 или 102) без включенного автосогласования.

Как включить автоматический транскодинг в Asterisk для предотвращения 415 ошибки?

Убедитесь, что в системе загружены модули трансляции (например, codec_alaw.so, codec_g729.so, codec_resample.so). Проверить матрицу транскодинга можно командой 'core show translation'.

Почему ошибка 415 возникает при передаче факсов по T.38?

Это происходит при отправке re-INVITE с SDP-атрибутом 'm=image udptl t38', если оператор связи или оконечный шлюз не имеет лицензии или отключил поддержку протокола T.38 в настройках транка.

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