Author: sayer
Date: 2009-10-15 17:20:22 +0200 (Thu, 15 Oct 2009)
New Revision: 1545

Modified:
   trunk/core/AmSipDialog.cpp
Log:
- don't update dialog status when processing ACK 
- only update remote URI on target refresh requests (INV, UPD, SUB, NOT)



Modified: trunk/core/AmSipDialog.cpp
===================================================================
--- trunk/core/AmSipDialog.cpp  2009-10-15 14:00:59 UTC (rev 1544)
+++ trunk/core/AmSipDialog.cpp  2009-10-15 15:20:22 UTC (rev 1545)
@@ -69,10 +69,18 @@
 
 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;

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to