Anthony, But, then there is no use. Am I right? Usually, we'll use the group_confirm_cancel_timeout only when we need to override the leg_timeout. But it happens in reverse in this case., I've tried using the group_confirm_cancel_timeout along with call_timeout and things happening similar like setting leg_timout. Then, tried without setting leg_timeout and call_timeout explicitly. * In this case if the callee doesn't picks the call, it disconnects the leg in 30 secs. * If he answers the call and the script continues to execute, the leg is disconnected in 60 secs. What I need to do is, when the callee picks the call the leg_timeout should not be accounted more and the leg shouldn't be disconnected because of leg_timeout after that. Any other way of doing this?! On Tue, Jun 15, 2010 at 10:53 PM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
leg timeout beats the group confirm timeouts
On Tue, Jun 15, 2010 at 12:28 AM, Nagalenoj H. <nagalenoj@gmail.com>wrote:
Dear friends, I've tried using the group_confirm_cancel_timeout channel variable. I've written a testing script to get digits before bridging. But, it doesn't seem to be working.
My understanding after reading wiki is, * When I dial [leg_timeout=10]user/1005, if he answers before timeout and in the process of giving digits, then the call shouldn't be disconnected after the leg_timeout secs (10 sec in the example).
But, When I experiment it, the call is getting disconnected after 10 seconds and it doesn't bother whether the callee has answered the call(Started giving digits) or not answered at all.
I've checked it with nc as follows,
sendmsg call-command: execute execute-app-name: set execute-app-arg: group_confirm_key=exec
sendmsg call-command: execute execute-app-name: set execute-app-arg: group_confirm_file=perl /root/confirm.pl
sendmsg call-command: execute execute-app-name: set execute-app-arg: group_confirm_cancel_timeout=1
sendmsg call-command: execute execute-app-name: bridge execute-app-arg: [leg_timeout=10]user/1005
And here is the script,
use freeswitch; our $session; my $digit;
while(1) { # Wait till response timeout for the first digit. $digit = $session->getDigits(1, "", 10000); freeswitch::consoleLog ("info","Digit>>".$digit."<<");
if (! $session->ready() ) { freeswitch::consoleLog("info","Going to Exit\n"); last; } if (defined $digit and $digit ne "" ) { freeswitch::consoleLog("info","DTMF received: $digit\n"); if ($digit eq '#') { return; } } else { freeswitch::consoleLog("info","Timeout\n"); $session->hangup(); } } 1;
If my understanding is right then, I believe there is something wrong with channel_variable.
Kindly help me to resolve this.
-- Regards, Nagalenoj H.
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:+19193869900
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Regards, Nagalenoj H.