Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
When the RTC Client API receives notification of an incoming session, the security level of the incoming session is checked against the required security level of the application before the application receives notification of an incoming session. If the security level of the incoming session does not match the security level set by the application, then the RTC Client API will automatically decline the session without notifying the application. This will happen only if one party has specified the RTCSECL_REQUIRED security type and the other party has specified the RTCSECL_UNSUPPORTED security type for the session.
If there is a match in security levels—for example, if both the incoming session and the application specify RTCSECL_REQUIRED—then the session moves to the RTCSS_INCOMING state and the application is notified of the state change via the IRTCSessionStateChangeEvent interface. If the application wants to know more about the incoming call before accepting it, the IRTCSessionStateChangeEvent2 interface can be used to determine the security type and the security level by calling the IRTCSessionStateChangeEvent2::get_RemotePreferredSecurityLevel on the incoming session.
Once the session is accepted and the state moves into the RTCSS_CONNECTED state, the application can query for security settings with the IRTCSession2::IsSecurityEnabled for each security type in the session.
The application can also choose to renegotiate the security for the session at any time by calling the IRTCSession2::put_PreferredSecurityLevel method. (For more information, see the Setting Encryption on the Session Object topic).