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
