SIP Error 405 Method Not Allowed: несовместимость методов SIP
- Сброс сессии с кодом
SIP/2.0 405 Method Not Allowedпри попытке перевода вызова, отправки DTMF или обновления сессии. - Оборудование отклоняет запросы
UPDATE,REFER,SUBSCRIBEилиINFO. - В ответе 405 присутствует заголовок
Allow: INVITE, ACK, CANCEL, BYE, OPTIONS.
1. Анализ заголовка Allow в ответе 405
sngrep -c "405 Method Not Allowed"Изучите пакет ответа. Заголовок Allow указывает точный перечень методов, которые поддерживает удаленная сторона. Если запрашиваемого метода (например, REFER) там нет — устройство не поддерживает этот тип сигнализации.
2. Настройка передачи DTMF (отключение SIP INFO)
Если ошибка возникает при нажатии кнопок тонального набора, переключите метод передачи DTMF на RFC 4733 / RFC 2833 в pjsip.conf:
[endpoint_template](!)
type=endpoint
dtmf_mode=rfc4733 ; Вместо 'info' или 'inband'3. Отключение запросов UPDATE при согласовании сессии
Если шлюз не поддерживает метод UPDATE в процессе early media (PRACK):
; В конфигурации PJSIP
[endpoint_template](!)
type=endpoint
send_connected_line=no ; Не слать UPDATE для обновления CallerID
timer=no ; Отключение SIP Session Timers (RFC 4028) Частые вопросы (FAQ)
Почему SIP-телефон отвечает 405 на запрос REFER?
На телефоне отключена функция слепого или консультативного перевода вызова средствами SIP (Call Transfer) или в прошивке запрещена обработка сообщений REFER из соображений безопасности.
Как решить проблему 405 при трансфере звонка?
Переключите режим трансфера в АТС на локальную обработку DTMF-кодов (In-band feature codes, например *2 для Asterisk) вместо использования SIP REFER.