Generate dynamic dialplan based on variables
Hello, When using the Originate command, is it possible to generate a dynamic sequence of actions to take place when the user answers the call? For example: Originate command is called with some arguments in this specific order; playback, transfer, playback. FreeSwitch should first play something, then transfer to some destination, and after returning from the transfer, play another message. The sequence of these actions is defined by the external application which is calling the Originate command. If this is possible, what is the best way to accomplish this? I have no experience with FreeSwitch, just doing some research. Regards, Grant
Return from a transfer? On May 7, 2013, at 8:04 AM, Grant Bagdasarian <GB@cm.nl> wrote:
Hello,
When using the Originate command, is it possible to generate a dynamic sequence of actions to take place when the user answers the call?
For example: Originate command is called with some arguments in this specific order; playback, transfer, playback. FreeSwitch should first play something, then transfer to some destination, and after returning from the transfer, play another message. The sequence of these actions is defined by the external application which is calling the Originate command.
If this is possible, what is the best way to accomplish this? I have no experience with FreeSwitch, just doing some research.
Yes. For example: - Originate to A. - Playback "Hello World" - Transfer A to B. - B hangs up the call. - Continue with call flow. Playback "Bye". This is what I've done many times with VoiceXML. From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Jerris Sent: Tuesday, May 7, 2013 2:49 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] Generate dynamic dialplan based on variables Return from a transfer? On May 7, 2013, at 8:04 AM, Grant Bagdasarian <GB@cm.nl<mailto:GB@cm.nl>> wrote: Hello, When using the Originate command, is it possible to generate a dynamic sequence of actions to take place when the user answers the call? For example: Originate command is called with some arguments in this specific order; playback, transfer, playback. FreeSwitch should first play something, then transfer to some destination, and after returning from the transfer, play another message. The sequence of these actions is defined by the external application which is calling the Originate command. If this is possible, what is the best way to accomplish this? I have no experience with FreeSwitch, just doing some research.
Isnt that the point behind using a dialplan? On May 7, 2013 9:57 AM, "Grant Bagdasarian" <GB@cm.nl> wrote:
Yes. For example: ****
**- **Originate to A.****
**- **Playback “Hello World”****
**- **Transfer A to B.****
**- **B hangs up the call.****
**- **Continue with call flow. Playback “Bye”.****
** **
This is what I’ve done many times with VoiceXML.****
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Michael Jerris *Sent:* Tuesday, May 7, 2013 2:49 PM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] Generate dynamic dialplan based on variables****
** **
Return from a transfer?****
** **
On May 7, 2013, at 8:04 AM, Grant Bagdasarian <GB@cm.nl> wrote:****
****
Hello,****
****
When using the Originate command, is it possible to generate a dynamic sequence of actions to take place when the user answers the call?****
****
For example: Originate command is called with some arguments in this specific order; playback, transfer, playback.****
FreeSwitch should first play something, then transfer to some destination, and after returning from the transfer, play another message.****
The sequence of these actions is defined by the external application which is calling the Originate command.****
****
If this is possible, what is the best way to accomplish this? I have no experience with FreeSwitch, just doing some research.****
** **
_________________________________________________________________________ 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
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
This isn't a transfer, its just bridging to B. Yes, this can be done with dialplan, make sure to set hangup_after_bridge=false so that it can continue after the transfer. you can use originate to an extension with those applications in it or use inline dialplan with all the actions. Mike On May 7, 2013, at 9:52 AM, Grant Bagdasarian <GB@cm.nl> wrote:
Yes. For example: - Originate to A. - Playback “Hello World” - Transfer A to B. - B hangs up the call. - Continue with call flow. Playback “Bye”.
This is what I’ve done many times with VoiceXML.
From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Jerris Sent: Tuesday, May 7, 2013 2:49 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] Generate dynamic dialplan based on variables
Return from a transfer?
On May 7, 2013, at 8:04 AM, Grant Bagdasarian <GB@cm.nl> wrote:
Hello,
When using the Originate command, is it possible to generate a dynamic sequence of actions to take place when the user answers the call?
For example: Originate command is called with some arguments in this specific order; playback, transfer, playback. FreeSwitch should first play something, then transfer to some destination, and after returning from the transfer, play another message. The sequence of these actions is defined by the external application which is calling the Originate command.
If this is possible, what is the best way to accomplish this? I have no experience with FreeSwitch, just doing some research.
And if you want it to be extremely dynamic you can send the originated leg into an xml_curl-generated dialplan or use mod_httapi to create something on the fly. -MC On Tue, May 7, 2013 at 7:15 AM, Michael Jerris <mike@jerris.com> wrote:
This isn't a transfer, its just bridging to B.
Yes, this can be done with dialplan, make sure to set hangup_after_bridge=false so that it can continue after the transfer. you can use originate to an extension with those applications in it or use inline dialplan with all the actions.
Mike
On May 7, 2013, at 9:52 AM, Grant Bagdasarian <GB@cm.nl> wrote:
Yes. For example:**** - Originate to A.**** - Playback “Hello World”**** - Transfer A to B.**** - B hangs up the call.**** - Continue with call flow. Playback “Bye”.****
This is what I’ve done many times with VoiceXML.****
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch- users-bounces@lists.freeswitch.org] *On Behalf Of *Michael Jerris *Sent:* Tuesday, May 7, 2013 2:49 PM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] Generate dynamic dialplan based on variables**** ** ** Return from a transfer?**** ** ** On May 7, 2013, at 8:04 AM, Grant Bagdasarian <GB@cm.nl> wrote:****
**** Hello,**** **** When using the Originate command, is it possible to generate a dynamic sequence of actions to take place when the user answers the call?**** **** For example: Originate command is called with some arguments in this specific order; playback, transfer, playback.**** FreeSwitch should first play something, then transfer to some destination, and after returning from the transfer, play another message.**** The sequence of these actions is defined by the external application which is calling the Originate command.**** **** If this is possible, what is the best way to accomplish this? I have no experience with FreeSwitch, just doing some research.****
_________________________________________________________________________ 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
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
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
On 13-05-07 03:28 PM, Michael Collins wrote:
And if you want it to be extremely dynamic you can send the originated leg into an xml_curl-generated dialplan or use mod_httapi to create something on the fly. I think that's covered in the new book that's coming out soon. That might be a worthwhile investment to make ;-) </shameless_plug>
-Ray
The guy is just asking a general question. And the general answer is - there are a ton of ways to achieve this. Natively via lua scripting, externally via ESL sockets and a script language of choice and dynamically with xml _curl generated dialplan instruction. FS is very, very controllable. On May 8, 2013 12:47 AM, "Raymond Chandler" <intralanman@freeswitch.org> wrote:
On 13-05-07 03:28 PM, Michael Collins wrote:
And if you want it to be extremely dynamic you can send the originated leg into an xml_curl-generated dialplan or use mod_httapi to create something on the fly. I think that's covered in the new book that's coming out soon. That might be a worthwhile investment to make ;-) </shameless_plug>
-Ray
_________________________________________________________________________ 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
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
I'll take a deep dive into those methods. FreeSwitch is indeed very controllable and awesome! Thank guys! From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Daniel Ivanov Sent: Wednesday, May 8, 2013 3:53 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] Generate dynamic dialplan based on variables The guy is just asking a general question. And the general answer is - there are a ton of ways to achieve this. Natively via lua scripting, externally via ESL sockets and a script language of choice and dynamically with xml _curl generated dialplan instruction. FS is very, very controllable. On May 8, 2013 12:47 AM, "Raymond Chandler" <intralanman@freeswitch.org<mailto:intralanman@freeswitch.org>> wrote: On 13-05-07 03:28 PM, Michael Collins wrote:
And if you want it to be extremely dynamic you can send the originated leg into an xml_curl-generated dialplan or use mod_httapi to create something on the fly. I think that's covered in the new book that's coming out soon. That might be a worthwhile investment to make ;-) </shameless_plug>
-Ray _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org<mailto: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 FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org<mailto: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
participants (6)
-
Brian Foster
-
Daniel Ivanov
-
Grant Bagdasarian
-
Michael Collins
-
Michael Jerris
-
Raymond Chandler