diff options
author | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-10-31 21:49:23 +0000 |
---|---|---|
committer | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-10-31 21:49:23 +0000 |
commit | 9a2130e9dec6e913af3b75006c23feb0520d6814 (patch) | |
tree | 0fe680978e874f715b2f88a28ab07f74bd16a988 /apps/app_queue.c | |
parent | cdffe98f294fed367720b68ae5893b20b78de5ae (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.c | 9 |
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); |