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

Yehavi Bourvine yehavi.bourvine at gmail.com
Fri Dec 23 13:45:36 MSK 2016


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20161223/95c01dde/attachment-0001.html 


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