[Freeswitch-users] Hangup Cause for a ringing destination leg

Daniel Schäfer schaefer at vh-s.de
Tue Jul 26 13:18:28 MSD 2016

Hi Brian,
thanks for your help, support and work!
(I'm also willing to contribute my future solution to the wiki/confluence)

Is it really leg_delay? I can only find leg_delay start?

If I use leg_delay_start, and no one wins the race, as no endpoint is answering -
Every ringing end-device records a "missed" call, right? This is the thing I'm trying to avoid.

The missed call should only be logged on the users phone, not the hunt group phones.
My Voip Enddevices are cheap and "dumb", I don't have an API to modify their call logs via remote.
In the "no-answer" case freeswitch is sending ORIGINATOR_CANCEL to all ringing phones.
When someone answers a call, freeswitch is sending LOSE_RACE to the other phones and no "missed" call is logged on these devices.
So it seems to be possible?

Again, thanks for your time and help :-)


Am 25.07.2016 um 17:51 schrieb Brian West:
> bridge sofia/something/1234,{leg_delay=20}sofia/somethingelse/1234,{leg_delay=25}sofia/blahblah/4567,{leg_delay=30}sofia/blahblah/1234
> If you're fixated on the resulting hangup cause I suspect you're just overthinking it.  You shouldn't be too concerned with the causes because we should do the right thing.
> /b
> On Mon, Jul 25, 2016 at 5:14 AM, Daniel Schäfer <schaefer at vh-s.de <mailto:schaefer at vh-s.de>> wrote:
>     Dear Freeswitch Users and Developers,
>     I'm a bit desperate. I googled and tried multiple days last weeks and I
>     can't find a solution for my (hopefully simple) problem:
>     In short: how do I set the hangup cause for a ringing destination leg?
>     Long story:
>     I'm struggling to get a certain call-group behaviour:
>     Incoming call --> freeswitch --> User A & [delayed] Group A
>     Group A is meant to be something like a Hunt Group, so that the incoming
>     call can be answered by someone else if User A is not available.
>     It is not for sure that someone on Group A will answer the incoming call.
>     I want to record the missed call only to User A.
>     My main struggling point:
>     If the Incoming call is aborted, the call log of User A and of all
>     members of Group A is set to a missed call.
>     And depending on my differently attempted implementations I can also
>     have two missed calls for User A (one from initial ringing, one from
>     group ringing).
>     So I thought that I need to modify the hangup cause, but I can't get it
>     working at all (I can modify the hangup cause for the Incoming call only).
>     Could you point me to the right wording and directions?
>     I thought I'll need two bridges:
>     1. bridge for User A, onetimeout set hangup cause for the destination leg
>     2. bridge for User A and Group A, onetimeout set hangup causes for
>     destination legs
>     But how do I do the hangup cause for ringing destination leg?
>     Best Regards
>     Daniel Schäfer

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