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

Author: Raphael Coeffic <[email protected]>
Committer: Raphael Coeffic <[email protected]>
Date:   Tue Apr 12 15:03:01 2011 +0200

CANCEL should be treated hop-by-hop.

---

 core/AmB2BSession.cpp |    9 +++++++++
 core/AmB2BSession.h   |    1 +
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/core/AmB2BSession.cpp b/core/AmB2BSession.cpp
index c053fd4..f69ec88 100644
--- a/core/AmB2BSession.cpp
+++ b/core/AmB2BSession.cpp
@@ -939,6 +939,15 @@ void AmB2BCallerSession::onSessionStart(const 
AmSipRequest& req)
   AmB2BSession::onSessionStart(req);
 }
 
+void AmB2BCallerSession::onCancel()
+{
+  if(dlg.getStatus() == AmSipDialog::Pending) {
+    terminateOtherLeg();
+    terminateLeg();
+    dlg.reply(invite_req, 487, "Request terminated");
+  }
+}
+
 void AmB2BCallerSession::connectCallee(const string& remote_party,
                                       const string& remote_uri,
                                       bool relayed_invite)
diff --git a/core/AmB2BSession.h b/core/AmB2BSession.h
index 11faa2e..525e4bf 100644
--- a/core/AmB2BSession.h
+++ b/core/AmB2BSession.h
@@ -308,6 +308,7 @@ class AmB2BCallerSession: public AmB2BSession
 
   // @see AmSession
   void onSessionStart(const AmSipRequest& req);
+  void onCancel();
 
   // @see AmB2BSession
   void terminateLeg();

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

Reply via email to