From 4bd768a43e6f01b92623343b0dbfd3728a24c2ba Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Tue, 8 Apr 2003 21:19:51 +0000
Subject: [PATCH] Always ack packets

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index fda8d4fbca..5ee2eadad9 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3674,13 +3674,14 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
 	msg = strchr(c, ' ');
 	if (!msg) msg = ""; else msg++;
 	owner = p->owner;
+	/* Acknowledge whatever it is destined for */
+	__sip_ack(p, seqno, 0);
 	if (p->peerpoke) {
 		/* We don't really care what the response is, just that it replied back. 
 		   Well, as long as it's not a 100 response...  since we might
 		   need to hang around for something more "difinitive" */
 		if (resp != 100) {
 			int statechanged = 0;
-			__sip_ack(p, seqno, 0);
 			peer = p->peerpoke;
 			gettimeofday(&tv, NULL);
 			pingtime = (tv.tv_sec - peer->ps.tv_sec) * 1000 +
@@ -3718,7 +3719,6 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
 		}
 	} else if (p->outgoing) {
 		/* Acknowledge sequence number */
-		__sip_ack(p, seqno, 0);
 		if (p->initid > -1) {
 			/* Don't auto congest anymore since we've gotten something useful back */
 			ast_sched_del(sched, p->initid);
-- 
GitLab