[asterisk-commits] mjordan: branch 11 r373508 - in /branches/11: ./ res/res_rtp_asterisk.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Sep 24 17:18:01 CDT 2012


Author: mjordan
Date: Mon Sep 24 17:17:58 2012
New Revision: 373508

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=373508
Log:
Revert change to res_rtp_asterisk committed in r373236 (1.8)

The change committed in r373236 attempted to account for endpoints that
increased their RTP timestamp in DTMF end of event re-transmissions.  This
change attempted to make Asterisk continue to work with endpoints that
failed to follow the RFC while maintaining the fix that allowed for out of
order DTMF to be handled.  Unfortunately, there is no free lunch, and this
patch broke any system that sent DTMF immediately after an RTP session was
established or when an SSRC is updated.  As such, that patch is being
reverted for the previous behavior.

Endpoints that erroneously increase the RTP timestamp in DTMF end of event
packets will not work properly with Asterisk.

(issue ASTERISK-20424)
........

Merged revisions 373504 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 373505 from http://svn.asterisk.org/svn/asterisk/branches/10

Modified:
    branches/11/   (props changed)
    branches/11/res/res_rtp_asterisk.c

Propchange: branches/11/
------------------------------------------------------------------------------
Binary property 'branch-10-merged' - no diff available.

Modified: branches/11/res/res_rtp_asterisk.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/res/res_rtp_asterisk.c?view=diff&rev=373508&r1=373507&r2=373508
==============================================================================
--- branches/11/res/res_rtp_asterisk.c (original)
+++ branches/11/res/res_rtp_asterisk.c Mon Sep 24 17:17:58 2012
@@ -2859,9 +2859,7 @@
 		new_duration = (new_duration & ~0xFFFF) | samples;
 
 		if (event_end & 0x80) {
-			/* End event.  Absorb re-transmits, and account for some endpoints
-			 * that erroneously increment the timestamp during re-transmissions */
-			if ((seqno != rtp->last_seqno) && (timestamp > rtp->last_end_timestamp + 320)) {
+			if ((seqno != rtp->last_seqno) && (timestamp > rtp->last_end_timestamp)) {
 				rtp->last_end_timestamp = timestamp;
 				rtp->dtmf_duration = new_duration;
 				rtp->resp = resp;




More information about the asterisk-commits mailing list