summaryrefslogtreecommitdiff
path: root/apps/app_queue.c
diff options
context:
space:
mode:
authorSebastian Gutierrez <sgutierrez@integraccs.com>2016-11-06 09:04:00 -0300
committerSebastian Gutierrez <scgm11@gmail.com>2016-11-09 13:32:19 -0500
commit4e8ab6cda972f96bf8f73a2605d18f6f1b58add5 (patch)
treee83ca14ba02a36850f71d7b2d6bab8da4011b086 /apps/app_queue.c
parent0d85f1868d3b35f8c7582d519f3640a7cd2d4ce6 (diff)
app_queue: new variable set when abandoned
sets the variable ABANDONED to TRUE if the call was not answered. ASTERISK-26558 Change-Id: I4729af9bff4eba436d8a776afd3374065d0036d3
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r--apps/app_queue.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index b40c1db30..0abd512fa 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -256,7 +256,7 @@
any of the join options cause the caller to not enter the queue.</para>
<para>This application does not automatically answer and should be preceeded
by an application such as Answer(), Progress(), or Ringing().</para>
- <para>This application sets the following channel variable upon completion:</para>
+ <para>This application sets the following channel variables upon completion:</para>
<variablelist>
<variable name="QUEUESTATUS">
<para>The status of the call as a text string.</para>
@@ -268,6 +268,10 @@
<value name="LEAVEUNAVAIL" />
<value name="CONTINUE" />
</variable>
+ <variable name="ABANDONED">
+ <para>If the call was not answered by an agent this variable will be TRUE.</para>
+ <value name="TRUE" />
+ </variable>
</variablelist>
</description>
<see-also>
@@ -4617,6 +4621,8 @@ static void record_abandoned(struct queue_ent *qe)
{
RAII_VAR(struct ast_json *, blob, NULL, ast_json_unref);
+ pbx_builtin_setvar_helper(qe->chan, "ABANDONED", "TRUE");
+
set_queue_variables(qe->parent, qe->chan);
ao2_lock(qe->parent);
blob = ast_json_pack("{s: s, s: i, s: i, s: i}",
@@ -7961,6 +7967,8 @@ static int queue_exec(struct ast_channel *chan, const char *data)
/* Setup our queue entry */
qe.start = time(NULL);
+ pbx_builtin_setvar_helper(chan, "ABANDONED", NULL);
+
/* set the expire time based on the supplied timeout; */
if (!ast_strlen_zero(args.queuetimeoutstr)) {
qe.expire = qe.start + atoi(args.queuetimeoutstr);