diff options
Diffstat (limited to 'apps/app_meetme.c')
-rw-r--r-- | apps/app_meetme.c | 18 |
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); |