| Предыдущий | Следующий |
| RTC_E_SIP_TRANSPORT_NOT_SUPPORTED | RTC_E_SIP_CALL_DISCONNECTED |
RTC_E_SIP_NEED_MORE_DATA
Интерпретация результата
RTC_E_SIP_NEED_MORE_DATA (0X80EE0018) означает: SIP parser/transport получил неполное сообщение и ожидает дополнительные bytes. Этот HRESULT описывает узкую границу, поэтому сначала фиксируйте producing method и объект, а затем уже интерпретируйте сообщение пользователя.
Английский маркер для сопоставления с исходной документацией: the receive buffer contains only part of a complete SIP message
. Используйте его как поисковый ключ вместе с 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.
Проверка должна подтвердить именно условие «SIP parser/transport получил неполное сообщение и ожидает дополнительные bytes» в текущем RTC object generation. Не используйте успешный retry после широкого reset как доказательство причины.
Практический сценарий из EN-описания: A TCP read ends halfway through the message body and the parser requests the remaining octets.
. В воспроизведении меняйте только параметр или state, который отличает этот сценарий от рабочего.
Восстановление
Измените только состояние или вход, непосредственно связанный с этой границей, и сравните первый HRESULT до и после исправления.
После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «SIP parser/transport получил неполное сообщение и ожидает дополнительные bytes» больше не возникает на сопоставимом входе.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.