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

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

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

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

SIP 491 Request Pending: состояние Glare и гонки Re-INVITE запросов

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

Сбои во время активного разговора при выполнении дополнительных функций обслуживания вызова:

  • Ошибка или зависание при попытке поставить звонок на удержание (Hold), снять с удержания или выполнить перевод (Transfer).
  • В сигнальном логе регистрируется статус SIP/2.0 491 Request Pending.
  • Обе стороны одновременно отправили запрос re-INVITE или UPDATE внутри существующего диалога (Glare Condition).
  • Некорректная обработка раннего медиа при одновременной перепосылке кодеков или сессионных таймеров.

1. Механизм возникновения состояния Glare (RFC 3261 Раздел 14.2)

Состояние Glare возникает, когда узел UAC отправляет re-INVITE, еще не получив финального ответа (200 OK / 4xx) на ранее отправленный запрос, либо когда оба терминала шлют re-INVITE навстречу друг другу одновременно.

2. Проверка алгоритма случайной задержки (Backoff Timer)

Согласно спецификации, при получении 491 узел обязан выждать случайный интервал времени перед повторной отправкой re-INVITE:

  • Для владельца начального вызова (Caller/Owner): случайное время от 2.1 до 4.0 секунд.
  • Для вызываемой стороны (Callee/Non-owner): случайное время от 0.0 до 2.0 секунд.

Убедитесь, что прошивка IP-телефона или шлюза реализует стандартный таймер Backoff и не отправляет re-INVITE мгновенно.

3. Оптимизация таймеров сессий (Session Timers) во FreePBX / Asterisk

Частой причиной Glare являются автоматические запросы подтверждения активности сессии (Session Refresh). Настройте pjsip.conf:

[my_endpoint]
type=endpoint
timers=yes
timers_min_se=90
timers_sess_expires=1800
; Использовать UPDATE вместо re-INVITE для обновления сессий:
session_refresh_method=UPDATE

4. Отключение Direct Media (Re-invites) при сбоях переводов

Если софтсвич пытается перевести медиа-поток напрямую между телефонами (Direct Media / canreinvite) в момент удержания:

[my_endpoint]
type=endpoint
direct_media=no

Это заставит медиатрафик всегда проходить через АТС, исключая гонки сигнальных пакетов между телефонами.

💡 Практика специалистов: При частых ошибках 491 на транках с SBC оператора всегда переключайте параметр session_refresh_method с INVITE на UPDATE и увеличивайте интервал session-expires до 1800 секунд.

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

Что такое состояние Glare в SIP?

Glare (состояние гонки) — ситуация, когда обе стороны диалога одновременно генерируют транзакцию изменения параметров сессии (re-INVITE или UPDATE) до завершения предыдущей транзакции.

Является ли ошибка 491 фатальной для звонка?

Нет, 491 не разрывает текущую сессию разговора. Она лишь отменяет конкретный re-INVITE и предписывает клиенту повторить попытку изменения параметров через расчетный интервал времени.

Как метод UPDATE помогает снизить вероятность 491?

Метод UPDATE (RFC 3311) может выполняться без создания нового состояния диалога и с меньшим количеством промежуточных фаз, снижая временное окно возникновения коллизий.

Почему 491 часто возникает при интеграциях с CRM?

Если интеграционный модуль CRM шлет команду перевода вызова через AMI/ARI ровно в тот момент, когда пользователь нажимает кнопку Hold на физическом телефоне, их запросы сталкиваются, вызывая 491.

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