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

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

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

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

SIP 489 Bad Event: ошибки пакетов подписки SUBSCRIBE и NOTIFY

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

Отказ в работе сервисных функций IP-телефонов без нарушения базовой голосовой связи:

  • Индикаторы кнопок быстрого набора и занятости линий (BLF) светятся серым, мигают красным или не меняют статус.
  • Не работает индикатор голосовых сообщений (MWI / Message Waiting Indication).
  • В ответ на запрос SUBSCRIBE или PUBLISH сервер возвращает SIP/2.0 489 Bad Event.
  • В теле ответа присутствует или отсутствует заголовок Allow-Events с перечнем поддерживаемых сервером пакетов событий.

1. Проверка поддерживаемых пакетов событий (Allow-Events)

Захватите ответ 489 и найдите заголовок Allow-Events:

SIP/2.0 489 Bad Event
Via: SIP/2.0/UDP 192.168.1.100:5060;branch=z9hG4bK89a87d
To: <sip:101@pbx.local>;tag=as321
From: <sip:101@pbx.local>;tag=987123
Call-ID: c890b-12345
CSeq: 1 SUBSCRIBE
Allow-Events: dialog, message-summary, presence
Content-Length: 0

Если телефон шлет запрос Event: dialog-info, а сервер понимает только dialog (или наоборот), запрос будет отвергнут.

2. Настройка подписок BLF в FreePBX / Asterisk

Убедитесь, что в конфигурации Asterisk включена генерация событий присутствия и диалогов:

; В sip.conf (для старого канала chan_sip):
allowsubscribe=yes
subscribecontext=blf_subscriptions
notifyringing=yes
notifyhold=yes

; В pjsip.conf:
[101]
type=endpoint
allow_subscribe=yes

[101]
type=subscription_persistence

3. Конфигурация типа события на телефонных аппаратах (Yealink / Fanvil)

В веб-интерфейсе телефона (раздел Account -> Advanced / Advanced SIP Settings):

  • Найдите параметр BLF Event Package.
  • Измените значение с Event: dialog на Event: dialog-info (или выберите RFC 4235).
  • Для MWI убедитесь, что параметр Subscribe for MWI установлен в соответствии с возможностями сервера (в большинстве случаев используется пакет message-summary).

4. Перезапуск модуля генерации событий в Asterisk

asterisk -rx "module reload res_pjsip_pubsub.so"
asterisk -rx "pjsip show subscriptions"
💡 Практика специалистов: Если консоль АТС забита ошибками 489, отключите на клиентских IP-телефонах неиспользуемые подписки (Feature Key Synchronization, Broadsoft Event Package, Provisioning Events), оставив только standard BLF и MWI.

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

Что сообщает код SIP 489 Bad Event?

Этот статус генерируется согласно RFC 6665, если сервер получил запрос SUBSCRIBE, NOTIFY или PUBLISH, содержащий заголовок Event с именем пакета событий, который сервер не понимает или не поддерживает.

Какие пакеты событий являются стандартными для IP-телефонии?

Наиболее распространены: 'presence' (статус пользователя), 'dialog' / 'dialog-info' (состояние телефонной линии для BLF), 'message-summary' (MWI, новые сообщения на автоответчике), 'as-feature-event' (синхронизация DND/Forwarding).

Влияет ли ошибка 489 на совершение обычных звонков?

Нет, ошибка 489 касается исключительно подсистемы событий SIP Event Framework (RFC 6665) и не блокирует прохождение диалогов INVITE для аудио- и видеозвонков.

Почему 489 возникает при интеграции SIP-домофонов?

Многие вызывные панели пытаются подписаться на обновления конфигурации через кастомные события вендора (например, 'cisco-service-control' или 'talk'). Если АТС их не знает, она корректно отвечает 489.

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