From 28e516528474224024d1b41b2114c6539a2d8fb8 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Wed, 18 May 2005 23:33:06 +0000 Subject: [PATCH] Actually apply timestamp bug (bug #3961) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5714 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_iax2.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 66d18990a5..4298145505 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -6527,8 +6527,17 @@ retryowner: /* Handle the IAX pseudo frame itself */ if (option_debug) ast_log(LOG_DEBUG, "IAX subclass %d received\n", f.subclass); - /* Go through the motions of delivering the packet without actually doing so */ - schedule_delivery(&fr, 0, updatehistory, 0); + + /* Update last ts unless the frame's timestamp originated with us. */ + if (iaxs[fr.callno]->last < fr.ts && + f.subclass != IAX_COMMAND_ACK && + f.subclass != IAX_COMMAND_PONG && + f.subclass != IAX_COMMAND_LAGRP) { + iaxs[fr.callno]->last = fr.ts; + if (option_debug) + ast_log(LOG_DEBUG, "For call=%d, set last=%d\n", fr.callno, fr.ts); + } + switch(f.subclass) { case IAX_COMMAND_ACK: /* Do nothing */