aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_meetme.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_meetme.c')
-rw-r--r--apps/app_meetme.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 555f6d217..ba4e65982 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -296,13 +296,21 @@ static const char *slastation_desc =
"the argument \"station\" should be just the station name. If the call was\n"
"initiated by pressing a line key, then the station name should be preceded\n"
"by an underscore and the trunk name associated with that line button.\n"
-"For example: \"station1_line1\".";
+"For example: \"station1_line1\"."
+" On exit, this application will set the variable SLASTATION_STATUS to\n"
+"one of the following values:\n"
+" FAILURE | CONGESTION | SUCCESS\n"
+"";
static const char *slatrunk_desc =
" SLATrunk(trunk):\n"
"This application should be executed by an SLA trunk on an inbound call.\n"
"The channel calling this application should correspond to the SLA trunk\n"
-"with the name \"trunk\" that is being passed as an argument.\n";
+"with the name \"trunk\" that is being passed as an argument.\n"
+" On exit, this application will set the variable SLATRUNK_STATUS to\n"
+"one of the following values:\n"
+" FAILURE | SUCCESS | UNANSWERED | RINGTIMEOUT\n"
+"";
#define MAX_CONFNUM 80
#define MAX_PIN 80
@@ -3725,6 +3733,7 @@ static int sla_calc_trunk_timeouts(unsigned int *timeout)
time_elapsed = ast_tvdiff_ms(ast_tvnow(), ringing_trunk->ring_begin);
time_left = (ringing_trunk->trunk->ring_timeout * 1000) - time_elapsed;
if (time_left <= 0) {
+ pbx_builtin_setvar_helper(ringing_trunk->trunk->chan, "SLATRUNK_STATUS", "RINGTIMEOUT");
AST_LIST_REMOVE_CURRENT(&sla.ringing_trunks, entry);
sla_stop_ringing_trunk(ringing_trunk);
res = 1;
@@ -4298,8 +4307,9 @@ static int sla_trunk_exec(struct ast_channel *chan, void *data)
conf = NULL;
trunk->chan = NULL;
trunk->on_hold = 0;
-
- pbx_builtin_setvar_helper(chan, "SLATRUNK_STATUS", "SUCCESS");
+
+ if (!pbx_builtin_getvar_helper(chan, "SLATRUNK_STATUS"))
+ pbx_builtin_setvar_helper(chan, "SLATRUNK_STATUS", "SUCCESS");
/* Remove the entry from the list of ringing trunks if it is still there. */
ast_mutex_lock(&sla.lock);