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