Dear friends,<br> 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.<br><br>My understanding after reading wiki is,<br>
* 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).<br><br>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.<br>
<br>I've checked it with nc as follows,<br><br>sendmsg<br>call-command: execute<br>execute-app-name: set<br>execute-app-arg: group_confirm_key=exec<br><br>sendmsg<br>call-command: execute<br>execute-app-name: set<br>execute-app-arg: group_confirm_file=perl /root/<a href="http://confirm.pl">confirm.pl</a><br>
<br>sendmsg<br>call-command: execute<br>execute-app-name: set<br>execute-app-arg: group_confirm_cancel_timeout=1<br><br>sendmsg<br>call-command: execute<br>execute-app-name: bridge<br>execute-app-arg: [leg_timeout=10]user/1005<br>
<br>And here is the script,<br><br>use freeswitch;<br>our $session;<br>my $digit;<br><br>while(1) {<br> # Wait till response timeout for the first digit.<br> $digit = $session->getDigits(1, "", 10000);<br>
freeswitch::consoleLog ("info","Digit>>".$digit."<<");<br><br> if (! $session->ready() ) {<br> freeswitch::consoleLog("info","Going to Exit\n");<br>
last;<br> }<br> if (defined $digit and $digit ne "" ) {<br> freeswitch::consoleLog("info","DTMF received: $digit\n");<br> if ($digit eq '#') {<br>
return;<br> }<br> }<br> else {<br> freeswitch::consoleLog("info","Timeout\n");<br> $session->hangup();<br> }<br>
}<br>1;<br><br>If my understanding is right then, I believe there is something wrong with channel_variable.<br><br>Kindly help me to resolve this.<br><br>-- <br>Regards,<br>Nagalenoj H.<br>