[Home]

Summary:ASTERISK-18585: Dial() Limit reminds callers at the wrong time than that specified in the L option
Reporter:David O Reilly (trendboy)Labels:
Date Opened:2011-09-20 06:26:52Date Closed:2011-09-21 09:24:32
Priority:CriticalRegression?
Status:Closed/CompleteComponents:Applications/app_dial
Versions:1.8.6.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:LinuxAttachments:
Description:This is a very confusing problem to find out the cause, it does the following (from the L option)

   -- Executing [removed_ext@removed_context:7] Dial("IAX2/removed_connection", "sip/some_number,300,L(240000:180000)rgFA(clickcall/clickcalltransfer)") in new stack
      > Limit Data for this call:
      > timelimit      = 240000 ms (240.000 s)
      > play_warning   = 180000 ms (180.000 s)
      > play_to_caller = yes
      > play_to_callee = no
      > warning_freq   = 0 ms (0.000 s)
      > start_sound    = welcome
      > warning_sound  = minwarning
      > end_sound      = zerocredit

However the price warning comes after 60 seconds, not 180 seconds as it thinks it should do.

I also had the Limit problem as described in: ASTERISK-18199

and the patch worked for that problem, but now it plays the warning at the wrong time. Also see: http://forums.digium.com/viewtopic.php?p=161390

I think the problem is rather than playing the message 1 minute before the call ends (like it should do from above) it plays it 1 minute into the call start. Could it be that it is coded the wrong way around?

Let me know if I can be of any help. It is a blocking issue sadly for me as I am legally bound to play these warnings for my callers.

Thanks for all your great work and time.
David
Comments:By: David O Reilly (trendboy) 2011-09-20 06:40:04.830-0500

Just an observation - I have another context that connects longer calls in the same way however there is no issue with that, so could it be that it is to do with the call length being short? I have other commands like a U etc on that one.

This is the one that works:

   -- Executing [someext@somecontext:9] Dial("IAX2/someconnection", "iax2/somenumber,300,U(dosomething)L(1440000:720000)rgFA(transfermessage)") in new stack
      > Limit Data for this call:
      > timelimit      = 1440000 ms (1440.000 s)
      > play_warning   = 720000 ms (720.000 s)
      > play_to_caller = yes
      > play_to_callee = no
      > warning_freq   = 0 ms (0.000 s)
      > start_sound    = welcome
      > warning_sound  = pricewarning
      > end_sound      = cutoffcall
 

By: David Woolley (davidw) 2011-09-20 10:23:20.343-0500

   L(x[:y][:z]) - Limit the call to 'x' ms. Play a warning when 'y' ms are
          left. Repeat the warning every 'z' ms. The following special
          variables can be used with this option:

So playing the warning after (x-y) ms is the intended behaviour, which gives 60 seconds in your case.

By: David O Reilly (trendboy) 2011-09-20 11:01:56.664-0500

Ah! Indeed it is! My mistake, I misunderstood the documentation :-) my bad!