[asterisk-commits] mmichelson: branch mmichelson/queue_bugbug r396945 - /team/mmichelson/queue_b...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Aug 19 18:55:23 CDT 2013
Author: mmichelson
Date: Mon Aug 19 18:55:22 2013
New Revision: 396945
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=396945
Log:
Forward messages from the queue topic to the manager topic.
This makes AgentComplete manager events show up correctly.
Modified:
team/mmichelson/queue_bugbug/apps/app_queue.c
Modified: team/mmichelson/queue_bugbug/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/queue_bugbug/apps/app_queue.c?view=diff&rev=396945&r1=396944&r2=396945
==============================================================================
--- team/mmichelson/queue_bugbug/apps/app_queue.c (original)
+++ team/mmichelson/queue_bugbug/apps/app_queue.c Mon Aug 19 18:55:22 2013
@@ -10311,6 +10311,7 @@
};
static struct stasis_message_router *agent_router;
+static struct stasis_subscription *topic_forwarder;
static int unload_module(void)
{
@@ -10338,6 +10339,7 @@
stasis_message_router_remove(message_router, queue_agent_ringnoanswer_type());
}
stasis_message_router_unsubscribe_and_join(agent_router);
+ topic_forwarder = stasis_unsubscribe(topic_forwarder);
STASIS_MESSAGE_TYPE_CLEANUP(queue_caller_join_type);
STASIS_MESSAGE_TYPE_CLEANUP(queue_caller_leave_type);
@@ -10416,6 +10418,8 @@
struct ast_flags mask = {AST_FLAGS_ALL, };
struct ast_config *member_config;
struct stasis_message_router *manager_router;
+ struct stasis_topic *queue_topic;
+ struct stasis_topic *manager_topic;
queues = ao2_container_alloc(MAX_QUEUE_BUCKETS, queue_hash_cb, queue_cmp_cb);
@@ -10486,8 +10490,20 @@
res = -1;
}
+ manager_topic = ast_manager_get_topic();
+ if (!manager_topic) {
+ return AST_MODULE_LOAD_DECLINE;
+ }
manager_router = ast_manager_get_message_router();
if (!manager_router) {
+ return AST_MODULE_LOAD_DECLINE;
+ }
+ queue_topic = ast_queue_topic_all();
+ if (!queue_topic) {
+ return AST_MODULE_LOAD_DECLINE;
+ }
+ topic_forwarder = stasis_forward_all(queue_topic, manager_topic);
+ if (!topic_forwarder) {
return AST_MODULE_LOAD_DECLINE;
}
More information about the asterisk-commits
mailing list