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

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

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

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

Диагностика сбоев перевода вызовов: Blind и Attended Transfer через SIP REFER

Обновлено: 24.08.2026 · Официальная документация ↗
  • При попытке перевода звонка вызов сбрасывается для обоих собеседников.
  • Консультативный перевод соединяет оператора с третьим лицом, но после нажатия 'Перевод' мост не замыкается.
  • SIP-клиент возвращает ошибку 405 Method Not Allowed или 603 Declined на запрос REFER.
  • В логах фиксируется 481 Call/Transaction Does Not Exist при попытке подстановки заголовка Replaces.

1. Различия механизмов перевода Blind и Attended

  • Blind Transfer (Слепой перевод): телефон шлет REFER с адресом нового абонента в заголовке Refer-To: <sip:user3@domain.com>.
  • Attended Transfer (Консультативный перевод): абонент 2 создает второй диалог с абонентом 3, после чего шлет REFER с заголовком Replaces, указывающим Call-ID, to-tag и from-tag первого диалога.

2. Анализ заголовка REFER с параметром Replaces

REFER sip:user1@203.0.113.10:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.20:5060;branch=z9hG4bK9876
Refer-To: <sip:user3@domain.com?Replaces=call-id-12345%3Bto-tag%3Dabc%3Bfrom-tag%3Ddef>
Referred-By: <sip:user2@domain.com>

3. Контроль статуса через транзакцию NOTIFY

Инициатор перевода обязан отслеживать статус перевода через подписку на события (Event: refer). При успешном ответе (200 OK на NOTIFY с телом SIP/2.0 200 OK) инициатор посылает BYE в свой диалог.

4. Включение поддержки REFER на транках и шлюзах

Если оператор или SBC не поддерживает метод REFER, включите локальную обработку трансфера на АТС (трансфер средствами PBX без отправки REFER оператору):

# Asterisk pjsip.conf
[endpoint]
transfer_mode = fix_messaging
# Или отключение сквозного REFER:
disable_refer = yes
💡 Практика специалистов: При частых проблемах с переводом вызовов через операторские транки всегда отключайте 'Send REFER to trunk' в настройках PBX. Перевод должен выполняться локальным B2BUA-мостом вашей АТС.

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

Что произойдет, если АТС получит REFER, но не поддерживает Replaces?

АТС вернет ошибку 420 Bad Extension с указанием Unsupported: replaces в заголовке, и вызов не переведется.

Почему при слепом переводе звонок сбрасывается, если целевой номер занят?

Если переводящий телефон сразу посылает BYE, не дожидаясь ответа NOTIFY о статусе вызова, исходный вызов уничтожается, а целевой абонент возвращает 486 Busy Here.

Как экранируются спецсимволы в заголовке Refer-To?

Параметры Replaces внутри SIP URI обязаны быть URL-encoded (двоеточия заменяются на %3A, точки с запятой на %3B, знаки равенства на %3D).

В чем разница между переводом средствами телефона и переводом через DTMF (Features)?

Перевод через телефон использует сигнальный метод SIP REFER. Перевод через DTMF (например, комбинация *2) перехватывается самой АТС из медиапотока без участия SIP-логики аппарата.

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