[Freeswitch-users] different ringtone when called party is already busy on another call

Yehavi Bourvine yehavi.bourvine at gmail.com
Sun Dec 25 17:21:36 MSK 2016


It is hardcoded for each extension in the user's directory. However, I set
a paramter from that value, so if you can set a parameter for the value you
need by using any other method - use it...

 Regards, __Yehavi:

2016-12-25 15:07 GMT+02:00 Bipin Patel <bipin at xbipin.com>:

> hi,
>
> u mentioned the below
> First, I've added a new parameter to the B's directory entry called
> "chk_ring" which has the value of B.
>
> do u hardcode this in directory entry xml or is there a way to dynamically
> assign it in dialplan because the issue im having is im using blind
> registration so my extension entries dont exist in directory at the start
>
>
>
> Regards,
> Bipin
>
>
> ------------------------------
> -------- Original Message --------
> Subject: Re: [Freeswitch-users] different ringtone when called party is
> already busy on another call
> From: Yehavi Bourvine <yehavi.bourvine at gmail.com>
> <yehavi.bourvine at gmail.com>
> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
> <freeswitch-users at lists.freeswitch.org>
> Date: 12/23/2016, 2:45:36 PM
>
> These two lines are preparations for the next extension statement. That;s
> what they do:
>
>         <action application="set" data="chk_number=${user_data($
> {destination_number}@${domain_name} var chk_ring)}" inline="true"/>
> (using the previous terminology) This is called when you dial to extension
> B and has to know which extension A is "connected" to it. Extensipon B has
> a variable named "chk_ring" which holds the value of A. That's way you can
> test whether A is busy while calling B.
>
>                 <action application="set" data="OrigDest=${destination_number}"
>  --- Save the original number
> When you call the limit application (at a later stage), if the destination
> is busy, it changes the destination number to "
> ChangeRingBack", thus you have to save the original destination.
>
> Reminder: These are snippets from my config which I changed slightly to be
> readable outside my context; they are not tested.
>            __Yehavi:
>
>
> 2016-12-22 18:27 GMT+02:00 Bipin Patel <bipin at xbipin.com>:
>
>> one thing i dont understand is what do these 2 lines actually do
>>
>>
>>         <action application="set" data="chk_number=${user_data($
>> {destination_number}@${domain_name} var chk_ring)}" inline="true"/>
>>                 <action application="set" data="OrigDest=${destination_number}"
>>  --- Save the original number
>>
>>
>> Regards,
>> Bipin
>>
>>
>> ------------------------------
>> -------- Original Message --------
>> Subject: Re: [Freeswitch-users] different ringtone when called party is
>> already busy on another call
>> From: Yehavi Bourvine <yehavi.bourvine at gmail.com>
>> <yehavi.bourvine at gmail.com>
>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>> <freeswitch-users at lists.freeswitch.org>
>> Date: 12/22/2016, 8:02:39 PM
>>
>> You can use the DB backend for that. mod_limit is actually doing that
>> counting...
>>
>>              __Yehavi:
>>
>> 2016-12-22 17:58 GMT+02:00 Bipin Patel <bipin at xbipin.com>:
>>
>>> hi,
>>>
>>> thanks for the reply. I forgot to mention i use blind registration so i
>>> specifically dont have directory entries so any other way to implement it
>>> with that, meanwhile ill try to wrap my head around the dialplan u provided.
>>>
>>> what i was thinking was suppose if any extension places a call then
>>> increment some counter and when that call ends reset it to 0 so suppose if
>>> hes in a call and counter is at 1 then any new calls placed by anyone else
>>> check the counter for the first ext if thats called, if 1 then different
>>> ringback and if 0 then normal ringback
>>>
>>>
>>> Regards,
>>> Bipin
>>>
>>>
>>> ------------------------------
>>> -------- Original Message --------
>>> Subject: Re: [Freeswitch-users] different ringtone when called party is
>>> already busy on another call
>>> From: Yehavi Bourvine <yehavi.bourvine at gmail.com>
>>> <yehavi.bourvine at gmail.com>
>>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>>> <freeswitch-users at lists.freeswitch.org>
>>> Date: 12/22/2016, 4:57:29 PM
>>>
>>> Hi,
>>>
>>>   To make it easier, let's call the main extension A, and the secondary
>>> extension B. When someone calls B and A is busy, you want the
>>> "call-waiting" signal to be heard.
>>>
>>> Note: I've taken snippets from my dial plan and changed them in order to
>>> readable without my context; hence, they might not work on first attempt.
>>>
>>> First, I've added a new parameter to the B's directory entry called
>>> "chk_ring" which has the value of B.
>>>
>>> First, you have to tell mod_limit to track calls to/from the main
>>> extension (I am doing that for all extensions) with the following commands
>>> before calling the bridge application:
>>>
>>>      <action application="limit" data="hash max_calls ${dest} -1
>>> HANGUP_USER_BUSY" />
>>> This causes mod_limit to track the calls to that extension.
>>>
>>> BTW, it is adviseable to add also the following setting in order to
>>> count correctly when doing call transfer:
>>> <action application="set" data="limit_ignore_transfer=false" />
>>>
>>> Next, during a new call process you have to check the limit of A
>>> extension with the following:
>>>
>>> <extension name="Intercom" continue="true">
>>>     <condition break = "never" >
>>>         <action application="set" data="chk_number=${user_data($
>>> {destination_number}@${domain_name} var chk_ring)}" inline="true"/>
>>>                 <action application="set" data="OrigDest=${destination_number}"
>>>  --- Save the original number
>>>                 <action application="limit" data="hash max_calls
>>> ${chk_ring} 1 ChangeRingBack" />
>>>     </condition>
>>> </extension>
>>>
>>> And then add a ChangeRingBack extension:
>>> <extension name="ChangeRingBack" continue="true">
>>>   <condition field="destination_number" expression="^limit_exceeded$">
>>>      <action application="set" data="ringback=${callwait-ring}" />
>>>   --- Do the bridge.
>>>     </condition>
>>> </extension>
>>>
>>>
>>> 2016-12-22 7:54 GMT+02:00 Bipin Patel <bipin at xbipin.com>:
>>>
>>>> hi,
>>>>
>>>> this is exactly what im trying to achieve, i want to be able to check
>>>> if called party is busy on another call then generate a different ringback
>>>> than the normal one i use if not busy. Can u kindly provide a dialplan
>>>> example coz im getting confused on how to track if the ext is busy as well
>>>> as increment and decrement the limit value?
>>>>
>>>>
>>>> Regards,
>>>> Bipin
>>>>
>>>>
>>>> ------------------------------
>>>> -------- Original Message --------
>>>> Subject: Re: [Freeswitch-users] different ringtone when called party is
>>>> already busy on another call
>>>> From: Yehavi Bourvine <yehavi.bourvine at gmail.com>
>>>> <yehavi.bourvine at gmail.com>
>>>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>>>> <freeswitch-users at lists.freeswitch.org>
>>>> Date: 12/22/2016, 8:59:35 AM
>>>>
>>>> What I am doing in a similar case is:
>>>>
>>>> - I am using the mod_limit to know which extension is in a call and
>>>> which is free.
>>>> - If a call is made to a busy extension (which has the call waiting
>>>> feature) then I play a different ring-back tone with the command:
>>>>              <action application="set" data="ringback=${callwait-ring}"
>>>> />
>>>> - In your case, the busy extension is different than the one being
>>>> called; thus, you have to add to the extension variables/parameters a new
>>>> parameter which specifies the other extension number; then you have to call
>>>> mod_limit for both extensions, and play the call-wait ringback if one of
>>>> them is busy.
>>>>
>>>>          Regards, __Yehavi:
>>>>
>>>> 2016-12-21 13:59 GMT+02:00 Bipin Patel <bipin at xbipin.com>:
>>>>
>>>>> hi,
>>>>>
>>>>> its a multi line phone so i guess B is accepting the call like a
>>>>> normal call which it should with call waiting enabled on it, if it sent
>>>>> busy then A would simply hear busy tone which i dont want, i want to make A
>>>>> hear a different ringtone while call is waiting so A can know using the
>>>>> tone that B is on another call and might or might not answer
>>>>>
>>>>>
>>>>> Regards,
>>>>> Bipin
>>>>>
>>>>>
>>>>> ------------------------------
>>>>> -------- Original Message --------
>>>>> Subject: Re: [Freeswitch-users] different ringtone when called party
>>>>> is already busy on another call
>>>>> From: Lợi Đặng <loi.dangthanh at gmail.com> <loi.dangthanh at gmail.com>
>>>>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>>>>> <freeswitch-users at lists.freeswitch.org>
>>>>> Date: 12/21/2016, 2:22:11 PM
>>>>>
>>>>> guess It is the B's function, B is able to put the call in waiting
>>>>> instead of respond 486 to FS, when B is already a call with another party.
>>>>> in this case, I'm afraid FS will have no idea about what is happening
>>>>> in B.
>>>>> what branch B is? did you try B's role with another phone?
>>>>>
>>>>> rgds,
>>>>>
>>>>> Loi Dang Thanh
>>>>> Phone : +84.1224.735.448
>>>>> Email : loi.dangthanh at gmail.com
>>>>>
>>>>> On Wed, Dec 21, 2016 at 3:40 PM, Bipin Patel <bipin at xbipin.com> wrote:
>>>>>
>>>>>> hi,
>>>>>>
>>>>>> i have been using FS in product on many raspberry pi's and other
>>>>>> machines in PBX environment and everything works well except im stuck with
>>>>>> a requirement which i cant seem to be able to get over.
>>>>>>
>>>>>> party A calls party B but party B is already in call with party C, so
>>>>>> party A gets normal ringtone and party B gets call waiting beeps, how do we
>>>>>> detect in FS that party B is already busy on another call and generate a
>>>>>> different ringtone for party A which he hears so indirectly party A knows
>>>>>> that party B is already on another call?
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Regards,
>>>>>> Bipin
>>>>>>
>>>>>>
>>>>>> ------------------------------
>>>>>>
>>>>>> ____________________________________________________________
>>>>>> _____________
>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>> consulting at freeswitch.org
>>>>>> http://www.freeswitchsolutions.com
>>>>>>
>>>>>> Official FreeSWITCH Sites
>>>>>> http://www.freeswitch.org
>>>>>> http://confluence.freeswitch.org
>>>>>> http://www.cluecon.com
>>>>>>
>>>>>> FreeSWITCH-users mailing list
>>>>>> FreeSWITCH-users at lists.freeswitch.org
>>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/free
>>>>>> switch-users
>>>>>> http://www.freeswitch.org
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> ____________________________________________________________
>>>> _____________
>>>
>>>
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://confluence.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services: consulting at freeswitch.orghttp://www.freeswitchsolutions.com
>
> Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://confluence.freeswitch.orghttp://www.cluecon.com
>
> FreeSWITCH-users mailing listFreeSWITCH-users at lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.freeswitch.org
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20161225/a981e627/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list