Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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