Что означает код HRESULT 0x80EE0018 (RTC_E_SIP_NEED_MORE_DATA)?

 
Предыдущий Следующий
RTC_E_SIP_TRANSPORT_NOT_SUPPORTED RTC_E_SIP_CALL_DISCONNECTED

RTC_E_SIP_NEED_MORE_DATA

Что означает RTC_E_SIP_NEED_MORE_DATA

RTC_E_SIP_NEED_MORE_DATA означает, что SIP parser ещё не получил достаточно байтов для завершения текущего сообщения.

Нормально ли это

Для TCP/TLS один read не обязан совпадать с границей SIP message, поэтому промежуточное состояние может быть нормальным. Для UDP неполная datagram чаще указывает на ошибку формирования/размера.

  • Сохраняйте receive buffer между чтениями.
  • Проверьте конец заголовков и соответствие Content-Length фактическому body.
  • Логируйте размер каждого read и ожидаемую общую длину.
  • Не передавайте остаток как новый SIP request.

Контроль

После прихода недостающих байтов parser должен завершить то же сообщение. Если состояние не исчезает, сравните Content-Length и фактический поток для поиска потери данных.

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


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