Summary:ASTERISK-13125: setting call duration limit in Dial command makes the call to hangup on answer
Reporter:paradise (paradise)Labels:
Date Opened:2008-11-26 01:12:39.000-0600Date Closed:2008-12-13 17:22:00.000-0600
Versions:Frequency of
Environment:Attachments:( 0) 20081208__bug13974.diff.txt
Description:after upgrading to latest 1.4 svn
passing L arg to Dial command makes the call to disconnect
when the call is established


-- AGI Script Executing Application: (Dial) Options: (Zap/1/8343028|60|CgL(250000:45000:15000))
-- Limit Data for this call:
  > timelimit      = 250000
  > play_warning   = 45000
  > play_to_caller = yes
  > play_to_callee = yes
  > warning_freq   = 15000
  > start_sound    = (null)
  > warning_sound  = beep
  > end_sound      = beep
-- Called 1/w09173143628
-- Zap/1-1 is ringing
-- Zap/1-1 is ringing
-- Zap/1-1 answered SIP/19-081d2600
-- Hungup 'Zap/1-1'
Comments:By: nappsoft (nappsoft) 2008-12-02 11:30:34.000-0600

I've the same problem with 1.4.23-rc2. But it only happens, when I'm also setting y in the L(x[:y[:z]]) command.

By: nappsoft (nappsoft) 2008-12-02 12:49:00.000-0600

I've found the place where the error happens. It has to do with the changes in revision 156386 of app_dial.c

} 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;

By: Tilghman Lesher (tilghman) 2008-12-08 15:21:23.000-0600

Please try this patch and report back.

By: St├ęphan Kochen (skochen) 2008-12-08 18:42:42.000-0600

Tried the attached patch against 1.4 branch, r161725.

Our dial string looks as follows: Dial(Zap/g1/0123456789||L(36000000:60000:60000))

The call is disconnected directly after I answer it.

By: Joshua C. Colp (jcolp) 2008-12-12 13:53:41.000-0600

I just did a test myself. Without this patch my call was immediately hung up while with this patch it hung up at the value specified in the L option. Are you sure you had it patched correctly skochen?

By: Leif Madsen (lmadsen) 2008-12-12 16:31:06.000-0600

I confirm what file says. I checked out 1.4, tested and the call dropped. I patched, retested, and the call continues to stay up.

By: Matt Riddell (zx81) 2008-12-13 15:33:12.000-0600

I had the same problem on our exchanges when I upgraded.  Removing the :60000:60000 fixed it.  So, the limit on the call is fine, it's just the announcement options.

By: Digium Subversion (svnbot) 2008-12-13 17:21:59.000-0600

Repository: asterisk
Revision: 164082

U   branches/1.4/apps/app_dial.c

r164082 | tilghman | 2008-12-13 17:21:57 -0600 (Sat, 13 Dec 2008) | 9 lines

Change the default calldurationlimit from the special value 0 to -1, so we
can better detect an exceptional case.  This follows on to the changes made
in revision 156386.  Related to issue ASTERISK-13027.
(closes issue ASTERISK-13125)
Reported by: paradise
      20081208__bug13974.diff.txt uploaded by Corydon76 (license 14)
Tested by: file, blitzrage, ZX81