[Freeswitch-users] Can ringback be variable in bridge command?

Mario G mario_fs at mgtech.com
Thu Apr 5 02:48:22 MSD 2012


Added the majority of the dialplan... It complicated but has been working fine since 2010 except for 1 little issue. I tried to keep the question simple but...  Here is what happens:

1. Incoming call, I set early media "Hi so and so..." followed by us-ring.
2. Bridge the call to internal group A rings for 17 seconds, if time out:
3. Internal group B rings for 1 second, same phones but different extension on them which causes a different ring that let's us know we are about to call cellphones.
4. Bridge call to internal phones again and 2 cell phones. If time out:
5. Play message and go to voicemail.

The problem is step 3. If the phone is picked up right in the 1 second the call is missed and the other phones keep ringing. I thought to try to combine step 2 and 3 into a single bridge command it may work. But... in another post I just made I realized it would be solved if I could just ring users/group without bridging the call that would solve the issues and be better. Have not found anything on the wiki yet.

BTW, the reason for the reset of the early media us-ring is if I don't do it the caller hears the first second of the Hi message. You can't put ringback into the bridge dialstring (I tried) I have to keep the 2 steps separate, which is why now I would just like to figure out how to dial without bridging but wonder what would happen when call is picked up during then.

    <extension name="xxphone">
      <condition field="destination_number" expression="^2920$">
        <!-- 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"/>

        <!--  While ringing inside caller will hear "hi name" then standard ring -->  
	<action application="set" data="ringback=file_string://${xxsounds}hi-long.wav!${sayname}!tone_stream://${us-ring};loops=-1"/>
        <!-- ring home extensions only for ## seconds -->
        <action application="bridge" data="[originate_timeout=17]group/home@${domain_name}"/>
        <!-- ring different extension once so we know we're about to go to the second stage -->
        <!-- ringback must be reset otherwise caller will hear a first second of previous early media for this 1 ring -->
	<action application="set" data="ringback=${us-ring}"/>
        <action application="bridge" data="[originate_timeout=1,ringback=${us-ring}]group/MGT@${domain_name}"/>

        <!-- Say we are keep trying.... and setup so they hear music while ringing a second time-->
	<!-- Using mod_file_string we can keep the phones ringing while playing sounds! -->
	<action application="set" data="ringback=file_string://${xxsounds}hold_on.wav!${sayname}!${xxsounds}we_trying_please_hold.wav!local_stream://moh"/>
        <!-- this is needed to allow call_timeout to work after bridging to a gateway -->
        <action application="set" data="ignore_early_media=true"/>
        <!-- ring home extensions +cell phone for ## seconds  NOTE THE NEXT 2 LINES DID NOT WORK TO SET TIMEOUT -->
        <!-- NOTE: The use of :_: invokes enterprise syntax to ring simoultaneously!   ATT takes 8-10 rings before cell phone rings! -->
        <!-- DIAL_GATEWAY is set in the public folder dialplans  -->
        <action application="bridge" data="<originate_timeout=23,origination_caller_id_number=${caller_id_number},origination_caller_id_name=${caller_id_name}>group/home@${domain_name}:_:sofia/gateway/${dial_gateway}/19163334444:_:sofia/gateway/${dial_gateway}/19161112222"/>
        <!-- Timeout/No answer go to voicemail -->
        <!--action application="playback" data="${xxsounds}leave_a_message.wav"/-->
        <action application="playback" data="file_string://${xxsounds}please_leave_a_message.wav!//${sayname}"/>
        <action application="answer"/>
        <!-- Next line removes default greeting, we already played one above-->
        <action application="set" data="skip_greeting=true"/>
        <action application="voicemail" data="default ${domain_name} 100"/>
      </condition>
    </extension>

On Apr 4, 2012, at 2:33 PM, Michael Collins wrote:

> What's the plain language description of what you're trying to do? I think we're all a bit confused about exactly which problem you're attempting to solve. A plain language description (without any telephonese) will definitely get us all on the same page. :)
> 
> Thanks,
> MC
> 
> On Wed, Apr 4, 2012 at 1:21 PM, Mario G <mario_fs at mgtech.com> wrote:
> I tried putting the ringback into a bridge command - no effect, I also tried adding bridge_early_media to the bridge - no effect. The problem is when the call  is picked during the the second bridge which is used to create a different ring on the extensions (there is a later bridge to answer) the other phones in the group continue to ring. I am trying to solve this which for some reason occurs more after I updated to the recent git. I am hoping if I can combine into a single bridge command the problem will be solved. Any suggestion greatly appreciated.
> 
> BTW, the command below does nothing, nothing in the debug, it shows up but nothing happens. I tried using ! , | but no luck.
> 
>    <action application="bridge" data="[originate_timeout=17]group/home@${domain_name}![originate_timeout=1]group/MGT@${domain_name}"/>
> 
> 
> On Apr 4, 2012, at 10:51 AM, Mario G wrote:
> 
>> Testing the latest git has introduced an issue but I wonder if I can get around it by combining the snippet below into one bridge command. If I can set the ringback in the bridge it may fix it. I did not see this in the wiki. Can it be done?
>> Mario G
>> 
>>         <action application="bridge" data="[originate_timeout=17]group/home@${domain_name}"/>
>> 	<action application="set" data="ringback=${us-ring}"/>
>> 	<action application="bridge" data="[originate_timeout=1]group/MGT@${domain_name}"/>
>> 
>> _________________________________________________________________________
> 
> 
> _________________________________________________________________________
> Pr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120404/f740961f/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list