Module: sems
Branch: master
Commit: 2b5a16158df7aeadd53e9b7e9092c0e3979b0073
URL: 
https://github.com/sems-server/sems/commit/2b5a16158df7aeadd53e9b7e9092c0e3979b0073

Author: Stefan Sayer <[email protected]>
Committer: Stefan Sayer <[email protected]>
Date: 2015-05-18T13:05:54+02:00

b/f: handle exceptions in non-INVITE OoD-Messages properly

---

Modified: core/AmSipDispatcher.cpp

---

Diff:  
https://github.com/sems-server/sems/commit/2b5a16158df7aeadd53e9b7e9092c0e3979b0073.diff
Patch: 
https://github.com/sems-server/sems/commit/2b5a16158df7aeadd53e9b7e9092c0e3979b0073.patch

---

diff --git a/core/AmSipDispatcher.cpp b/core/AmSipDispatcher.cpp
index b878fee..0f2e92f 100644
--- a/core/AmSipDispatcher.cpp
+++ b/core/AmSipDispatcher.cpp
@@ -119,8 +119,14 @@ void AmSipDispatcher::handleSipMsg(AmSipRequest &req)
     string app_name;
     AmSessionFactory* sess_fact = 
AmPlugIn::instance()->findSessionFactory(req,app_name);
     if (sess_fact) {
-      sess_fact->onOoDRequest(req);
-      return;
+      try {
+       sess_fact->onOoDRequest(req);
+       return;
+      } catch (AmSession::Exception& e) {
+       AmSipDialog::reply_error(req,e.code,e.reason, e.hdrs);
+       ERROR("%i %s %s\n",e.code,e.reason.c_str(), e.hdrs.c_str());
+       return;
+      }
     }
        
     if (req.method == SIP_METH_OPTIONS) {

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

Reply via email to