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
