aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_queue.c
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-31 21:49:23 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-31 21:49:23 +0000
commit9a2130e9dec6e913af3b75006c23feb0520d6814 (patch)
tree0fe680978e874f715b2f88a28ab07f74bd16a988 /apps/app_queue.c
parentcdffe98f294fed367720b68ae5893b20b78de5ae (diff)
Merged revisions 153181 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r153181 | twilson | 2008-10-31 13:55:33 -0500 (Fri, 31 Oct 2008) | 5 lines Recent CDR fixes moved execution of the 'h' exten into the bridging code, so variables that were set after ast_bridge_call was called would not show up in the 'h' exten. Added a callback function to handle setting variables, etc. from w/in the bridging code. Calls back into a nested function within the function calling ast_bridge_call (closes issue #13793) Reported by: greenfieldtech ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@153265 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r--apps/app_queue.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 1af45ad19..66c0bb614 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -3211,6 +3211,13 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
int callcompletedinsl;
struct ao2_iterator memi;
struct ast_datastore *datastore;
+ auto void end_bridge_callback(void);
+ void end_bridge_callback(void)
+ {
+ ao2_lock(qe->parent);
+ set_queue_variables(qe);
+ ao2_unlock(qe->parent);
+ }
ast_channel_lock(qe->chan);
datastore = ast_channel_datastore_find(qe->chan, &dialed_interface_info, NULL);
@@ -3281,6 +3288,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
}
+ bridge_config.end_bridge_callback = end_bridge_callback;
+
/* Hold the lock while we setup the outgoing calls */
if (use_weight)
ao2_lock(queues);