[asterisk-commits] mmichelson: branch 1.8 r306575 - /branches/1.8/main/ccss.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Feb 7 11:36:59 CST 2011
Author: mmichelson
Date: Mon Feb 7 11:36:56 2011
New Revision: 306575
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=306575
Log:
Rearrange a bit of code in the generic CC recall operation.
By waiting to call the callback macro after the CC_INTERFACES,
extension, priority, and context have been set, this information
can be accessed more easily within the callback macro.
Reported by Philippe Lindheimer.
Modified:
branches/1.8/main/ccss.c
Modified: branches/1.8/main/ccss.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/ccss.c?view=diff&rev=306575&r1=306574&r2=306575
==============================================================================
--- branches/1.8/main/ccss.c (original)
+++ branches/1.8/main/ccss.c Mon Feb 7 11:36:56 2011
@@ -2495,6 +2495,19 @@
ast_cc_failed(agent->core_id, "Failed to call back device %s/%s", tech, target);
return NULL;
}
+
+ /* We have a channel. It's time now to set up the datastore of recalled CC interfaces.
+ * This will be a common task for all recall functions. If it were possible, I'd have
+ * the core do it automatically, but alas I cannot. Instead, I will provide a public
+ * function to do so.
+ */
+ ast_setup_cc_recall_datastore(chan, agent->core_id);
+ ast_cc_agent_set_interfaces_chanvar(chan);
+
+ ast_copy_string(chan->exten, generic_pvt->exten, sizeof(chan->exten));
+ ast_copy_string(chan->context, generic_pvt->context, sizeof(chan->context));
+ chan->priority = 1;
+
if (!ast_strlen_zero(callback_macro)) {
ast_log_dynamic_level(cc_logger_level, "Core %d: There's a callback macro configured for agent %s\n",
agent->core_id, agent->device_name);
@@ -2504,17 +2517,6 @@
return NULL;
}
}
- /* We have a channel. It's time now to set up the datastore of recalled CC interfaces.
- * This will be a common task for all recall functions. If it were possible, I'd have
- * the core do it automatically, but alas I cannot. Instead, I will provide a public
- * function to do so.
- */
- ast_setup_cc_recall_datastore(chan, agent->core_id);
- ast_cc_agent_set_interfaces_chanvar(chan);
-
- ast_copy_string(chan->exten, generic_pvt->exten, sizeof(chan->exten));
- ast_copy_string(chan->context, generic_pvt->context, sizeof(chan->context));
- chan->priority = 1;
ast_cc_agent_recalling(agent->core_id, "Generic agent %s is recalling", agent->device_name);
ast_pbx_start(chan);
return NULL;
More information about the asterisk-commits
mailing list