diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 13fe1b3711..284efe8d07 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -948,16 +948,25 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_add_crypto_key(switch_rtp_t *rtp_sess rtp_session->crypto_keys[direction] = crypto_key; memset(policy, 0, sizeof(*policy)); - + switch (crypto_key->type) { case AES_CM_128_HMAC_SHA1_80: crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy->rtp); + if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) { + switch_channel_set_variable(channel, "sip_has_crypto", "AES_CM_128_HMAC_SHA1_80"); + } break; case AES_CM_128_HMAC_SHA1_32: crypto_policy_set_aes_cm_128_hmac_sha1_32(&policy->rtp); + if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) { + switch_channel_set_variable(channel, "sip_has_crypto", "AES_CM_128_HMAC_SHA1_32"); + } break; case AES_CM_128_NULL_AUTH: crypto_policy_set_aes_cm_128_null_auth(&policy->rtp); + if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) { + switch_channel_set_variable(channel, "sip_has_crypto", "AES_CM_128_NULL_AUTH"); + } break; default: break;