[Freeswitch-users] Bridge ignores call_timeout when using :_: separators

Mario mario_fs at mgtech.com
Mon Sep 27 07:58:47 PDT 2010


OK folks, been battling this for several hours with nothing found here
or on web searches. I hope I am missing something and would greatly
appreciate any help. I am in the home stretch and this is the last big
problem (I hope).

Note this problem ONLY occurs with bridging when ALL three are true:
1. Use :_: between the destinations
2. One destination is a shared extension (multiple-registrations
value="contact)
3. One destination is an outside phone (cell in this case).

I am bridging to internal and an external cell phone. I want to regain
control to go to IVR when there is no answer. I need to use the :_:
separator because the internal extensions are set for multiple logins,
the same extension # is used on multiple phones. This is because I have
2 shared mailboxes and the SPA962 voicemail button is tied to the user
ID not the mailbox setting. So the only way for the button on multiple
phones to get the same mailbox is to use shared extensions.

I am using the :_: separator because if you use a comma, only one of the
internal extensions rings because of the multiple logons. This is known
and I found searching that :_: is needed when bridging to a number or
group that uses multiple logons. Everything works fine with the
exception that the call_timeout does not work, the call keeps ringing if
no answer (or the cell phone goes to voicemail, not what I want).

I would greatly appreciate any help since I think I have tried many
things to get around it but nothing seems to work. I have tried 1
extension, etc. Thanks!
Mario


This rings all internal extensions (right) but no timeout:
<action application="bridge"
data="group/home@${domain_name}:_:sofia/gateway/uid1/19161234567:_:sofia/gateway/uid1/19162223333"/>

This rings only 1 internal extension (wrong) but does timeout:
<action application="bridge"
data="group/home@${domain_name},sofia/gateway/uid1/19161234567,sofia/gateway/uid1/19162223333"/>

Changing group to a single user ID (shared) has same results.


This is the complete extension, many extra things are there to try to
get it to work:

    <extension name="mvphone">
      <condition field="destination_number" expression="^2920$">
         <!-- Next lines not needed here but seems a good idea if
special fesatures are used -->
        <action application="bind_meta_app" data="1 b s
execute_extension::dx XML features"/>
        <action application="bind_meta_app" data="2 b s
record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
        <action application="bind_meta_app" data="3 b s
execute_extension::cf XML features"/>
        <!-- Next lines allow control after bridge timeout and hangup
after bridge -->
        <action application="set" data="hangup_after_bridge=true"/>
        <action application="set" data="continue_on_fail=true"/>
        <!-- ring home extensions only for ## seconds -->
        <action application="set" data="call_timeout=15"/>
        <action application="bridge" data="group/home@${domain_name}"/>
        <!-- Say we are keep trying.... -->
        <action application="playback"
data="/usr/local/freeswitch/conf/oursounds/we_trying_please_hold.wav"/>
        <!-- Setup so they hear music while ringing a second time -->
	<action application="set" data="ringback=$${hold_music}"/>
        <!-- this is needed to allow call_timeout to work after bridging
to a gateway -->
        <action application="set" data="ignore_early_media=true"/>
        <action application="set" data="bridge_answer_timeout=10"/>
        <action application="ring_ready"/>
       <!-- ring home extensions +cell phone for ## seconds -->
        <action application="set" data="call_timeout=15"/>
        <!-- Any of the next 3 bridge lines work as long as :_: is used
to ring simoultaneously -->
        <action application="bridge"
data="group/home@${domain_name}:_:sofia/gateway/uid1/19161234567:_:sofia/gateway/uid1/19162223333"/>
        <!--action application="bridge"
data="group/home@${domain_name}:_:sofia/gateway/uid1/19161234567"/-->
        <!--action application="bridge"
data="{ignore_early_media=true}sofia/gateway/uid1/19161234567,user/100@${domain_name}"/-->
        <!--action application="bridge"
data="{ignore_early_media=true}sofia/gateway/uid1/19161234567,user/100@${domain_name}"/-->
        <!-- No answer go to voicemail -->
        <action application="answer"/>
        <action application="voicemail" data="default ${domain_name}
100"/>  -->
      </condition>
   </extension>



More information about the FreeSWITCH-users mailing list