From: Mike Jerris Date: Sat, 2 Feb 2019 02:24:38 +0000 (-0500) Subject: FS-11642: [core] add audio and video versions of the variables set for the rtp_retain... X-Git-Tag: v1.10.0~115 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9050a089529ca963bb2ae2ca5fb67cd5bc879136;p=thirdparty%2Ffreeswitch.git FS-11642: [core] add audio and video versions of the variables set for the rtp_retain_crypto_keys feature --- diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 392c5c49bf..02ee86c82f 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -3959,6 +3959,43 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_add_crypto_key(switch_rtp_t *rtp_sess default: break; } + + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { + switch(direction) { + case SWITCH_RTP_CRYPTO_SEND: + switch_channel_set_variable(channel, "srtp_local_video_crypto_key", (const char *)b64_key); + break; + case SWITCH_RTP_CRYPTO_RECV: + switch_channel_set_variable(channel, "srtp_remote_video_crypto_key", (const char *)b64_key); + break; + case SWITCH_RTP_CRYPTO_SEND_RTCP: + switch_channel_set_variable(channel, "srtcp_local_video_crypto_key", (const char *)b64_key); + break; + case SWITCH_RTP_CRYPTO_RECV_RTCP: + switch_channel_set_variable(channel, "srtcp_remote_video_crypto_key", (const char *)b64_key); + break; + default: + break; + } + + } else { + switch(direction) { + case SWITCH_RTP_CRYPTO_SEND: + switch_channel_set_variable(channel, "srtp_local_audio_crypto_key", (const char *)b64_key); + break; + case SWITCH_RTP_CRYPTO_RECV: + switch_channel_set_variable(channel, "srtp_remote_audio_crypto_key", (const char *)b64_key); + break; + case SWITCH_RTP_CRYPTO_SEND_RTCP: + switch_channel_set_variable(channel, "srtcp_local_audio_crypto_key", (const char *)b64_key); + break; + case SWITCH_RTP_CRYPTO_RECV_RTCP: + switch_channel_set_variable(channel, "srtcp_remote_audio_crypto_key", (const char *)b64_key); + break; + default: + break; + } + } } crypto_key = switch_core_alloc(rtp_session->pool, sizeof(*crypto_key));