[svn-commits] mmichelson: branch 1.6.0 r129438 - in /branches/1.6.0: ./ main/rtp.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Jul 9 14:41:31 CDT 2008


Author: mmichelson
Date: Wed Jul  9 14:41:31 2008
New Revision: 129438

URL: http://svn.digium.com/view/asterisk?view=rev&rev=129438
Log:
Merged revisions 129437 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r129437 | mmichelson | 2008-07-09 14:40:30 -0500 (Wed, 09 Jul 2008) | 21 lines

Merged revisions 129436 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r129436 | mmichelson | 2008-07-09 14:32:20 -0500 (Wed, 09 Jul 2008) | 13 lines

Fix a problem where inbound rfc2833 audio would be sent to the 
core instead of being P2P bridged. When the core regenerated
the rfc2833 packet for the outbound leg, the SSRC would be different
than the RTP audio on the call leg causing DTMF detection issues on
the far end.

(closes issue #12955)
Reported by: tonyredstone
Patches:
      dynamic_rtp.patch uploaded by tsearle (license 373)
Tested by: tonyredstone


........

................

Modified:
    branches/1.6.0/   (props changed)
    branches/1.6.0/main/rtp.c

Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.0/main/rtp.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/main/rtp.c?view=diff&rev=129438&r1=129437&r2=129438
==============================================================================
--- branches/1.6.0/main/rtp.c (original)
+++ branches/1.6.0/main/rtp.c Wed Jul  9 14:41:31 2008
@@ -1333,16 +1333,17 @@
 	/* Check what the payload value should be */
 	rtpPT = ast_rtp_lookup_pt(rtp, payload);
 
-	/* If the payload coming in is not one of the negotiated ones then send it to the core, this will cause formats to change and the bridge to break */
-	if (!bridged->current_RTP_PT[payload].code)
-		return -1;
-
 	/* If the payload is DTMF, and we are listening for DTMF - then feed it into the core */
 	if (ast_test_flag(rtp, FLAG_P2P_NEED_DTMF) && !rtpPT.isAstFormat && rtpPT.code == AST_RTP_DTMF)
 		return -1;
 
 	/* Otherwise adjust bridged payload to match */
 	bridged_payload = ast_rtp_lookup_code(bridged, rtpPT.isAstFormat, rtpPT.code);
+
+	/* If the payload coming in is not one of the negotiated ones then send it to the core, this will cause formats to change and the bridge to break */
+	if (!bridged->current_RTP_PT[bridged_payload].code)
+		return -1;
+
 
 	/* If the mark bit has not been sent yet... do it now */
 	if (!ast_test_flag(rtp, FLAG_P2P_SENT_MARK)) {




More information about the svn-commits mailing list