Hello I am trying to split bridged calls. Using mod_event_socket I try this api uuid_transfer c1061126-a429-11e1-9da3-85575e903927 -both playback::phrase:AC_0003: It does not work as FS seems to really need an extension. the other option I could try is : api uuid_transfer c1061126-a429-11e1-9da3-85575e903927 -both park and then for each leg: sendmsg call-command: execute execute-app-name: playback execute-app-arg: phrase:AC_0003: Is there a better way ? I am using FreeSWITCH Version 1.0.head (git-fdaa155 2012-02-10 13-17-54 +0000) Thank you Gilbert
You can't transfer to a playback. Playback is a dialplan application, not a destination. You can, however, playback to each leg individually with http://wiki.freeswitch.org/wiki/Mod_commands#uuid_broadcast uuid_broadcast <uuid> <path> [aleg|bleg|both] here it would be: api uuid_broadcast c1061126-a429-11e1-9da3-85575e903927 phrase::AC_0003 aleg for A leg. I think. Please update the wiki to make it more descriptive after you play with it. Of course, this still leaves the calls together. If you want to split them I suppose you really need to transfer each leg TO somewhere. -Avi On Wed, May 23, 2012 at 3:02 AM, Gilbert Amar <gamar@center.com> wrote:
Hello ****
** **
I am trying to split bridged calls.****
Using mod_event_socket I try this****
** **
api uuid_transfer c1061126-a429-11e1-9da3-85575e903927 -both playback::phrase:AC_0003:****
** **
It does not work as FS seems to really need an extension.****
** **
the other option I could try is :****
** **
api uuid_transfer c1061126-a429-11e1-9da3-85575e903927 -both park ****
** **
and then for each leg:****
** **
sendmsg****
call-command: execute****
execute-app-name: playback****
execute-app-arg: phrase:AC_0003:****
** **
Is there a better way ?****
I am using FreeSWITCH Version 1.0.head (git-fdaa155 2012-02-10 13-17-54 +0000)****
** **
Thank you****
** **
Gilbert****
** **
** **
** **
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Or you could use uuid_transfer, such as "uuid_transfer <uuid> -both park inline". If you want to use dialplan apps in the transfer just use the "inline" dialplan, and not XML. --Dave _____ From: Avi Marcus [mailto:avi@avimarcus.net] To: FreeSWITCH Users Help [mailto:freeswitch-users@lists.freeswitch.org] Sent: Tue, 22 May 2012 23:31:45 -0700 Subject: Re: [Freeswitch-users] How do you split bridged calls ? You can't transfer to a playback. Playback is a dialplan application, not a destination. You can, however, playback to each leg individually with http://wiki.freeswitch.org/wiki/Mod_commands#uuid_broadcast uuid_broadcast <uuid> <path> [aleg|bleg|both] here it would be: api uuid_broadcast c1061126-a429-11e1-9da3-85575e903927 phrase::AC_0003 aleg for A leg. I think. Please update the wiki to make it more descriptive after you play with it. Of course, this still leaves the calls together. If you want to split them I suppose you really need to transfer each leg TO somewhere. -Avi On Wed, May 23, 2012 at 3:02 AM, Gilbert Amar <gamar@center.com> wrote: Hello I am trying to split bridged calls. Using mod_event_socket I try this api uuid_transfer c1061126-a429-11e1-9da3-85575e903927 -both playback::phrase:AC_0003: It does not work as FS seems to really need an extension. the other option I could try is : api uuid_transfer c1061126-a429-11e1-9da3-85575e903927 -both park and then for each leg: sendmsg call-command: execute execute-app-name: playback execute-app-arg: phrase:AC_0003: Is there a better way ? I am using FreeSWITCH Version 1.0.head (git-fdaa155 2012-02-10 13-17-54 +0000) Thank you Gilbert _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com Join Us At ClueCon - Aug 7-9, 2012 FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Sorry for the late reply, but I just wanted to mention for the sake of posterity/SEO that you could also use 'uuid_dual_transfer' if you want to send each leg to a different destination. http://wiki.freeswitch.org/wiki/Mod_commands#uuid_dual_transfer -MC On Wed, May 23, 2012 at 9:39 AM, Dave R. Kompel <drk@drkngs.net> wrote:
** Or you could use uuid_transfer, such as "uuid_transfer <uuid> -both park inline". If you want to use dialplan apps in the transfer just use the "inline" dialplan, and not XML.
--Dave
Hello, I keep trying to split a bridged call. Using playback wav I have audio on both leg, but in my IVR I will need different message to be played to each leg. I do not know if this is a bug or not: I have audio only on one leg using uuid_transfer or uuid_dual_transfer for phrase. Test 1 api uuid_transfer <uuid> -both 'm:^:phrase:queue_position,5^ inline' Test 2: api uuid_dual_transfer <uuid> 'm:^:phrase:queue_position,5^ inline' 'm:^:phrase:queue_position,3^ inline' notice queue_position 5 for the first and 3 for the second. Please find attach a FS log showing for the second test that FS is only looking to process the first leg. Gilbert Details regarding the application and log. my dialplan <extension name="unpark"> <condition field="destination_number" expression="^5100$"> <action application="set" data="park_after_bridge=true"/> <action application="socket" data="192.168.1.100:8022 async full"/> </condition> </extension> Why use phrase instead of files, mainly experience with IVR building, easier to change, manage, can use parameters and language customization. Application Let's be optimistic and forget about any errors. Leg 1 call fs ext 5100 goes thru socket app api create_uuid for outgoing call execute playback phrase some other event initiate originate (in my case http request result) bgapi originate {origination_uuid=created_UUID}sofia/internal/1001%192.168.1.11 5100 // this way leg 2 ends also on my socket app Leg 2 outgoing call (ext 5100) execute playback phrase the 2 legs are there so now using DTMF handling on leg 1 DTMF 1 bridge the two legs DTMF 2 broadcast msg on the 2 leg , this work but wasn't used in the log provided DTMF 3 uuid_transfer or in our case uuid_dual_transfert leg 1 = sofia/internal/1000@192.168.1.11 leg 2 = sofia/internal/1001@192.168.1.11 From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Collins Sent: Tuesday, May 29, 2012 1:04 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] How do you split bridged calls ? Sorry for the late reply, but I just wanted to mention for the sake of posterity/SEO that you could also use 'uuid_dual_transfer' if you want to send each leg to a different destination. http://wiki.freeswitch.org/wiki/Mod_commands#uuid_dual_transfer -MC On Wed, May 23, 2012 at 9:39 AM, Dave R. Kompel <drk@drkngs.net> wrote: Or you could use uuid_transfer, such as "uuid_transfer <uuid> -both park inline". If you want to use dialplan apps in the transfer just use the "inline" dialplan, and not XML. --Dave
I dropped your log file into our pastebin here: http://pastebin.freeswitch.org/19209 The log shows that the issue is not that FS is only trying to process the first leg, which can be seen by looking at lines 507 and 714. The problem here is that your inline dialplan is not being parsed properly. What's happening is that uuid_dual_transfer is literally trying to send the A leg to destination number "m:^:phrase:queue_position,5^ inline" and the B leg to destination number "m:^:phrase:queue_position,3^ inline". What are you trying to do with each leg of the call? I see that you are trying to announce the queue position, but what do you want to have happen after that? As it stands your call legs would probably just end after the announcement because there's nothing more to do. -MC On Thu, May 31, 2012 at 3:15 PM, Gilbert Amar <gamar@center.com> wrote:
Hello,****
** **
I keep trying to split a bridged call.****
Using playback wav I have audio on both leg, but in my IVR I will need different message to be played to each leg.****
I do not know if this is a bug or not:****
I have audio only on one leg using uuid_transfer or uuid_dual_transfer for phrase.****
** **
Test 1****
api uuid_transfer <uuid> -both 'm:^:phrase:queue_position,5^ inline'****
** **
Test 2:****
api uuid_dual_transfer <uuid> 'm:^:phrase:queue_position,5^ inline' 'm:^:phrase:queue_position,3^ inline'****
** **
notice queue_position 5 for the first and 3 for the second.****
** **
** **
Please find attach a FS log showing for the second test that FS is only looking to process the first leg.****
** **
Gilbert****
** **
** **
Details regarding the application and log.****
** **
my dialplan****
<extension name="unpark">****
<condition field="destination_number" expression="^5100$">****
<action application="set" data="park_after_bridge=true"/>****
<action application="socket" data="192.168.1.100:8022 async full"/>****
</condition>****
</extension>****
** **
Why use phrase instead of files, mainly experience with IVR building, easier to change, manage, can use parameters and language customization.** **
** **
Application****
Let's be optimistic and forget about any errors.****
** **
Leg 1 call fs ext 5100****
goes thru socket app****
api create_uuid for outgoing call****
execute playback phrase****
some other event initiate originate (in my case http request result)****
bgapi originate {origination_uuid=created_UUID}sofia/internal/1001%192.168.1.11 5100 // this way leg 2 ends also on my socket app****
** **
Leg 2 outgoing call (ext 5100) ****
execute playback phrase****
** **
the 2 legs are there so now using DTMF handling on leg 1****
** **
DTMF 1 bridge the two legs****
DTMF 2 broadcast msg on the 2 leg , this work but wasn't used in the log provided****
DTMF 3 uuid_transfer or in our case uuid_dual_transfert****
** **
** **
leg 1 = sofia/internal/1000@192.168.1.11****
leg 2 = sofia/internal/1001@192.168.1.11****
** **
** **
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Michael Collins *Sent:* Tuesday, May 29, 2012 1:04 PM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] How do you split bridged calls ?****
** **
Sorry for the late reply, but I just wanted to mention for the sake of posterity/SEO that you could also use 'uuid_dual_transfer' if you want to send each leg to a different destination. http://wiki.freeswitch.org/wiki/Mod_commands#uuid_dual_transfer
-MC****
On Wed, May 23, 2012 at 9:39 AM, Dave R. Kompel <drk@drkngs.net> wrote:*** *
Or you could use uuid_transfer, such as "uuid_transfer <uuid> -both park inline". If you want to use dialplan apps in the transfer just use the "inline" dialplan, and not XML.****
****
--Dave****
** **
** **
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Hello After several mistakes I find out that if you want to break a bridge, from a socket application, and keep managing the two legs in your application the solution is: uuid_transfer <uuid> -both park inline //the inline does the magic here. then you can play phrases,get dtmf... and even re-bridge the two legs. Thanks to those who point me to the right direction. Gilbert From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Collins Sent: Thursday, May 31, 2012 11:11 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] How do you split bridged calls ? I dropped your log file into our pastebin here: http://pastebin.freeswitch.org/19209 The log shows that the issue is not that FS is only trying to process the first leg, which can be seen by looking at lines 507 and 714. The problem here is that your inline dialplan is not being parsed properly. What's happening is that uuid_dual_transfer is literally trying to send the A leg to destination number "m:^:phrase:queue_position,5^ inline" and the B leg to destination number "m:^:phrase:queue_position,3^ inline". What are you trying to do with each leg of the call? I see that you are trying to announce the queue position, but what do you want to have happen after that? As it stands your call legs would probably just end after the announcement because there's nothing more to do. -MC On Thu, May 31, 2012 at 3:15 PM, Gilbert Amar <gamar@center.com> wrote: Hello, I keep trying to split a bridged call. Using playback wav I have audio on both leg, but in my IVR I will need different message to be played to each leg. I do not know if this is a bug or not: I have audio only on one leg using uuid_transfer or uuid_dual_transfer for phrase. Test 1 api uuid_transfer <uuid> -both 'm:^:phrase:queue_position,5^ inline' Test 2: api uuid_dual_transfer <uuid> 'm:^:phrase:queue_position,5^ inline' 'm:^:phrase:queue_position,3^ inline' notice queue_position 5 for the first and 3 for the second. Please find attach a FS log showing for the second test that FS is only looking to process the first leg. Gilbert Details regarding the application and log. my dialplan <extension name="unpark"> <condition field="destination_number" expression="^5100$"> <action application="set" data="park_after_bridge=true"/> <action application="socket" data="192.168.1.100:8022 async full"/> </condition> </extension> Why use phrase instead of files, mainly experience with IVR building, easier to change, manage, can use parameters and language customization. Application Let's be optimistic and forget about any errors. Leg 1 call fs ext 5100 goes thru socket app api create_uuid for outgoing call execute playback phrase some other event initiate originate (in my case http request result) bgapi originate {origination_uuid=created_UUID}sofia/internal/1001%192.168.1.11 5100 // this way leg 2 ends also on my socket app Leg 2 outgoing call (ext 5100) execute playback phrase the 2 legs are there so now using DTMF handling on leg 1 DTMF 1 bridge the two legs DTMF 2 broadcast msg on the 2 leg , this work but wasn't used in the log provided DTMF 3 uuid_transfer or in our case uuid_dual_transfert leg 1 = sofia/internal/1000@192.168.1.11 leg 2 = sofia/internal/1001@192.168.1.11 From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Collins Sent: Tuesday, May 29, 2012 1:04 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] How do you split bridged calls ? Sorry for the late reply, but I just wanted to mention for the sake of posterity/SEO that you could also use 'uuid_dual_transfer' if you want to send each leg to a different destination. http://wiki.freeswitch.org/wiki/Mod_commands#uuid_dual_transfer -MC On Wed, May 23, 2012 at 9:39 AM, Dave R. Kompel <drk@drkngs.net> wrote: Or you could use uuid_transfer, such as "uuid_transfer <uuid> -both park inline". If you want to use dialplan apps in the transfer just use the "inline" dialplan, and not XML. --Dave _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com Join Us At ClueCon - Aug 7-9, 2012 FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Thanks for posting news of your success! Search engines all over the world send you their thanks. :P -MC On Mon, Jun 4, 2012 at 4:18 PM, Gilbert Amar <gamar@center.com> wrote:
Hello ****
** **
After several mistakes I find out that if you want to break a bridge, from a socket application, and keep managing the two legs in your application the solution is:****
** **
uuid_transfer <uuid> -both park inline //the inline does the magic here.** **
** **
then you can play phrases,get dtmf... and even re-bridge the two legs.****
** **
Thanks to those who point me to the right direction.****
** **
Gilbert****
** **
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Michael Collins *Sent:* Thursday, May 31, 2012 11:11 PM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] How do you split bridged calls ?****
** **
I dropped your log file into our pastebin here: http://pastebin.freeswitch.org/19209
The log shows that the issue is not that FS is only trying to process the first leg, which can be seen by looking at lines 507 and 714. The problem here is that your inline dialplan is not being parsed properly. What's happening is that uuid_dual_transfer is literally trying to send the A leg to destination number "m:^:phrase:queue_position,5^ inline" and the B leg to destination number "m:^:phrase:queue_position,3^ inline".
What are you trying to do with each leg of the call? I see that you are trying to announce the queue position, but what do you want to have happen after that? As it stands your call legs would probably just end after the announcement because there's nothing more to do.
-MC****
On Thu, May 31, 2012 at 3:15 PM, Gilbert Amar <gamar@center.com> wrote:*** *
Hello,****
****
I keep trying to split a bridged call.****
Using playback wav I have audio on both leg, but in my IVR I will need different message to be played to each leg.****
I do not know if this is a bug or not:****
I have audio only on one leg using uuid_transfer or uuid_dual_transfer for phrase.****
****
Test 1****
api uuid_transfer <uuid> -both 'm:^:phrase:queue_position,5^ inline'****
****
Test 2:****
api uuid_dual_transfer <uuid> 'm:^:phrase:queue_position,5^ inline' 'm:^:phrase:queue_position,3^ inline'****
****
notice queue_position 5 for the first and 3 for the second.****
****
****
Please find attach a FS log showing for the second test that FS is only looking to process the first leg.****
****
Gilbert****
****
****
Details regarding the application and log.****
****
my dialplan****
<extension name="unpark">****
<condition field="destination_number" expression="^5100$">****
<action application="set" data="park_after_bridge=true"/>****
<action application="socket" data="192.168.1.100:8022 async full"/>****
</condition>****
</extension>****
****
Why use phrase instead of files, mainly experience with IVR building, easier to change, manage, can use parameters and language customization.** **
****
Application****
Let's be optimistic and forget about any errors.****
****
Leg 1 call fs ext 5100****
goes thru socket app****
api create_uuid for outgoing call****
execute playback phrase****
some other event initiate originate (in my case http request result)****
bgapi originate {origination_uuid=created_UUID}sofia/internal/1001%192.168.1.11 5100 // this way leg 2 ends also on my socket app****
****
Leg 2 outgoing call (ext 5100) ****
execute playback phrase****
****
the 2 legs are there so now using DTMF handling on leg 1****
****
DTMF 1 bridge the two legs****
DTMF 2 broadcast msg on the 2 leg , this work but wasn't used in the log provided****
DTMF 3 uuid_transfer or in our case uuid_dual_transfert****
****
****
leg 1 = sofia/internal/1000@192.168.1.11****
leg 2 = sofia/internal/1001@192.168.1.11****
****
****
****
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Michael Collins *Sent:* Tuesday, May 29, 2012 1:04 PM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] How do you split bridged calls ?****
****
Sorry for the late reply, but I just wanted to mention for the sake of posterity/SEO that you could also use 'uuid_dual_transfer' if you want to send each leg to a different destination. http://wiki.freeswitch.org/wiki/Mod_commands#uuid_dual_transfer
-MC****
On Wed, May 23, 2012 at 9:39 AM, Dave R. Kompel <drk@drkngs.net> wrote:*** *
Or you could use uuid_transfer, such as "uuid_transfer <uuid> -both park inline". If you want to use dialplan apps in the transfer just use the "inline" dialplan, and not XML.****
****
--Dave****
****
participants (4)
-
Avi Marcus
-
Dave R. Kompel
-
Gilbert Amar
-
Michael Collins