]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
When using call limits under 1 second, infinite call lengths are allowed,
authorTilghman Lesher <tilghman@meg.abyt.es>
Wed, 12 Nov 2008 21:18:57 +0000 (21:18 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Wed, 12 Nov 2008 21:18:57 +0000 (21:18 +0000)
instead.
(closes issue #13851)
 Reported by: ruddy

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@156386 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_dial.c

index 0032dd845c14d33c5048eaf713d0321361a23257..5192217f11cdc42cffa4c07bfc63e791ad5a2609 100644 (file)
@@ -1744,6 +1744,9 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
                if (!res) {
                        if (calldurationlimit > 0) {
                                peer->whentohangup = time(NULL) + calldurationlimit;
+                       } else if (timelimit > 0) {
+                               /* Not enough granularity to make it less, but we can't use the special value 0 */
+                               peer->whentohangup = time(NULL) + 1;
                        }
                        if (!ast_strlen_zero(dtmfcalled)) { 
                                if (option_verbose > 2)
@@ -1851,7 +1854,7 @@ out:
                        ast_log(LOG_DEBUG, "Exiting with DIALSTATUS=%s.\n", status);
                
                if ((ast_test_flag(peerflags, OPT_GO_ON)) && (!chan->_softhangup) && (res != AST_PBX_KEEPALIVE)) {
-                       if (calldurationlimit)
+                       if (timelimit)
                                chan->whentohangup = 0;
                        res = 0;
                }