Module: sems
Branch: master
Commit: 486d3fc01735e4d28f8cca290bf7022efc0c5ed3
URL: 
https://github.com/sems-server/sems/commit/486d3fc01735e4d28f8cca290bf7022efc0c5ed3

Author: Stefan Sayer <[email protected]>
Committer: Stefan Sayer <[email protected]>
Date: 2015-06-09T00:31:14+02:00

dsm:log event type when processing events

---

Modified: apps/dsm/DSMStateEngine.cpp
Modified: apps/dsm/DSMStateEngine.h

---

Diff:  
https://github.com/sems-server/sems/commit/486d3fc01735e4d28f8cca290bf7022efc0c5ed3.diff
Patch: 
https://github.com/sems-server/sems/commit/486d3fc01735e4d28f8cca290bf7022efc0c5ed3.patch

---

diff --git a/apps/dsm/DSMStateEngine.cpp b/apps/dsm/DSMStateEngine.cpp
index 3475c04..462b681 100644
--- a/apps/dsm/DSMStateEngine.cpp
+++ b/apps/dsm/DSMStateEngine.cpp
@@ -37,6 +37,78 @@
 
 #include "DSM.h" // for DSMFactory::MonitoringFullCallgraph
 
+const char* DSMCondition::type2str(EventType event) {
+#define rt(e) case e: return #e;
+
+  switch (event) {
+    rt(Any);
+    rt(Start);
+    rt(Invite);
+    rt(SessionStart);
+    rt(Ringing);
+    rt(EarlySession);
+    rt(FailedCall);
+    rt(SipRequest);
+    rt(SipReply);
+
+    rt(Hangup);
+    rt(Hold);
+    rt(UnHold);
+
+    rt(B2BOtherRequest);
+    rt(B2BOtherReply);
+    rt(B2BOtherBye);
+
+    rt(SessionTimeout);
+    rt(RtpTimeout);
+    rt(RemoteDisappeared);
+
+    rt(Key);
+    rt(Timer);
+
+    rt(NoAudio);
+    rt(PlaylistSeparator);
+
+    rt(DSMEvent);
+    rt(B2BEvent);
+    rt(DSMException);
+
+    rt(XmlrpcResponse);
+
+    rt(JsonRpcResponse);
+    rt(JsonRpcRequest);
+
+    rt(Startup);
+    rt(Reload);
+    rt(System);
+
+    rt(SIPSubscription);
+
+    rt(RTPTimeout);
+
+    // SBC related
+    rt(LegStateChange);
+    rt(BLegRefused);
+
+    rt(PutOnHold);
+    rt(ResumeHeld);
+    rt(CreateHoldRequest);
+    rt(HandleHoldReply);
+
+    rt(RelayInit);
+    rt(RelayInitUAC);
+    rt(RelayInitUAS);
+    rt(RelayFinalize);
+    rt(RelayOnSipRequest);
+    rt(RelayOnSipReply);
+    rt(RelayOnB2BRequest);
+    rt(RelayOnB2BReply);
+
+  default: return "<unknown>";
+#undef rt
+  };
+}
+
 DSMStateDiagram::DSMStateDiagram(const string& name) 
   : name(name) {
 }
@@ -526,7 +598,9 @@ void DSMStateEngine::runEvent(AmSession* sess, DSMSession* 
sc_sess,
   map<string,string> exception_params;
   bool is_exception = run_exception;
 
-  DBG("o v DSM processing event, current state '%s' v\n", 
current->name.c_str());
+  DBG("o v DSM current state '%s', processing '%s' event v\n",
+      current->name.c_str(), DSMCondition::type2str(event));
+
   bool is_consumed = true;
   do {
     try {
diff --git a/apps/dsm/DSMStateEngine.h b/apps/dsm/DSMStateEngine.h
index 6c0b9f1..7a247f5 100644
--- a/apps/dsm/DSMStateEngine.h
+++ b/apps/dsm/DSMStateEngine.h
@@ -128,6 +128,8 @@ class DSMCondition
 #endif
   };
 
+  static const char* type2str(EventType event);
+
   bool invert; 
   
   DSMCondition() : invert(false) { }

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

Reply via email to