summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorAlexander Traud <pabstraud@compuserve.com>2016-03-24 20:08:10 +0100
committerAlexander Traud <pabstraud@compuserve.com>2016-03-24 20:21:22 +0100
commit3f720155b7c8b3089c59cbfc78150aff4efc8240 (patch)
treedcac28bf638a061c7abb842fe19af5bd804348d5 /channels
parent894071ea2cedcc65e452cabfe3cd805daf5a6a1d (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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 09ab1a196..ffc2084a1 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -13531,7 +13531,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) {