| Previous | Next |
| RTC_E_PORT_MANAGER_ALREADY_SET | RTC_E_UDP_NOT_SUPPORTED |
RTC_E_SECURITY_LEVEL_ALREADY_SET
Operational meaning: RTC_E_SECURITY_LEVEL_ALREADY_SET
This result is useful only when preserved with its producing phase; in applying client policy, authorized domains, transport requirements, and negotiated media security levels, it denotes the media security level has already been fixed for this media type and cannot be changed in the current session state.
The machine-readable identity of this result is 0x80EE007D in the RTC interface facility 0xEE; the result identity matters because RTC uses separate facilities for API conditions, SIP final responses, and PINT service statuses.
The first useful check is to record media type, original level setter, negotiation state, and requested replacement. The result must be separated from nearby conditions because immutability after setting differs from incompatibility with a peer.
Signals worth preserving
- Code-specific proof: record media type, original level setter, negotiation state, and requested replacement.
- Correlation key: profile/server domain.
- Protocol or object snapshot: requested media security level.
- Last completed transition: peer capability result.
- Expected output: transport selected for signaling.
Protocol and object state
| RTC area | RTC policy and media-security |
|---|---|
| Condition to prove | the media security level has already been fixed for this media type and cannot be changed in the current session state |
| Objects to correlate | enabled profile, policy source, authorized domain, media type, local and remote security level |
| Safe corrective direction | choose the level before negotiation or establish a new session under a different explicit policy |
Policy refusal is distinct from transport failure: the requested operation may be technically possible but prohibited for the current profile or platform. Media security must be compatible for each participating endpoint and should not be silently downgraded after negotiation begins.
Verification workflow
- Record it and
0x80EE007Dat the first RTC method or event that returns it. - Prove the condition by ensuring the trace can record media type, original level setter, negotiation state, and requested replacement.
- Apply one controlled change: choose the level before negotiation or establish a new session under a different explicit policy; then verify the result return value and resulting RTC state.
Do not confuse it with
RTC_E_SECURITY_LEVEL_NOT_DEFINED | the application has not defined the media security level required for the operation |
|---|---|
RTC_E_UDP_NOT_SUPPORTED | the requested feature or profile combination is incompatible with at least one server using UDP transport |
RTC_E_POLICY_NOT_ALLOW | effective RTC policy explicitly prohibits the requested action |
Recovery and control flow
Example: A late plugin tries to raise audio security after the offer has already been built.
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.