| Предыдущий | Следующий |
| 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» больше не возникает на сопоставимом входе.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.