From af1666f1cfb2d437222bf788ce488f6acc61719e Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Sun, 13 Jan 2013 21:44:54 +0000 Subject: [PATCH] Reset RTP timestamp; sequence number on SSRC change In r370252 for ASTERISK-18404, Asterisk's handling of RTP was modified to better account for out of order RTP packets. This was accomplished by using the RTP timestamp and sequence number to check for out of order packets. However, when a SSRC change occurs, the timestamp and sequence number will no longer have any relation to the previously received packets. The variables tracking the timestamp and sequence number therefore have to be reset. (closes issue ASTERISK-20906) Reported by: Eelco Brolman patches: dtmf_on_hold.patch uploaded by Eelco Brolman (license #6442) ........ Merged revisions 378967 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@378984 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_rtp_asterisk.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 43ea2229d1..b40c230868 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -3583,6 +3583,9 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc f = ast_frisolate(&srcupdate); AST_LIST_INSERT_TAIL(&frames, f, frame_list); + + rtp->last_seqno = 0; + rtp->last_end_timestamp = 0; } rtp->rxssrc = ssrc;