diff options
author | Mark Michelson <mmichelson@digium.com> | 2009-04-13 14:17:56 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2009-04-13 14:17:56 +0000 |
commit | b6a2f40793dad529a270a7d97fcb5658b219fe1b (patch) | |
tree | 5848dd3b3b1dd8b11ed083d9f7972cfc77a53b5a /apps | |
parent | 7360279ff3a5a3c4ef704d892fa6307d2118cabb (diff) |
Set all queue variables on both the caller and member channels.
This allows for the variables to be accessed if a member macro is run.
Thanks to Grigoriy Puzankin for bringing this up on the -dev list.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_queue.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 58b1c09ba..c62b4985a 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3992,6 +3992,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce snprintf(interfacevar, sizeof(interfacevar), "MEMBERINTERFACE=%s,MEMBERNAME=%s,MEMBERCALLS=%d,MEMBERLASTCALL=%ld,MEMBERPENALTY=%d,MEMBERDYNAMIC=%d,MEMBERREALTIME=%d", member->interface, member->membername, member->calls, (long)member->lastcall, member->penalty, member->dynamic, member->realtime); pbx_builtin_setvar_multiple(qe->chan, interfacevar); + pbx_builtin_setvar_multiple(peer, interfacevar); } /* if setqueueentryvar is defined, make queue entry (i.e. the caller) variables available to the channel */ @@ -4000,10 +4001,12 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce snprintf(interfacevar, sizeof(interfacevar), "QEHOLDTIME=%ld,QEORIGINALPOS=%d", (long) time(NULL) - qe->start, qe->opos); pbx_builtin_setvar_multiple(qe->chan, interfacevar); + pbx_builtin_setvar_multiple(peer, interfacevar); } /* try to set queue variables if configured to do so*/ set_queue_variables(qe->parent, qe->chan); + set_queue_variables(qe->parent, peer); ao2_unlock(qe->parent); ast_channel_lock(qe->chan); |