Did you figure this out yet? Not sure exactly what you're trying to do here, but you could use the sched_hangup API and schedule a hangup or sched_transfer to schedule a transfer to a specific dialplan extension that does your cleanup work.

<action application="set" data="api_res=${sched_transfer +60 ${uuid} handle_timeout XML handlers}"/>

Then something like this for the dp

<context name="handlers">
  <extension name="handle loop timeouts">
    <condition field="destination_number" expression="^handle_timeout$">
      <action application="log" data="INFO OB call timed out..."/>
      <action application="foo" data="bar"/> <!-- do something useful -->
      <action application="hangup" data="pick_a_hangup_cause_if_you_wish"/>
    </condition>
  </extensions>
</context>

-MC

On Thu, Oct 13, 2011 at 10:09 AM, Antonio <asilva@wirelessmundi.com> wrote:

Hi,

Is it possible to loop a bridge until a global call timeout (or other variable) is reached?

In the wiki is this example is a fixed number of loops...

<extension name="3-way gateway distro">
<condition field="destination_number" expression="^(.*)$">
      <action application="set" data="continue_on_fail=true"/>
      <action application="set" data="hangup_after_bridge=true"/>
      <action application="bridge" data="sofia/gateway/${distributor(3gw)}/$1" loop="3"/>
    </condition>
  </extension>

My idea is to call a group sequential, but once it reaches the last member it starts over again.
so when calling a group, once the timeout for each user in the group is reach it hangups the call (the normal behavior),
it jumps again to the begin of the group until a global timeout is reached.

For example:

<extension name="group"> 
<condition field="destination_number" expression="^(.*)$">
      <action application="set" data="continue_on_fail=true"/>
      <action application="set" data="hangup_after_bridge=true"/>
      <action application="set" data="call_timeout=60"/>
      <action application="set" data="leg_timeout=10"/>
      <action application="bridge" data=""${group_call(group1@default+F)}" loop="3"/>
    </condition>
  </extension>

In my group i have two members only.




-- 

Un cordial saludo / Best regards, 

 _________________________

António Silva

E-mail:asilva@wirelessmundi.com


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