[asterisk-commits] branch 1.2 r19301 - /branches/1.2/apps/app_dial.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Apr 11 13:11:02 MST 2006


Author: kpfleming
Date: Tue Apr 11 15:11:01 2006
New Revision: 19301

URL: http://svn.digium.com/view/asterisk?rev=19301&view=rev
Log:
handle call time limit properly when warning is requested _after_ call would hae already ended (issue #6356)

Modified:
    branches/1.2/apps/app_dial.c

Modified: branches/1.2/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/apps/app_dial.c?rev=19301&r1=19300&r2=19301&view=diff
==============================================================================
--- branches/1.2/apps/app_dial.c (original)
+++ branches/1.2/apps/app_dial.c Tue Apr 11 15:11:01 2006
@@ -1,7 +1,7 @@
 /*
  * Asterisk -- An open source telephony toolkit.
  *
- * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2006, Digium, Inc.
  *
  * Mark Spencer <markster at digium.com>
  *
@@ -827,6 +827,21 @@
 		if (!timelimit) {
 			timelimit = play_to_caller = play_to_callee = play_warning = warning_freq = 0;
 			warning_sound = NULL;
+		} else if (play_warning > timelimit) {
+			/* If the first warning is requested _after_ the entire call would end,
+			   and no warning frequency is requested, then turn off the warning. If
+			   a warning frequency is requested, reduce the 'first warning' time by
+			   that frequency until it falls within the call's total time limit.
+			*/
+
+			if (!warning_freq) {
+				play_warning = 0;
+			} else {
+				while (play_warning > timelimit)
+					play_warning -= warning_freq;
+				if (play_warning < 1)
+					play_warning = warning_freq = 0;
+			}
 		}
 
 		var = pbx_builtin_getvar_helper(chan,"LIMIT_PLAYAUDIO_CALLER");



More information about the asterisk-commits mailing list