[svn-commits] mmichelson: branch group/CCSS r225359 - in /team/group/CCSS: include/asterisk...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Oct 22 11:40:28 CDT 2009


Author: mmichelson
Date: Thu Oct 22 11:40:25 2009
New Revision: 225359

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=225359
Log:
Add simple function to plop forth a manager event.


Modified:
    team/group/CCSS/include/asterisk/manager.h
    team/group/CCSS/main/ccss.c

Modified: team/group/CCSS/include/asterisk/manager.h
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/include/asterisk/manager.h?view=diff&rev=225359&r1=225358&r2=225359
==============================================================================
--- team/group/CCSS/include/asterisk/manager.h (original)
+++ team/group/CCSS/include/asterisk/manager.h Thu Oct 22 11:40:25 2009
@@ -73,6 +73,7 @@
 #define EVENT_FLAG_DIALPLAN		(1 << 11) /* Dialplan events (VarSet, NewExten) */
 #define EVENT_FLAG_ORIGINATE	(1 << 12) /* Originate a call to an extension */
 #define EVENT_FLAG_AGI			(1 << 13) /* AGI events */
+#define EVENT_FLAG_CC			(1 << 14) /* Call Completion events */
 /*@} */
 
 /*! \brief Export manager structures */

Modified: team/group/CCSS/main/ccss.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/main/ccss.c?view=diff&rev=225359&r1=225358&r2=225359
==============================================================================
--- team/group/CCSS/main/ccss.c (original)
+++ team/group/CCSS/main/ccss.c Thu Oct 22 11:40:25 2009
@@ -34,6 +34,7 @@
 #include "asterisk/module.h"
 #include "asterisk/app.h"
 #include "asterisk/cli.h"
+#include "asterisk/manager.h"
 
 /*** DOCUMENTATION
 	<application name="CallCompletionRequest" language="en_US">
@@ -2256,11 +2257,42 @@
 	return 0;
 }
 
+static struct {
+	enum cc_state state;
+	const char *state_string;
+} cc_state_to_string_map[] = {
+	{CC_AVAILABLE,          "CC is available"},
+	{CC_CALLER_OFFERED,     "CC offered to caller"},
+	{CC_CALLER_REQUESTED,   "CC requested by caller"},
+	{CC_ACTIVE,             "CC accepted by callee"},
+	{CC_CALLEE_READY,       "Callee has become available"},
+	{CC_CALLER_BUSY,        "Callee was ready, but caller is now unavailable"},
+	{CC_RECALLING,          "Caller is attempting to recall"},
+	{CC_COMPLETE,           "Recall complete"},
+	{CC_FAILED,             "CC has failed"},
+};
+
+static const char *cc_state_to_string(enum cc_state state)
+{
+	return cc_state_to_string_map[state].state_string;
+}
+
 struct cc_state_change_args {
 	enum cc_state state;
 	int core_id;
 	char debug[1];
 };
+
+static void cc_manager_event(int core_id, int is_caller, const char * const device, enum cc_state state, const char * const debug)
+{
+	manager_event(EVENT_FLAG_CC, "CCEvent",
+		"CoreID: %d\r\n"
+		"%s: %s\r\n"
+		"Status: %s\r\n"
+		"Reason: %s\r\n",
+		core_id, is_caller ? "Caller" : "Callee", device, cc_state_to_string(state), debug
+	);
+}
 
 static int cc_do_state_change(void *datap)
 {
@@ -2721,26 +2753,6 @@
 }
 
 static struct {
-	enum cc_state state;
-	const char *state_string;
-} cc_state_to_string_map[] = {
-	{CC_AVAILABLE,          "CC is available"},
-	{CC_CALLER_OFFERED,     "CC offered to caller"},
-	{CC_CALLER_REQUESTED,   "CC requested by caller"},
-	{CC_ACTIVE,             "CC accepted by callee"},
-	{CC_CALLEE_READY,       "Callee has become available"},
-	{CC_CALLER_BUSY,        "Callee was ready, but caller is now unavailable"},
-	{CC_RECALLING,          "Caller is attempting to recall"},
-	{CC_COMPLETE,           "Recall complete"},
-	{CC_FAILED,             "CC has failed"},
-};
-
-static const char *cc_state_to_string(enum cc_state state)
-{
-	return cc_state_to_string_map[state].state_string;
-}
-
-static struct {
 	enum ast_cc_service_type service;
 	const char *service_string;
 } cc_service_to_string_map[] = {




More information about the svn-commits mailing list