| Previous | Next |
| RTC_E_SIP_STREAM_PRESENT | RTC_E_SIP_NO_STREAM |
RTC_E_SIP_STREAM_NOT_PRESENT
Operational meaning: RTC_E_SIP_STREAM_NOT_PRESENT
Diagnosis begins inside parsing, constructing, or reconciling SIP signaling and the SDP offer/answer carried by it, where the relevant condition for this HRESULT is code attempted to stop or remove a stream that is not active in the current session generation.
The numeric form of this result is 0x80EE0002 in the RTC interface facility 0xEE; an exception translator handling it should preserve this value before converting it into application-facing call or presence states.
The quickest way to localize this result is to compare the requested media type with the session’s actual stream list and prior completion events; the important boundary is that a missing stream differs from a device failure because there is no active RTC stream to operate on.
Signals worth preserving
- Code-specific proof: compare the requested media type with the session’s actual stream list and prior completion events.
- Correlation key: start-line plus header names.
- Protocol or object snapshot: Content-Type and Content-Length.
- Last completed transition:
SDPo= version and c= address. - Expected output: each m= line and codec mapping.
Recovery and control flow
Recovery should be narrow: make teardown idempotent and stop issuing removal after the stream-ended event has been processed; while handling this result, do not let a higher layer simultaneously recreate the same session, registration, listener, or profile.
Example: A hang-up path and a device-removal path both try to remove the same video stream.
Protocol and object state
| RTC area | SIP message and SDP negotiation |
|---|---|
| Condition to prove | code attempted to stop or remove a stream that is not active in the current session generation |
| Objects to correlate | SIP start-line and headers, message body framing, SDP session and media sections, offer/answer generation |
| Safe corrective direction | make teardown idempotent and stop issuing removal after the stream-ended event has been processed |
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.
Verification workflow
- Start from
0x80EE0002, then find the method/event pair that first exposed it. - Keep the analysis at the right boundary: a missing stream differs from a device failure because there is no active RTC stream to operate on.
- After you make teardown idempotent and stop issuing removal after the stream-ended event has been processed, repeat the smallest reproducer rather than restarting the entire application environment.
Actions that do not address this condition
- Do not repair malformed signaling by silently deleting unknown headers or media sections.
- Do not log credentials or an unredacted SDP body from production calls.
Do not confuse it with
RTC_E_SDP_CONNECTION_ADDR | an SDP media description has no usable connection address at session or media level |
|---|---|
RTC_E_SDP_NO_MEDIA | the SDP contains no enabled media description usable for the requested RTC session |
RTC_E_SIP_NO_STREAM | the operation requires at least one active media stream but the session currently has none |
Technical references
Looking for a different code? Search another status or error code.
