What does HRESULT 0x80EE0047 (RTC_E_SECURITY_LEVEL_NOT_COMPATIBLE) mean?

 
Previous Next
RTC_E_PORT_MAPPING_FAILED RTC_E_SECURITY_LEVEL_NOT_DEFINED

RTC_E_SECURITY_LEVEL_NOT_COMPATIBLE

What the RTC value marks: RTC_E_SECURITY_LEVEL_NOT_COMPATIBLE

When RTC returns this result, the relevant contract is applying client policy, authorized domains, transport requirements, and negotiated media security levels, and it says that local and remote media security requirements have no compatible negotiated level.

This result carries 0x80EE0047 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 compare required/maximum levels per media type and the peer’s advertised capabilities; the result evidence should demonstrate why this is negotiation incompatibility, not absence of a local security setting.

Protocol and object state

RTC areaRTC policy and media-security
Objects to correlateenabled profile, policy source, authorized domain, media type, local and remote security level
Condition to provelocal and remote media security requirements have no compatible negotiated level
Safe corrective directionuse a mutually supported level that still satisfies policy or fail the media session explicitly

Interpreting this result requires both of these facts: Policy refusal is distinct from transport failure: the requested operation may be technically possible but prohibited for the current profile or platform; also, the result branch assumes that Media security must be compatible for each participating endpoint and should not be silently downgraded after negotiation begins.

Evidence that separates the cause

  • Code-specific proof: compare required/maximum levels per media type and the peer’s advertised capabilities.
  • Identity and target: requested media security level.
  • State at production: peer capability result.
  • Timing and ordering: transport selected for signaling.

Related RTC results

RTC_E_POLICY_NOT_ALLOWeffective RTC policy explicitly prohibits the requested action
RTC_E_SECURITY_LEVEL_NOT_SUPPORTED_BY_PARTICIPANTa participant cannot support the security level selected for the session
RTC_E_UDP_NOT_SUPPORTEDthe requested feature or profile combination is incompatible with at least one server using UDP transport

A safe diagnostic sequence

  1. Start from 0x80EE0047, then find the method/event pair that first exposed it.
  2. To verify this, compare required/maximum levels per media type and the peer’s advertised capabilities.
  3. Keep the analysis at the right boundary: this is negotiation incompatibility, not absence of a local security setting.
  4. After you use a mutually supported level that still satisfies policy or fail the media session explicitly, repeat the smallest reproducer rather than restarting the entire application environment.

How to handle the result

The appropriate response to it is not a blanket reconnect. Instead, use a mutually supported level that still satisfies policy or fail the media session explicitly, while preserving ownership of cleanup and any bounded retry.

Example: One endpoint requires protected media while the peer offers only an unprotected mode.

Actions that do not address this condition

  • Do not bypass policy by editing generated profile XML in memory.
  • Do not downgrade security without an explicit product policy and user-visible result.

Technical references


Looking for a different code? Search another status or error code.