Что означает код HRESULT 0x80EE000E (RTC_E_SIP_INVITE_TRANSACTION_PENDING)?

 
Предыдущий Следующий
RTC_E_SDP_FAILED_TO_BUILD RTC_E_SIP_AUTH_HEADER_SENT

RTC_E_SIP_INVITE_TRANSACTION_PENDING

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

RTC_E_SIP_INVITE_TRANSACTION_PENDING (0X80EE000E) означает: для session уже существует незавершённая INVITE transaction. Не объединяйте этот результат с соседними кодами того же facility: recovery определяется фактическим состоянием протокола и объекта.

Английский маркер для сопоставления с исходной документацией: another INVITE or re-INVITE transaction still owns the dialog’s offer/answer state. Используйте его как поисковый ключ вместе с 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.

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

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

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

Практический сценарий из EN-описания: Hold and codec-change callbacks both attempt re-INVITE before the first transaction finishes.. В воспроизведении меняйте только параметр или state, который отличает этот сценарий от рабочего.

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

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

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

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


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