| Previous | Next |
| RTC_E_SIP_NO_STREAM | RTC_E_SIP_HEADER_NOT_PRESENT |
RTC_E_SIP_PARSE_FAILED
What the RTC value marks: RTC_E_SIP_PARSE_FAILED
This HRESULT is emitted for a defined RTC state rather than an unspecified communications problem; that state is the RTC SIP parser could not construct a valid message from the received or generated bytes.
This result is represented as 0x80EE0004 in the RTC interface facility 0xEE; record the symbolic name alongside the unsigned hexadecimal value; a decimal exception alone is poor evidence for RTC protocol diagnosis.
To establish this result, preserve a redacted byte range around the parse offset, transport framing, and Content-Length; this matters because general SIP parse failure is broader than a missing required header or incomplete receive buffer.
Protocol and object state
| RTC area | SIP message and SDP negotiation |
|---|---|
| Objects to correlate | SIP start-line and headers, message body framing, SDP session and media sections, offer/answer generation |
| Condition to prove | the RTC SIP parser could not construct a valid message from the received or generated bytes |
| Safe corrective direction | correct framing or syntax at the producer and replay only a sanitized fixture in tests |
SIP transaction state and media negotiation are separate: a syntactically valid SIP request can still contain absent or unacceptable SDP. An SDP update must be checked against the previous offer/answer state, not merely parsed as a standalone text document.
Evidence that separates the cause
- Code-specific proof: preserve a redacted byte range around the parse offset, transport framing, and Content-Length.
- Identity and target: Content-Type and Content-Length.
- State at production:
SDPo= version and c= address. - Timing and ordering: each m= line and codec mapping.
Related RTC results
RTC_E_SIP_NEED_MORE_DATA | the receive buffer contains only part of a complete SIP message |
|---|---|
RTC_E_SIP_STREAM_PRESENT | code attempted to start a media stream already represented in the current RTC session state |
RTC_E_SDP_PARSE_FAILED | the message body is labeled or treated as SDP but violates the SDP grammar or field requirements |
A safe diagnostic sequence
- Use protocol and object evidence to preserve a redacted byte range around the parse offset, transport framing, and Content-Length.
- Confirm the distinction that general
SIPparse failure is broader than a missing required header or incomplete receive buffer. - Start a fresh operation after you correct framing or syntax at the producer and replay only a sanitized fixture in tests, and compare its final state with the failing run.
How to handle the result
The appropriate response to it is not a blanket reconnect. Instead, correct framing or syntax at the producer and replay only a sanitized fixture in tests, while preserving ownership of cleanup and any bounded retry.
Example: A TCP receiver combines two SIP messages incorrectly and the second start-line appears inside the first body.
Actions that do not address this condition
- Do not log credentials or an unredacted SDP body from production calls.
- Do not repair malformed signaling by silently deleting unknown headers or media sections.
Technical references
Looking for a different code? Search another status or error code.