From 097d9a1ac551e906dc416e25773e9e54588f75dc Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 23 Feb 2012 12:23:18 -0600 Subject: [PATCH] missed a spot on commit 50727f56c63714e83b9a2c52492b5694b5a32097 --- src/mod/endpoints/mod_sofia/sofia_glue.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index bf31f3c5ca..4b31e760e1 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -565,13 +565,22 @@ void sofia_glue_set_local_sdp(private_object_t *tech_pvt, const char *ip, switch if (mult && switch_false(mult)) { char *bp = buf; - + int both = 1; + if ((!zstr(tech_pvt->local_crypto_key) && sofia_test_flag(tech_pvt, TFLAG_SECURE))) { generate_m(tech_pvt, buf, sizeof(buf), port, 0, append_audio, sr, use_cng, cng_type, map, verbose_sdp, 1); bp = (buf + strlen(buf)); + + /* asterisk can't handle AVP and SAVP in sep streams, way to blow off the spec....*/ + if (switch_true(switch_channel_get_variable(tech_pvt->channel, "sdp_secure_savp_only"))) { + both = 0; + } + } - generate_m(tech_pvt, bp, sizeof(buf) - strlen(buf), port, 0, append_audio, sr, use_cng, cng_type, map, verbose_sdp, 0); + if (both) { + generate_m(tech_pvt, bp, sizeof(buf) - strlen(buf), port, 0, append_audio, sr, use_cng, cng_type, map, verbose_sdp, 0); + } } else {