summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2007-05-17 16:11:26 +0000
committerJoshua Colp <jcolp@digium.com>2007-05-17 16:11:26 +0000
commita769766c538372ec28ddd35377047193a58236cf (patch)
tree50b88b8d50068ee82c90da7e9f3388b3944a8d80 /channels
parent73b2f292bc088759e6ad173721ca111956bac304 (diff)
Merged revisions 64754 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r64754 | file | 2007-05-17 12:10:12 -0400 (Thu, 17 May 2007) | 2 lines Even more direct RTP setup fixes! Don't allow a codec that isn't supported to creep into the SDP of either side. (issue #9446 reported by marcelbarbulescu) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 7e5499d44..732e1690e 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -17960,6 +17960,11 @@ static int sip_set_rtp_peer(struct ast_channel *chan, struct ast_rtp *rtp, struc
p->redircodecs = codecs;
changed = 1;
}
+ if ((p->capability & codecs) != p->capability) {
+ p->jointcapability &= codecs;
+ p->capability &= codecs;
+ changed = 1;
+ }
if (changed && !ast_test_flag(&p->flags[0], SIP_GOTREFER)) {
if (chan->_state != AST_STATE_UP) { /* We are in early state */
if (!ast_test_flag(&p->flags[0], SIP_NO_HISTORY))