diff options
author | Alexander Traud <pabstraud@compuserve.com> | 2016-03-24 20:08:10 +0100 |
---|---|---|
committer | Alexander Traud <pabstraud@compuserve.com> | 2016-03-24 14:23:11 -0500 |
commit | 81ce60f6d442e9e681bdfa72bc3d0204ad1cc744 (patch) | |
tree | c52f3bf0a52b1cea0f2c187ddabb4bc2072780aa /channels | |
parent | d3af5320d43c73f0655ebaad1c818292c1250cc7 (diff) |
chan_sip: Do not send all codecs on INVITE. Do not break on Session-Timers.
Asterisk 13.7.0 included a fix for ASTERISK-24543, not to send all those
codecs, which the caller did not request/support. That fix was not complete
because on the second Session Timer all codecs were sent again. Some VoIP/SIP
clients interpreted that complete codec-list as a change in the SIP session.
Because of that, Asterisk did not send the RTP audio via NAT anymore which
created a non-audio scenario after the second Session Timer fired.
ASTERISK-24543 #close
Change-Id: I1881827816ab7fd47eb4287a95961179b34a0b66
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 83d3ea0eb..91fb0b546 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -13530,7 +13530,7 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int } /* Finally our remaining audio/video codecs */ - for (x = 0; ast_test_flag(&p->flags[0], SIP_OUTGOING) && x < ast_format_cap_count(p->caps); x++) { + for (x = 0; p->outgoing_call && x < ast_format_cap_count(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) { |