Что означает код HRESULT 0x80EF012C (RTC_E_STATUS_REDIRECT_MULTIPLE_CHOICES)?

 
Предыдущий Следующий
RTC_E_REGISTRATION_UNREGISTERED RTC_E_STATUS_REDIRECT_MOVED_PERMANENTLY

RTC_E_STATUS_REDIRECT_MULTIPLE_CHOICES

Что именно сообщает HRESULT

RTC_E_STATUS_REDIRECT_MULTIPLE_CHOICES (0X80EF012C) фиксирует конкретное состояние: server вернул несколько возможных Contact и оставил выбор клиенту. Записывайте этот HRESULT на первом API, callback или service boundary, где он появился; более поздняя UI-ошибка может быть только следствием.

Английский маркер исходной документации для точного поиска: the server returned several possible Contact destinations and did not select one for the client. Его полезно сопоставлять с тем же объектом, timestamp и operation ID, а не с соседним событием.

Поля для корреляции

  • SIP method/status, Call-ID/CSeq и responding hop.
  • Request-URI/Contact/Route, transaction state и branch decision.
  • session/profile generation, SDP или policy fields, которые относятся к этому status.

Семантические части имени результата — redirect, multiple, choices — указывают, какие поля должны различаться между failing и working trace. Они помогают выбрать evidence, но не заменяют фактический return value и состояние объекта.

Проверка гипотезы

Сопоставьте SIP status с конкретным method и responding hop; provisional, redirect, endpoint-local и global responses имеют разную retry-семантику.

Для server вернул несколько возможных Contact и оставил выбор клиенту контроль должен менять только один параметр или lifecycle-state. Если после изменения первым возвращается другой HRESULT, зафиксируйте его как новую причинную точку, а не объединяйте оба результата в один общий incident.

Контрольный сценарий из EN-описания: A directory-style SIP service returns office, mobile, and voicemail contacts; the client chooses one according to policy.. Воспроизводите его на тестовой конфигурации и сохраняйте только необходимые идентификаторы; ключи, токены и полные персональные данные редактируйте согласно политике.

Официальное направление восстановления можно сверить по формулировке: apply application policy to the Contact set, prevent loops, and create a new request only for the chosen destination. Перед применением убедитесь, что именно названная граница доказана собранными данными.

Как подтвердить исправление

Изменяйте request, target, route или session offer только в соответствии с семантикой конкретного response; terminal/global response не следует replay-ить без изменения причины.

  1. Докажите условие «server вернул несколько возможных Contact и оставил выбор клиенту» по сохранённым данным.
  2. Измените только один относящийся к причине input, policy или state.
  3. Повторите тот же API и сравните первый HRESULT, достигнутую фазу и побочные эффекты.
  4. Зафиксируйте 0X80EF012C и identity объекта до автоматического retry.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.