[Freeswitch-users] How to keep leg A from hanging up from a bridge when Leg B hangs up (and vice versa)?

Simon Tang simon at airg.com
Mon Feb 16 14:26:23 PST 2009


Hello,

 

I'm using event socket outbound and have a framework that does stuff
based on the events that come back (this includes my own IVR).  What I
have now is an IVR system that allows 2 users to bridge to one another
at will, and to 'unbridge' at will by catching DTMF events.

 

I have 2 requirements:

1.       When one leg hangs up during a bridge, the other leg is
presented with the IVR

2.       After a bridge, when one leg sends a DTMF tone, both legs will
be presented with the IVR and no longer be bridged (they can bridge with
other sessions again after this point if they desire)

 

I have done multiple experiments by using netcat and 2 sessions.  Here
is what I have found:

*         The hangup_after_bridge variable does nothing for me.  I've
set it on both legs, but whenever one leg hangs up after a uuid_bridge,
the other leg will automatically hang up

 

*         I've tried setting "park_after_bridge=true" on both legs, and
this works to a certain extent.  If one leg hangs up, the other leg will
be parked, and I can present that user with my IVR.  This meets
requirement #1.  However, requirement #2 won't be met because:

 

o   If I set "park_after_bridge=true" and one leg sends a DTMF tone to
signal an unbridge, I will "unbridge" the legs by "parking" both legs
and I am able to present them both with an IVR.  If they decide to
bridge with each other again (by selecting an option in the IVR), I will
attempt to do a uuid_bridge and this will FAIL!  (both parties do not
hear each other.)  In the simplest terms, I can't do "uuid_bridge uuidA
uuidB", "park", "uuid_bridge uuidA uuidB".

 

*         With "park_after_bridge=false" (default), I can do
"uuid_bridge uuidA uuidB", "park", "uuid_bridge uuidA uuidB" with no
issues, meeting requirement #2.  However, this will not meet requirement
#1, because when one leg hangs up, it will trigger a hangup on the
other.

 

Please help.  How can I meet both of my requirements?

 

Thanks.

 

Simon Tang

Lead, Server Team
 

Suite 706, 1155 Robson Street

Vancouver, B.C. 

Canada V6E 1B5

T: +1.604.408.2228  Ext. 116

F: +1.866.874.8136

E: simon at airg.com <mailto:simon at airg.com>  

W: www.airg.com <http://www.airg.com> 

The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material communicated under NDA. Any review, retransmission,
dissemination or other use of, or taking of any action in reliance upon,
this information by persons or entities other than the intended
recipient is prohibited. If you received this in error, please contact
the sender and delete the material from any computer.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090216/392db3da/attachment-0002.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 1010 bytes
Desc: image001.jpg
Url : http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090216/392db3da/attachment-0002.jpe 


More information about the FreeSWITCH-users mailing list