From 04f517d70c953538e87e03c7238fe1785d906b02 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Thu, 15 Oct 2009 15:20:22 +0000 Subject: [PATCH] - don't update dialog status when processing ACK - only update remote URI on target refresh requests (INV, UPD, SUB, NOT) git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1545 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- core/AmSipDialog.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/AmSipDialog.cpp b/core/AmSipDialog.cpp index bc3dcc67..703f872d 100644 --- a/core/AmSipDialog.cpp +++ b/core/AmSipDialog.cpp @@ -69,10 +69,18 @@ AmSipDialog::~AmSipDialog() void AmSipDialog::updateStatus(const AmSipRequest& req) { + if (req.method == "ACK") + return; + if(uas_trans.find(req.cseq) == uas_trans.end()) uas_trans[req.cseq] = AmSipTransaction(req.method,req.cseq); - if (req.from_uri.length()) + // target refresh requests + if (req.from_uri.length() && + (req.method == "INVITE" || + req.method == "UPDATE" || + req.method == "SUBSCRIBE" || + req.method == "NOTIFY")) remote_uri = req.from_uri; sip_ip = req.dstip;