Module: sems
Branch: master
Commit: dd920d04d552a8ac36f4d39ee9d6d76f86836b53
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=dd920d04d552a8ac36f4d39ee9d6d76f86836b53

Author: Raphael Coeffic <[email protected]>
Committer: Raphael Coeffic <[email protected]>
Date:   Thu Mar 21 10:38:22 2013 +0100

b2b: do not relay replies if the to-tag is different from the dialog's 
remote-tag.

---

 core/AmB2BSession.cpp |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/core/AmB2BSession.cpp b/core/AmB2BSession.cpp
index 21b7ecf..2279c9a 100644
--- a/core/AmB2BSession.cpp
+++ b/core/AmB2BSession.cpp
@@ -435,6 +435,12 @@ void AmB2BSession::onSipReply(const AmSipRequest& req, 
const AmSipReply& reply,
       reply.cseq_method.c_str(), reply.code,reply.reason.c_str(),
       fwd?"true":"false",reply.body.getCTStr().c_str());
 
+  if(!dlg->getRemoteTag().empty() && dlg->getRemoteTag() != reply.to_tag) {    
+    DBG("sess %p received %i reply with != to-tag: %s (remote-tag:%s)",
+       this, reply.code, reply.to_tag.c_str(),dlg->getRemoteTag().c_str());
+    return; // drop packet
+  }
+
   AmSdp sdp;
 
   if ((rtp_relay_mode == RTP_Relay) &&

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

Reply via email to