What does HRESULT 0x80EE006E (RTC_E_MEDIA_DISABLED) mean?

 
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 areaRTC media controller and terminal
Objects to correlateRTC session, media type, terminal/device, stream direction, controller state, acoustic echo cancellation
Condition to provethe requested media operation requires media that has been disabled for the client or session
Safe corrective directionenable 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

  1. Use protocol and object evidence to record media-enable state, policy, session type, and who disabled it.
  2. Confirm the distinction that disabled is an intentional configuration state, not absence of a device or failed stream start.
  3. 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_TERMINALthe media stream has no terminal/device bound for the requested direction
RTC_E_START_STREAMRTC could not move a negotiated stream into the started state
RTC_E_MEDIA_CONTROLLER_STATEthe 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.