}
-static char *get_setup(switch_core_session_t *session)
+static char *get_setup(switch_core_session_t *session, switch_sdp_type_t sdp_type)
{
- if (switch_channel_direction(session->channel) == SWITCH_CALL_DIRECTION_INBOUND && !switch_channel_test_flag(session->channel, CF_RECOVERING)) {
+ if (sdp_type == SDP_TYPE_RESPONSE) {
return "active";
}
if (!zstr(a_engine->local_dtls_fingerprint.type) && secure) {
switch_snprintf(buf + strlen(buf), buflen - strlen(buf), "a=fingerprint:%s %s\na=setup:%s\n", a_engine->local_dtls_fingerprint.type,
- a_engine->local_dtls_fingerprint.str, get_setup(session));
+ a_engine->local_dtls_fingerprint.str, get_setup(session, sdp_type));
}
if (smh->mparams->rtcp_audio_interval_msec) {
if (!zstr(a_engine->local_dtls_fingerprint.type)) {
switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=fingerprint:%s %s\na=setup:%s\n", a_engine->local_dtls_fingerprint.type,
- a_engine->local_dtls_fingerprint.str, get_setup(session));
+ a_engine->local_dtls_fingerprint.str, get_setup(session, sdp_type));
}
if (smh->mparams->rtcp_audio_interval_msec) {
if (!zstr(v_engine->local_dtls_fingerprint.type)) {
switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=fingerprint:%s %s\na=setup:%s\n", v_engine->local_dtls_fingerprint.type,
- v_engine->local_dtls_fingerprint.str, get_setup(session));
+ v_engine->local_dtls_fingerprint.str, get_setup(session, sdp_type));
}