[Freeswitch-dev] hangup_after_bridge and intercept application

Francisco de Ezcurra francisco at deezcurra.com.ar
Thu Aug 14 16:07:07 EDT 2008


The fix works if i hangup the channel that makes the intercept. The other leg 
goes back to the fifo. But when i hangup the other leg the channel that made 
the intercept is hung up.

What I expect with this (ext. 2101)  dialplan is that the channel that makes 
the intercept executes the transfer to 2102 when the other leg hangs up.

Is this possible? I can not use the variable api_hangup_hook on the channel 
created in the originate via MES because I don't know at that moment the 
other leg.


Thanks
Panchi



On Wednesday 13 August 2008, Anthony Minessale wrote:
 try the original way you posted with latest trunk.


 On Wed, Aug 13, 2008 at 3:39 PM, Francisco de Ezcurra <

 francisco at deezcurra.com.ar> wrote:
 > I've tried to do the same with the variables exec_after_bridge_app and
 > exec_after_bridge_arg but i have a problem with them. As I could see the
 > application set in the variable 'exec_after_bridge_app' is executed also
 > when
 > I use transfer to send both channels of the bridge to another extension
 > and I
 > only need to execute it if the other leg hangs up.
 >
 >
 > Thanks
 > Panchi
 >
 >
 >
 >
 > On Wednesday 13 August 2008, Juan Jose Comellas wrote:
 >  According to the way I understand the hangup_after_bridge variable works,
 > I
 >  think what you're doing is correct. There is another way to write the
 >  extension so that the A leg of the bridge can continue working after the
 > B leg hangs up and the bridge is broken. You should rewrite the
 > "intercept" extension in the following way:
 >
 >       <extension name="intercept">
 >         <condition field="destination_number" expression="2101">
 >           <action application="answer" />
 >           <action application="set"
 > data="exec_after_bridge_app=transfer"/> <action application="set"
 >  data="exec_after_bridge_arg=2102"/>
 >           <action application="intercept"
 >  data="eb13f47c-6960-11dd-b3aa-65ce53a0ab35"/>
 >         </condition>
 >       </extension>
 >
 >  AFAIK, the "exec_after_bridge_app" variable only works for the A leg of a
 >  channel. It would be nice if it also worked for the B leg when the A leg
 >  hangs up.
 >
 >
 >
 >  On Wed, Aug 13, 2008 at 12:40 PM, Francisco de Ezcurra <
 >
 >  francisco at deezcurra.com.ar> wrote:
 >  > Hi all
 >  >
 >  > I'm trying to transfer the a channel after the other leg hangup in a
 >  > bridge created with the application 'intercept' using the flag
 >  > hangup_after_bridge,
 >  > but it seems not to be working. (Below are the steps I followed).
 >  >
 >  > Am i doing anything wrong ?
 >  >
 >  > Thanks in advance
 >  > Panchi
 >
 > --------------------------------------------------------------------------
 >
 >  >------------ 1) Make a call via mod_event_socket to a registered phone
 >  > (here
 >  > user2.fezcurra) and transfer the it to the extension 2100 (waiting) to
 >  > wait for the other party.
 >  >
 >  >      api originate
 >
 > {hangup_after_bridge=false}sofia/default/user3.fezcurra
 >
 >  > 2100
 >  >
 >  >      Content-Type: api/response
 >  >      Content-Length: 41
 >  >
 >  >     +OK 72a3cb6a-6943-11dd-b3aa-65ce53a0ab35
 >  >
 >  > 2) Set the UUID in the intercept action in the dialplan.
 >  >
 >  >    <action application="intercept"
 >  > data="72a3cb6a-6943-11dd-b3aa-65ce53a0ab35"/>
 >  >
 >  > 3) Make a call with another phone to the extension 2101
 >  >
 >  > 4) Hangup the first call originated via mod_event_socket (phone
 >
 > registered
 >
 >  > as
 >  > user2.fezcurra).
 >  >
 >  > Problem:
 >  >         I expected the second phone to be transferred to the extension
 >  > 2102 and hear the audio and then hangup, but i never hear the audio and
 >  > the channel is hungup when the bridge terminates.
 >
 > --------------------------------------------------------------------------
 >
 >  >------------ Here are the extensions in the dialplan:
 >  >
 >  >      <extension name="waiting">
 >  >        <condition field="destination_number" expression="2100">
 >  >          <action application="fifo" data="myqueue in undef
 >  > test/clientdata/system/audios/male/en_US/misc/HoldMusic.wav"/>
 >  >        </condition>
 >  >      </extension>
 >  >
 >  >      <extension name="intercept">
 >  >        <condition field="destination_number" expression="2101">
 >  >          <action application="answer" />
 >  >          <action application="set" data="hangup_after_bridge=false"/>
 >  >          <!-- This is the UUID returned in the originate (step 1) -->
 >  >          <action application="intercept"
 >  > data="72a3cb6a-6943-11dd-b3aa-65ce53a0ab35"/>
 >  >          <action application="transfer" data="2102"/>
 >  >        </condition>
 >  >      </extension>
 >  >
 >  >      <extension name="hold_music">
 >  >        <condition field="destination_number" expression="2102">
 >  >          <action application="playback"
 >  > data="test/clientdata/system/audios/male/en_US/misc/HoldMusic.wav"/>
 >  >          <action application="hangup" />
 >  >        </condition>
 >  >      </extension>
 >  >
 >  > _______________________________________________
 >  > Freeswitch-dev mailing list
 >  > Freeswitch-dev at lists.freeswitch.org
 >  > http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
 >  > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
 >  > http://www.freeswitch.org
 >
 > _______________________________________________
 > Freeswitch-dev mailing list
 > Freeswitch-dev at lists.freeswitch.org
 > http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
 > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
 > http://www.freeswitch.org



More information about the Freeswitch-dev mailing list