--- main/sdp_srtp.c (Asterisk 13.38.1) +++ main/sdp_srtp.c (working copy) @@ -207,2 +207,3 @@ int ast_sdp_crypto_process(struct ast_rt { + const unsigned int prev_flags = srtp->flags; char *str = NULL; @@ -350,4 +351,4 @@ int ast_sdp_crypto_process(struct ast_rt - if (!memcmp(crypto->remote_key, remote_key, sizeof(crypto->remote_key))) { - ast_debug(1, "SRTP remote key unchanged; maintaining current policy\n"); + if (prev_flags == srtp->flags && !memcmp(crypto->remote_key, remote_key, sizeof(crypto->remote_key))) { + ast_debug(1, "SRTP remote suite and key unchanged; maintaining current policy\n"); return 0;