| Previous | Next |
| RTC_E_INVALID_REGISTRATION_STATE | RTC_E_MEDIA_ENABLED |
RTC_E_MEDIA_DISABLED
What RTC_E_MEDIA_DISABLED means in RTC
This HRESULT is emitted for a defined RTC state rather than an unspecified communications problem; that state is the requested media operation requires media that has been disabled for the client or session.
At the HRESULT layer, this result appears as 0x80EE006E in the RTC interface facility 0xEE; preserving the facility and symbol prevents it from being grouped incorrectly with unrelated networking or media errors.
To establish this result, record media-enable state, policy, session type, and who disabled it; this matters because disabled is an intentional configuration state, not absence of a device or failed stream start.
Minimum incident record
- Code-specific proof: record media-enable state, policy, session type, and who disabled it.
- Owning object: controller state before and after call.
- Wire evidence: stream direction and negotiated codec.
- Lifecycle state: device removal or format-change event.
Protocol and object state
| RTC area | RTC media controller and terminal |
|---|---|
| Objects to correlate | RTC session, media type, terminal/device, stream direction, controller state, acoustic echo cancellation |
| Condition to prove | the requested media operation requires media that has been disabled for the client or session |
| Safe corrective direction | enable the media type before negotiation or keep the session signaling/text-only |
Signaling success does not guarantee that a capture or render device exists or that a media stream can start. AddStream, RemoveStream, hold, and terminal selection change the media state machine and can race with callbacks from the previous operation.
Correct application response
The appropriate response to it is not a blanket reconnect. Instead, enable the media type before negotiation or keep the session signaling/text-only, while preserving ownership of cleanup and any bounded retry.
Example: A voice-control command runs after the application has disabled all audio media.
How to prove the condition
- Use protocol and object evidence to record media-enable state, policy, session type, and who disabled it.
- Confirm the distinction that disabled is an intentional configuration state, not absence of a device or failed stream start.
- Start a fresh operation after you enable the media type before negotiation or keep the session signaling/text-only, and compare its final state with the failing run.
Nearby failure modes
RTC_E_MEDIA_NEED_TERMINAL | the media stream has no terminal/device bound for the requested direction |
|---|---|
RTC_E_START_STREAM | RTC could not move a negotiated stream into the started state |
RTC_E_MEDIA_CONTROLLER_STATE | the requested media action is illegal in the current controller state |
Actions that do not address this condition
- Do not assume the default Windows device is the terminal selected by the RTC object.
- Do not recreate the entire SIP session before determining whether only a local terminal failed.
Technical references
Looking for a different code? Search another status or error code.
