Что означает код HRESULT 0x80EE0074 (RTC_E_SIP_UNHOLD_OPERATION_PENDING)?

 
Предыдущий Следующий
RTC_E_SIP_HOLD_OPERATION_PENDING RTC_E_MEDIA_SESSION_NOT_EXIST

RTC_E_SIP_UNHOLD_OPERATION_PENDING

Интерпретация результата

RTC_E_SIP_UNHOLD_OPERATION_PENDING (0X80EE0074) означает: для session уже выполняется unhold/resume transaction. Сначала сохраните причинную границу и только после этого разрешайте retry, cleanup или создание новой session generation.

Английский маркер для сопоставления с исходной документацией: an unhold/resume transaction is already pending for the RTC session. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.

Что сохранить

  • SIP method, Request-URI domain, Call-ID/CSeq и dialog tags.
  • Via/Route/Contact и transport (UDP/TCP/TLS) с responding hop.
  • transaction state, relevant header/SDP hash и первый RTC event/HRESULT.

Код-специфическая проверка

Сохраните pending re-INVITE/UPDATE, который возвращает media из hold, и его CSeq. Не запускайте второй resume до final response; после завершения проверьте negotiated direction и только затем считайте session снова active.

Сохраните raw start-line и относящиеся к ошибке headers до нормализации RTC; Call-ID/CSeq и responding Via связывают локальный callback с конкретной SIP transaction.

Постройте таймлайн pending transaction: начало, последний callback, protocol timer и cancellation owner. До повторной попытки нужно понять, завершилась ли предыдущая операция удалённо или осталась неопределённой.

Практический сценарий из EN-описания: Two UI paths attempt to resume the call after the same device event.. В воспроизведении меняйте только параметр или state, который отличает этот сценарий от рабочего.

Восстановление

Повтор разрешайте только после конечного состояния предыдущей transaction либо после нового dialog/session generation; не replay-те потенциально неидемпотентную операцию вслепую.

После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «для session уже выполняется unhold/resume transaction» больше не возникает на сопоставимом входе.

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


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