diff --git a/daemon/call.c b/daemon/call.c index 307b9bfe9..70c950172 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -1916,10 +1916,17 @@ static void __generate_crypto(const struct sdp_ng_flags *flags, struct call_medi if (!this->protocol || !this->protocol->srtp || MEDIA_ISSET(this, PASSTHRU)) { cp->crypto_suite = NULL; + /* clear crypto for the this leg b/c we are in passthrough mode */ MEDIA_CLEAR(this, DTLS); MEDIA_CLEAR(this, SDES); MEDIA_CLEAR(this, SETUP_PASSIVE); MEDIA_CLEAR(this, SETUP_ACTIVE); + /* clear crypto for the other leg as well b/c passthrough only works if it is done for both legs */ + MEDIA_CLEAR(other, DTLS); + MEDIA_CLEAR(other, SDES); + MEDIA_CLEAR(other, SETUP_PASSIVE); + MEDIA_CLEAR(other, SETUP_ACTIVE); + return; }