|Summary:||ASTERISK-08155: wrong behavior of 'L(x:y:z)' parameters in Dial application|
|Reporter:||Yuri Sklar (skil)||Labels:|
|Date Opened:||2006-11-20 11:55:20.000-0600||Date Closed:||2006-11-21 20:38:33.000-0600|
|Environment:||Attachments:||( 0) channel.c.patch|
( 1) channel.c.yet_another.patch
|Description:||the example of it is so:|
-- Executing Set("SIP/phone3-0817b868", "LIMIT_PLAYAUDIO_CALLER=yes") in new stack
-- Executing Set("SIP/phone3-0817b868", "LIMIT_PLAYAUDIO_CALLEE=no") in new stack
-- Executing Set("SIP/phone3-0817b868", "LIMIT_TIMEOUT_FILE=hello-world") in new stack
-- Executing Set("SIP/phone3-0817b868", "LIMIT_CONNECT_FILE=hello-world") in new stack
-- Executing Set("SIP/phone3-0817b868", "LIMIT_WARNING_FILE=hello-world") in new stack
-- Executing Dial("SIP/phone3-0817b868", "SIP/phone1|20|L(15000:10000:5000)") in new stack
-- Limit Data for this call:
-- - timelimit = 15000
-- - play_warning = 10000
-- - play_to_caller= yes
-- - play_to_callee= no
-- - warning_freq = 5000
-- - start_sound = hello-world
-- - warning_sound = hello-world
-- - end_sound = hello-world
-- Called phone1
-- SIP/phone1-08181790 is ringing
-- SIP/phone1-08181790 answered SIP/phone3-0817b868
-- Playing 'hello-world' (language 'en')
== Spawn extension (l_call, 1, 6) exited non-zero on 'SIP/phone3-0817b868'
So it plays only the first sound (start_sound) with starting the call.
And then it makes hungup after 'x-y' ! ms with no 'warning sound' or even 'end_sound' . But it should do hungup after 'x' ms.
****** ADDITIONAL INFORMATION ******
my context for example:
exten => 1,1,SET(LIMIT_PLAYAUDIO_CALLER=yes)
exten => 1,n,SET(LIMIT_PLAYAUDIO_CALLEE=no)
exten => 1,n,SET(LIMIT_TIMEOUT_FILE=hello-world)
exten => 1,n,SET(LIMIT_CONNECT_FILE=hello-world)
exten => 1,n,SET(LIMIT_WARNING_FILE=hello-world)
exten => 1,n,Dial(SIP/phone1,20,L(15000:10000:5000))
|Comments:||By: Yuri Sklar (skil) 2006-11-20 11:58:28.000-0600|
Please tell me if I missed somethihg, because it's my first issue
By: Nickolay Kharchevin (mykola) 2006-11-20 13:35:02.000-0600
Asterisk dont play any sound if nowtime - starttime - timelimit < 5000 ms
Problem in ast_bridge_call. I make some modifications in channels.c (see patch) and now it work for me.
By: jsolares (jsolares) 2006-11-20 17:34:56.000-0600
Works fine here, i had it fixed a different way but this is simpler.
I think L(x:y:z) was not working at all, i had L(30000:10000) and the calls were dying after aprox 20000ms into it without playing the warning file.
By: Nickolay Kharchevin (mykola) 2006-11-21 05:14:37.000-0600
Dial(SIP/phone1,20,L(15200:10000:5000)) - will make hangup after 20200 ms.
By: jsolares (jsolares) 2006-11-21 10:38:37.000-0600
Tried the new patch with L(60000:20000:5000), got warnings played at around 40s, 45s, 50s. no warning at around 55s, call got hung up at 62s.
Not sure if it should play the one at aprox 55s, which seems to have been scheduled at 56 or 57. The call got hungup at 62s, all calls seem to overshoot by 1 or 2s, without the patch it would have gotten hangup at around 41s. so the 1 or 2 extra seconds dont seem to be from the patch but due to timing.
By: Steve Murphy (murf) 2006-11-21 20:31:32.000-0600
OK, I've committed these changes to the 1.2 tree in r47910.
I tested them on a local 1.2 copy, and verified that the bug exists, and the supplied patch fixed it.
A test on the 1.4 branch shows it works OK, and needs no fixing.
By: Steve Murphy (murf) 2006-11-21 20:38:32.000-0600
Since 1.4 already works OK, I blocked 47910 from 1.4 with r47911.