From 7db03e12a7448e6b0289ad0b62081c1d52886b50 Mon Sep 17 00:00:00 2001
From: bernard merindol <bernard.merindol@telnowedge.com>
Date: Wed, 8 Apr 2020 12:29:42 +0200
Subject: [PATCH] =?UTF-8?q?res=5Frtp=5Fasterisk.c:=C2=A0Check=20for=20firs?=
 =?UTF-8?q?t=20DTMF=20having=20timestamp=20set=20to=200?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When the first DTMF receive in RF2833 codec have TimeStamp at 0
is not processed.

ASTERISK-28812

Change-Id: I3196803a062dd2daee4938c9a778c3810cb7e504
---
 res/res_rtp_asterisk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index 739b17b778..4fc42177ce 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -5492,7 +5492,7 @@ static void process_dtmf_rfc2833(struct ast_rtp_instance *instance, unsigned cha
 
 		if (event_end & 0x80) {
 			/* End event */
-			if ((rtp->last_seqno != seqno) && (timestamp > rtp->last_end_timestamp)) {
+			if ((rtp->last_seqno != seqno) && ((timestamp > rtp->last_end_timestamp) || ((timestamp == 0) && (rtp->last_end_timestamp == 0)))) {
 				rtp->last_end_timestamp = timestamp;
 				rtp->dtmf_duration = new_duration;
 				rtp->resp = resp;
-- 
GitLab