aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-17 16:11:26 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-17 16:11:26 +0000
commitd2683128536edad7b33b9d0faf1651f01d9f3455 (patch)
tree50b88b8d50068ee82c90da7e9f3388b3944a8d80 /channels
parent4c1702100630f429e6331b0537a584a02f92ea69 (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: http://svn.digium.com/svn/asterisk/trunk@64755 f38db490-d61c-443f-a65b-d21fe96a405b
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))