Site icon EfmSoft

What does HRESULT 0x80EE0076 (RTC_E_MEDIA_SESSION_IN_HOLD) mean?

 
Previous Next
RTC_E_MEDIA_SESSION_NOT_EXIST RTC_E_ANOTHER_MEDIA_SESSION_ACTIVE

RTC_E_MEDIA_SESSION_IN_HOLD

Where the state changes: RTC_E_MEDIA_SESSION_IN_HOLD

This result belongs to the RTC media controller and terminal boundary area of RTC and identifies the media session is currently held and cannot perform the requested active-media operation.

This result carries 0x80EE0076 in the RTC interface facility 0xEE; store the result value at the first RTC callback or method boundary, before retry logic replaces it with a broader timeout or connection message.

Collect enough state to record local/remote hold source, negotiated direction attributes, pending re-INVITE, and controller state; the result evidence should demonstrate why hold is negotiated session state, not the same as muted audio or missing device.

Telemetry and packet evidence

  • Code-specific proof: record local/remote hold source, negotiated direction attributes, pending re-INVITE, and controller state.
  • Addressing context: controller state before and after call.
  • RTC callback state: stream direction and negotiated codec.
  • Transaction boundary: device removal or format-change event.
  • Media or profile detail: session and media type.

Step-by-step isolation

  1. Start from 0x80EE0076 and this result, then find the method/event pair that first exposed it.
  2. To verify this, record local/remote hold source, negotiated direction attributes, pending re-INVITE, and controller state.
  3. Keep the analysis at the right boundary: hold is negotiated session state, not the same as muted audio or missing device.
  4. After you resume through the RTC hold state machine before invoking active-media work, repeat the smallest reproducer rather than restarting the entire application environment.

Protocol and object state

RTC areaRTC media controller and terminal
Condition to provethe media session is currently held and cannot perform the requested active-media operation
Objects to correlateRTC session, media type, terminal/device, stream direction, controller state, acoustic echo cancellation
Safe corrective directionresume through the RTC hold state machine before invoking active-media work

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.

Recovery

The owning RTC component should resume through the RTC hold state machine before invoking active-media work; it should also settle or cancel its previous operation before callers begin a replacement.

Example: A recorder tries to start transmission while the call is on negotiated hold.

Comparison with adjacent codes

RTC_E_MEDIA_SESSION_NOT_EXISTthe requested media-session object no longer exists for the RTC signaling session
RTC_E_MEDIA_VIDEO_DEVICE_NOT_AVAILABLEthe selected video capture or render device is unavailable to RTC
RTC_E_ANOTHER_MEDIA_SESSION_ACTIVERTC permits only one active media session for the relevant resource and another session currently owns it

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.

Exit mobile version