Hi, I couple of my team members are working on translating a very long Asterisk Dial Plan to FreeSWITCH XML Dial Plan. Now reference to wiki link below, http://wiki.freeswitch.org/wiki/FreeSwitch_Dialplan_XML#About_Dialplan_Varia... The dial plan variables are not getting initialized as expected. I was just wondering if we move this variable get and set stuff to any language module say mod_perl, will that make any difference performance wise? I mean we will be invoking a Perl interpreter for each incoming call, won't that be expensive in terms of RAM and CPU usage and thus reducing number of calls this FS deployment can handle? I have guys with programming skills in Perl, PHP, Python, Java and LUA languages. Which language do you recommend for this, again in terms of speed and performance? Thank you. -- Muhammad Shahzad ----------------------------------- CISCO Rich Media Communication Specialist (CRMCS) CISCO Certified Network Associate (CCNA) Cell: +92 334 422 40 88 MSN: shari_786pk@hotmail.com Email: shaheryarkh@googlemail.com
Why not make your gays have with all those programming skills try each one of them. Say, one guy programs in Perl, the other in PHP, still the other in Python, still again the other in Java and finally one in LUA. Take note, same dialplan project and let them not compare notes or translate the code of the other. Then at the end of the day, testing day, let the code produced be subjected to which one does the job well. Sure there could be one and those code that's not worthy enough well just do a "rm -rf <this_guy>" in your ranks.
Hi,
I couple of my team members are working on translating a very long Asterisk Dial Plan to FreeSWITCH XML Dial Plan. Now reference to wiki link below,
http://wiki.freeswitch.org/wiki/FreeSwitch_Dialplan_XML#About_Dialplan_Varia...
The dial plan variables are not getting initialized as expected. I was just wondering if we move this variable get and set stuff to any language module say mod_perl, will that make any difference performance wise? I mean we will be invoking a Perl interpreter for each incoming call, won't that be expensive in terms of RAM and CPU usage and thus reducing number of calls this FS deployment can handle?
I have guys with programming skills in Perl, PHP, Python, Java and LUA languages. Which language do you recommend for this, again in terms of speed and performance?
Thank you.
-- Muhammad Shahzad ----------------------------------- CISCO Rich Media Communication Specialist (CRMCS) CISCO Certified Network Associate (CCNA) Cell: +92 334 422 40 88 MSN: shari_786pk@hotmail.com Email: shaheryarkh@googlemail.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
On Thu, Sep 3, 2009 at 10:59 PM, Muhammad Shahzad < shaheryarkh@googlemail.com> wrote:
Hi,
I couple of my team members are working on translating a very long Asterisk Dial Plan to FreeSWITCH XML Dial Plan. Now reference to wiki link below,
Before you go through all the trouble of translating the dialplan be sure to review the application itself. In many cases just doing a dialplan translation results in less efficient use of FreeSWITCH's powerful features. Be sure that you are looking at the way FreeSWITCH handles various situations and take advantage of its power and ease of use.
http://wiki.freeswitch.org/wiki/FreeSwitch_Dialplan_XML#About_Dialplan_Varia...
The dial plan variables are not getting initialized as expected. I was just wondering if we move this variable get and set stuff to any language module say mod_perl, will that make any difference performance wise? I mean we will be invoking a Perl interpreter for each incoming call, won't that be expensive in terms of RAM and CPU usage and thus reducing number of calls this FS deployment can handle?
I have guys with programming skills in Perl, PHP, Python, Java and LUA languages. Which language do you recommend for this, again in terms of speed and performance?
Lua is very portable and we've done tests with hundreds of concurrent Lua scripts running. The other languages are heavier but they'll still handle quite a few concurrent sessions. Just be sure that you don't do the bridge app right in the script, use transfer instead and have the dialplan process any bridging that you need to do. -MC
Thank you so much. Of course we are not doing a blind translation, but at the very basic we will need to get and set certain variable at different stage of call processing. Another question in same context, Can we do post-hangup call processing? I mean like in Asterisk, we have extension "h" which is called after hangup. Can you guide a bit how to do it in FS? Does FS has any such special extensions? Thank you. On Fri, Sep 4, 2009 at 12:06 PM, Michael Collins <msc@freeswitch.org> wrote:
On Thu, Sep 3, 2009 at 10:59 PM, Muhammad Shahzad < shaheryarkh@googlemail.com> wrote:
Hi,
I couple of my team members are working on translating a very long Asterisk Dial Plan to FreeSWITCH XML Dial Plan. Now reference to wiki link below,
Before you go through all the trouble of translating the dialplan be sure to review the application itself. In many cases just doing a dialplan translation results in less efficient use of FreeSWITCH's powerful features. Be sure that you are looking at the way FreeSWITCH handles various situations and take advantage of its power and ease of use.
http://wiki.freeswitch.org/wiki/FreeSwitch_Dialplan_XML#About_Dialplan_Varia...
The dial plan variables are not getting initialized as expected. I was just wondering if we move this variable get and set stuff to any language module say mod_perl, will that make any difference performance wise? I mean we will be invoking a Perl interpreter for each incoming call, won't that be expensive in terms of RAM and CPU usage and thus reducing number of calls this FS deployment can handle?
I have guys with programming skills in Perl, PHP, Python, Java and LUA languages. Which language do you recommend for this, again in terms of speed and performance?
Lua is very portable and we've done tests with hundreds of concurrent Lua scripts running. The other languages are heavier but they'll still handle quite a few concurrent sessions. Just be sure that you don't do the bridge app right in the script, use transfer instead and have the dialplan process any bridging that you need to do.
-MC
_______________________________________________ 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
-- Muhammad Shahzad ----------------------------------- CISCO Rich Media Communication Specialist (CRMCS) CISCO Certified Network Associate (CCNA) Cell: +92 334 422 40 88 MSN: shari_786pk@hotmail.com Email: shaheryarkh@googlemail.com
On Fri, Sep 4, 2009 at 12:25 AM, Muhammad Shahzad < shaheryarkh@googlemail.com> wrote:
Thank you so much. Of course we are not doing a blind translation, but at the very basic we will need to get and set certain variable at different stage of call processing.
Another question in same context, Can we do post-hangup call processing? I mean like in Asterisk, we have extension "h" which is called after hangup. Can you guide a bit how to do it in FS? Does FS has any such special extensions?
Thank you.
Yes, you can post hangup processing. See the wiki channel_variables page and look at "api_hangup_hook" for more information. Just know that it can get tricky to try and post-process calls from right inside the dialplan. In most cases we recommend using the event socket and having absolute control over the call, including what happens at hangup. Lua is especially good at this. -MC
Hi Michael, Why is it not recommended to do the brdge app right in the script? The reason I ask this, I did have lot of trouble using Park/Fifo app in the script and the whole thing started working after I did the UUID transfer and have the things I wanted executed as part of the Dial plan. Also, How many concurrent sessions can one support in ESL using Python/Ruby compared to using Lua? Thanks. On Fri, Sep 4, 2009 at 3:06 AM, Michael Collins <msc@freeswitch.org> wrote:
On Thu, Sep 3, 2009 at 10:59 PM, Muhammad Shahzad < shaheryarkh@googlemail.com> wrote:
Hi,
I couple of my team members are working on translating a very long Asterisk Dial Plan to FreeSWITCH XML Dial Plan. Now reference to wiki link below,
Before you go through all the trouble of translating the dialplan be sure to review the application itself. In many cases just doing a dialplan translation results in less efficient use of FreeSWITCH's powerful features. Be sure that you are looking at the way FreeSWITCH handles various situations and take advantage of its power and ease of use.
http://wiki.freeswitch.org/wiki/FreeSwitch_Dialplan_XML#About_Dialplan_Varia...
The dial plan variables are not getting initialized as expected. I was just wondering if we move this variable get and set stuff to any language module say mod_perl, will that make any difference performance wise? I mean we will be invoking a Perl interpreter for each incoming call, won't that be expensive in terms of RAM and CPU usage and thus reducing number of calls this FS deployment can handle?
I have guys with programming skills in Perl, PHP, Python, Java and LUA languages. Which language do you recommend for this, again in terms of speed and performance?
Lua is very portable and we've done tests with hundreds of concurrent Lua scripts running. The other languages are heavier but they'll still handle quite a few concurrent sessions. Just be sure that you don't do the bridge app right in the script, use transfer instead and have the dialplan process any bridging that you need to do.
-MC
_______________________________________________ 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
generally it keeps the overhead of running the script around during the whole call. Mike On Sep 4, 2009, at 10:37 AM, Shameem Shiek wrote:
Hi Michael,
Why is it not recommended to do the brdge app right in the script? The reason I ask this, I did have lot of trouble using Park/Fifo app in the script and the whole thing started working after I did the UUID transfer and have the things I wanted executed as part of the Dial plan.
Also, How many concurrent sessions can one support in ESL using Python/Ruby compared to using Lua?
Thanks.
On Fri, Sep 4, 2009 at 3:06 AM, Michael Collins <msc@freeswitch.org> wrote:
On Thu, Sep 3, 2009 at 10:59 PM, Muhammad Shahzad <shaheryarkh@googlemail.com
wrote: Hi,
I couple of my team members are working on translating a very long Asterisk Dial Plan to FreeSWITCH XML Dial Plan. Now reference to wiki link below,
Before you go through all the trouble of translating the dialplan be sure to review the application itself. In many cases just doing a dialplan translation results in less efficient use of FreeSWITCH's powerful features. Be sure that you are looking at the way FreeSWITCH handles various situations and take advantage of its power and ease of use.
http://wiki.freeswitch.org/wiki/FreeSwitch_Dialplan_XML#About_Dialplan_Varia...
The dial plan variables are not getting initialized as expected. I was just wondering if we move this variable get and set stuff to any language module say mod_perl, will that make any difference performance wise? I mean we will be invoking a Perl interpreter for each incoming call, won't that be expensive in terms of RAM and CPU usage and thus reducing number of calls this FS deployment can handle?
I have guys with programming skills in Perl, PHP, Python, Java and LUA languages. Which language do you recommend for this, again in terms of speed and performance?
Lua is very portable and we've done tests with hundreds of concurrent Lua scripts running. The other languages are heavier but they'll still handle quite a few concurrent sessions. Just be sure that you don't do the bridge app right in the script, use transfer instead and have the dialplan process any bridging that you need to do.
-MC
participants (5)
-
demuel@thephinix.org
-
Michael Collins
-
Michael Jerris
-
Muhammad Shahzad
-
Shameem Shiek