Skip to content
Snippets Groups Projects
Commit 1256aedf authored by Alexander Traud's avatar Alexander Traud
Browse files

chan_sip: Do not send all codecs on INVITE.

Since version 13, Asterisk sent all allowed codecs as callee, even when the
caller did not request/support them. In case of dynamic RTP payloads, this led
to the same ID for different codecs, which is not allowed by SIP/SDP. Now, the
intersection between the requested and the supported codecs is send again.

ASTERISK-24543 #close

Change-Id: Ie90cb8bf893b0895f8d505e77343de3ba152a287
parent 31f13a1e
Branches
Tags
No related merge requests found
...@@ -13332,7 +13332,7 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int ...@@ -13332,7 +13332,7 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
} }
   
/* Finally our remaining audio/video codecs */ /* Finally our remaining audio/video codecs */
for (x = 0; x < ast_format_cap_count(p->caps); x++) { for (x = 0; ast_test_flag(&p->flags[0], SIP_OUTGOING) && x < ast_format_cap_count(p->caps); x++) {
tmp_fmt = ast_format_cap_get_format(p->caps, x); tmp_fmt = ast_format_cap_get_format(p->caps, x);
   
if (ast_format_cap_iscompatible_format(alreadysent, tmp_fmt) != AST_FORMAT_CMP_NOT_EQUAL) { if (ast_format_cap_iscompatible_format(alreadysent, tmp_fmt) != AST_FORMAT_CMP_NOT_EQUAL) {
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment