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

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

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

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

SIP 501 Not Implemented: неподдерживаемые SIP-методы и заголовок Allow

Обновлено: 24.08.2026 · Официальная документация ↗

Отказ сервера или шлюза выполнять специфические команды телефонии:

  • Клиент получает ответ SIP/2.0 501 Not Implemented.
  • Сбои при попытке перевода вызова методом REFER, отправке текстовых сообщений MESSAGE или обновлении параметров через UPDATE.
  • В ответе 501 отсутствует или не содержит запрошенного метода заголовок Allow.
  • Проблема часто наблюдается при сопряжении современных IP-АТС со старыми цифровыми/аналоговыми VoIP-шлюзами.

1. Проверка заголовка Allow в ответе сервера

Захватите пакет OPTIONS или ответ 501 для анализа списка поддерживаемых методов:

SIP/2.0 501 Not Implemented
Via: SIP/2.0/UDP 192.168.1.50:5060;branch=z9hG4bK8834
To: <sip:100@pbx.local>;tag=654
From: <sip:200@pbx.local>;tag=123
Call-ID: df83-12a-3
CSeq: 102 UPDATE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
Content-Length: 0

В данном примере сервер поддерживает только базовые методы и не умеет обрабатывать UPDATE.

2. Отключение неподдерживаемых методов в PJSIP (Asterisk)

Если шлюз или оператор возвращает 501 на запросы обновления сессии (Session Timers) через UPDATE, переключите метод на re-INVITE:

[gateway_endpoint]
type=endpoint
context=from-trunk
session_refresh_method=invite ; Использовать INVITE вместо UPDATE
timers=yes

3. Настройка методов перевода вызова (Transfer)

Если шлюз не поддерживает метод REFER для слепого или консультативного перевода:

  • Настройте выполнение перевода силами самой АТС (In-band DTMF Features) вместо SIP REFER.
  • В features.conf активируйте встроенные коды перевода:
[featuremap]
blindxfer => ##
atxfer => *2

В диалплане добавьте опции t и T в команду Dial():

exten => _X.,1,Dial(PJSIP/${EXTEN}@trunk,30,tT)

4. Корректировка работы с методом INFO (DTMF)

Если ошибка 501 возникает при нажатии кнопок в IVR, переключите режим передачи DTMF с SIP INFO на RFC 4733 / RFC 2833:

[my_endpoint]
type=endpoint
dtmf_mode=rfc4733
💡 Практика специалистов: Никогда не используйте метод SIP INFO для передачи тонового набора (DTMF) на транках общего пользования — практически все операторы отбивают его с 501. Стандартом де-факто является dtmf_mode=rfc4733.

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

Что означает статус SIP 501 Not Implemented?

Согласно RFC 3261, статус 501 сообщает, что сервер или терминал не поддерживает функциональность, необходимую для выполнения полученного SIP-метода (например, сервер не знает, как обрабатывать PUBLISH или PRACK).

Обязан ли сервер реализовывать все методы стандарта SIP?

Нет. Базовый RFC 3261 требует обязательной поддержки только ключевых методов: INVITE, ACK, CANCEL, BYE, OPTIONS. Такие методы как REFER, SUBSCRIBE, NOTIFY, UPDATE, INFO определены отдельными расширениями и могут отсутствовать.

Почему при отправке SMS через софтфон приходит 501?

Это означает, что софтфон использует метод MESSAGE (RFC 3428), который не включен или не поддерживается в конфигурации вашей АТС.

Как проверить, какие методы поддерживает оборудование удаленной стороны?

Отправьте запрос SIP OPTIONS на адрес устройства с помощью утилиты sipsak: sipsak -v -s sip:target@ip_address. В ответе 200 OK изучите поле Allow.

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