Re: [Freeswitch-users] Questions on Building an application for FreeSWITCH
Are you going to be calling my cell phone to ask if I owe $10,000 or more to the IRS? Seriously, the world does not need another robodialer to harass people... With that being said, write your app in whatever you want using ESL and connect to the socket to originate calls and listen for events. -- Kristian Kielhofner http://blog.krisk.org ----- Original Message ----- From: freeswitch-users-bounces@lists.freeswitch.org <freeswitch-users-bounces@lists.freeswitch.org> To: freeswitch-users@lists.freeswitch.org <freeswitch-users@lists.freeswitch.org> Sent: Wed May 12 15:40:58 2010 Subject: [Freeswitch-users] Questions on Building an application forFreeSWITCHI am looking for a boot in the right direction on the following project. I am looking to build an "application" with FS where it will frequently check a database and then make an outbound call when a record with certain conditions is found in the DB. It needs to determine if the call was then answered by a machine/vm, busy, or answered by a person, play a message and get a response back to be recorded in the db. It may find many calls that need to be made at the same time. It will be running on a PRI. I am confused as to what approach to use to accomplish this. Lua Script, Perl Script, Javascript, Phython, PHP, Ruby....etc. Liverpie, ESL....etc. Or a totally different approach. I realize that there is not only one "correct" way to build this, but I am looking for advise from those who have done this type of thing before. I value the opinion of those who have gone down this road and would be willing to share their thoughts on a recommended path to take to accomplish this. Thanks _______________________________________________ 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 Wed, May 12, 2010 at 2:50 PM, Kristian Kielhofner <kris@kriskinc.com>wrote:
Are you going to be calling my cell phone to ask if I owe $10,000 or more to the IRS?
Seriously, the world does not need another robodialer to harass people...
Agreed, however there are legitimate use cases for this, like a retailer calling to say an order is in, or reminder calls sent out by a doctor's office. But yes, if it's dialing for dollars then I'm with you: Por favor! No mas! -MC
With that being said, write your app in whatever you want using ESL and connect to the socket to originate calls and listen for events.
-- Kristian Kielhofner http://blog.krisk.org
----- Original Message ----- From: freeswitch-users-bounces@lists.freeswitch.org <freeswitch-users-bounces@lists.freeswitch.org> To: freeswitch-users@lists.freeswitch.org <freeswitch-users@lists.freeswitch.org> Sent: Wed May 12 15:40:58 2010 Subject: [Freeswitch-users] Questions on Building an application forFreeSWITCHI am looking for a boot in the right direction on the following project.
I am looking to build an "application" with FS where it will frequently check a database and then make an outbound call when a record with certain conditions is found in the DB. It needs to determine if the call was then answered by a machine/vm, busy, or answered by a person, play a message and get a response back to be recorded in the db. It may find many calls that need to be made at the same time. It will be running on a PRI.
I am confused as to what approach to use to accomplish this.
Lua Script, Perl Script, Javascript, Phython, PHP, Ruby....etc. Liverpie, ESL....etc. Or a totally different approach.
I realize that there is not only one "correct" way to build this, but I am looking for advise from those who have done this type of thing before. I value the opinion of those who have gone down this road and would be willing to share their thoughts on a recommended path to take to accomplish this.
Thanks
_______________________________________________ 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
_______________________________________________ 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 is legit. We are not into harassing anyone. There are too many people doing that already. We currently have this working on a Windows/Dialogic platform, but would like to get it over to FreeSWITCH for a number of reasons. It is always nice to avoid spending alot of time developing using a method that you later find has serious issues or limitations and then having to change horses and start over. I just thought I would tap on someone else's wisdom in regards to a good way to talk to FS that works well. I did notice that the wiki talks like LUA is the preferred way to go. Thanks Michael Collins wrote:
On Wed, May 12, 2010 at 2:50 PM, Kristian Kielhofner <kris@kriskinc.com <mailto:kris@kriskinc.com>> wrote:
Are you going to be calling my cell phone to ask if I owe $10,000 or more to the IRS?
Seriously, the world does not need another robodialer to harass people...
Agreed, however there are legitimate use cases for this, like a retailer calling to say an order is in, or reminder calls sent out by a doctor's office. But yes, if it's dialing for dollars then I'm with you: Por favor! No mas! -MC
With that being said, write your app in whatever you want using ESL and connect to the socket to originate calls and listen for events.
-- Kristian Kielhofner http://blog.krisk.org
----- Original Message ----- From: freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org> <freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org>> To: freeswitch-users@lists.freeswitch.org <mailto:freeswitch-users@lists.freeswitch.org> <freeswitch-users@lists.freeswitch.org <mailto:freeswitch-users@lists.freeswitch.org>> Sent: Wed May 12 15:40:58 2010 Subject: [Freeswitch-users] Questions on Building an application forFreeSWITCHI am looking for a boot in the right direction on the following project.
I am looking to build an "application" with FS where it will frequently check a database and then make an outbound call when a record with certain conditions is found in the DB. It needs to determine if the call was then answered by a machine/vm, busy, or answered by a person, play a message and get a response back to be recorded in the db. It may find many calls that need to be made at the same time. It will be running on a PRI.
I am confused as to what approach to use to accomplish this.
Lua Script, Perl Script, Javascript, Phython, PHP, Ruby....etc. Liverpie, ESL....etc. Or a totally different approach.
I realize that there is not only one "correct" way to build this, but I am looking for advise from those who have done this type of thing before. I value the opinion of those who have gone down this road and would be willing to share their thoughts on a recommended path to take to accomplish this.
Thanks
_______________________________________________ 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
_______________________________________________ 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
------------------------------------------------------------------------
_______________________________________________ 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
Since you are on a Windows platform anyway - you could also look at mod_managed, that would allow you build the application code in C#. The access to your existing DB would potentially remain the same. It would be quite easy to spin a monitor thread in C# and monitor a DB for new calls and dispatch those calls etc. We currently use Dialogic HMP in a Windows environment and our app has ported well with out any change to the backend non telephony code. On Wed, May 12, 2010 at 6:28 PM, Phone <phone.bytes@gmail.com> wrote:
This is legit. We are not into harassing anyone. There are too many people doing that already.
We currently have this working on a Windows/Dialogic platform, but would like to get it over to FreeSWITCH for a number of reasons. It is always nice to avoid spending alot of time developing using a method that you later find has serious issues or limitations and then having to change horses and start over. I just thought I would tap on someone else's wisdom in regards to a good way to talk to FS that works well. I did notice that the wiki talks like LUA is the preferred way to go.
Thanks
Michael Collins wrote:
On Wed, May 12, 2010 at 2:50 PM, Kristian Kielhofner <kris@kriskinc.com <mailto:kris@kriskinc.com>> wrote:
Are you going to be calling my cell phone to ask if I owe $10,000 or more to the IRS?
Seriously, the world does not need another robodialer to harass people...
Agreed, however there are legitimate use cases for this, like a retailer calling to say an order is in, or reminder calls sent out by a doctor's office. But yes, if it's dialing for dollars then I'm with you: Por favor! No mas! -MC
With that being said, write your app in whatever you want using ESL and connect to the socket to originate calls and listen for events.
-- Kristian Kielhofner http://blog.krisk.org
----- Original Message ----- From: freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org> <freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org>> To: freeswitch-users@lists.freeswitch.org <mailto:freeswitch-users@lists.freeswitch.org> <freeswitch-users@lists.freeswitch.org <mailto:freeswitch-users@lists.freeswitch.org>> Sent: Wed May 12 15:40:58 2010 Subject: [Freeswitch-users] Questions on Building an application forFreeSWITCHI am looking for a boot in the right direction on the following project.
I am looking to build an "application" with FS where it will frequently check a database and then make an outbound call when a record with certain conditions is found in the DB. It needs to determine if the call was then answered by a machine/vm, busy, or answered by a
person,
play a message and get a response back to be recorded in the db. It may find many calls that need to be made at the same time. It will be running on a PRI.
I am confused as to what approach to use to accomplish this.
Lua Script, Perl Script, Javascript, Phython, PHP, Ruby....etc. Liverpie, ESL....etc. Or a totally different approach.
I realize that there is not only one "correct" way to build this, but I am looking for advise from those who have done this type of thing before. I value the opinion of those who have gone down this road
and
would be willing to share their thoughts on a recommended path to
take
to accomplish this.
Thanks
_______________________________________________ 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
_______________________________________________ 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
------------------------------------------------------------------------
_______________________________________________ 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
_______________________________________________ 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 Wed, May 12, 2010 at 3:47 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
Since you are on a Windows platform anyway - you could also look at mod_managed, that would allow you build the application code in C#. The access to your existing DB would potentially remain the same. It would be quite easy to spin a monitor thread in C# and monitor a DB for new calls and dispatch those calls etc.
We currently use Dialogic HMP in a Windows environment and our app has ported well with out any change to the backend non telephony code.
This is indeed one of the advantages of ESL and the event socket. If you can abstract away the heavy lifting of the phone calls and handling from the db/logic/etc. then it is much easier to port and to maintain.
In any case, use whatever language supports the event socket and is familiar to you. In all honestly, I just use Perl. It is freakishly good at this sort of thing, at least for me. ( http://xkcd.com/224/ ) -MC
Thanks MC, Can you point me to any example Perl code to start from? Michael Collins wrote:
On Wed, May 12, 2010 at 3:47 PM, Phillip Jones <pjintheusa@gmail.com <mailto:pjintheusa@gmail.com>> wrote:
Since you are on a Windows platform anyway - you could also look at mod_managed, that would allow you build the application code in C#. The access to your existing DB would potentially remain the same. It would be quite easy to spin a monitor thread in C# and monitor a DB for new calls and dispatch those calls etc.
We currently use Dialogic HMP in a Windows environment and our app has ported well with out any change to the backend non telephony code.
This is indeed one of the advantages of ESL and the event socket. If you can abstract away the heavy lifting of the phone calls and handling from the db/logic/etc. then it is much easier to port and to maintain.
In any case, use whatever language supports the event socket and is familiar to you. In all honestly, I just use Perl. It is freakishly good at this sort of thing, at least for me. ( http://xkcd.com/224/ )
-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
Why not REALLY go to the next level with an OffLine(stand alone) Browser APP or Google Native CLIENT SDK (Javacript / HTML / CSS / and Native CODE) http://elephantsquared.com/2010/05/12/nacl-google-released-a-developer-previ... http://en.wikipedia.org/wiki/NPAPI -E http://vCardCloud.com On Wed, May 12, 2010 at 7:49 PM, Phone <phone.bytes@gmail.com> wrote:
Thanks MC,
Can you point me to any example Perl code to start from?
Michael Collins wrote:
On Wed, May 12, 2010 at 3:47 PM, Phillip Jones <pjintheusa@gmail.com <mailto:pjintheusa@gmail.com>> wrote:
Since you are on a Windows platform anyway - you could also look at mod_managed, that would allow you build the application code in C#. The access to your existing DB would potentially remain the same. It would be quite easy to spin a monitor thread in C# and monitor a DB for new calls and dispatch those calls etc.
We currently use Dialogic HMP in a Windows environment and our app has ported well with out any change to the backend non telephony code.
This is indeed one of the advantages of ESL and the event socket. If you can abstract away the heavy lifting of the phone calls and handling from the db/logic/etc. then it is much easier to port and to maintain.
In any case, use whatever language supports the event socket and is familiar to you. In all honestly, I just use Perl. It is freakishly good at this sort of thing, at least for me. ( http://xkcd.com/224/ )
-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
_______________________________________________ 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 Wed, May 12, 2010 at 4:49 PM, Phone <phone.bytes@gmail.com> wrote:
Thanks MC,
Can you point me to any example Perl code to start from?
Look in your FS source tree under libs/esl/perl - there are some examples of simple ESL connections. Also, look at the other languages in the esl directory for alternative ideas.
-MC
And just a general thought of using ESL vs an in process solution like mod_managed, or LUA. My understanding is, that using a separate server/process does potentially give you another point of failure and, if you use a single ESL server application to control several FS boxes, potentially a single point of failure. It is fairly easy to build a scalable and reliable FS cluster and using DNS SRV and OpenSIPS in order to avoid any single points of failure. Having independent FS boxes that pull data, but can fail with little impact seems attractive to me, On Thu, May 13, 2010 at 12:55 PM, Michael Collins <msc@freeswitch.org>wrote:
On Wed, May 12, 2010 at 4:49 PM, Phone <phone.bytes@gmail.com> wrote:
Thanks MC,
Can you point me to any example Perl code to start from?
Look in your FS source tree under libs/esl/perl - there are some examples of simple ESL connections. Also, look at the other languages in the esl directory for alternative ideas.
-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
ESL connecting to a socket actually proves to be more scalable and more available with fewer components. Why not have N servers running your socket app with N servers running FreeSWITCH? OpenSIPS introduces its own issues with failover and I've yet to see DNS SRV be the reliability/scalability solution it's made out to be. On Thu, May 13, 2010 at 3:01 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
And just a general thought of using ESL vs an in process solution like mod_managed, or LUA.
My understanding is, that using a separate server/process does potentially give you another point of failure and, if you use a single ESL server application to control several FS boxes, potentially a single point of failure. It is fairly easy to build a scalable and reliable FS cluster and using DNS SRV and OpenSIPS in order to avoid any single points of failure. Having independent FS boxes that pull data, but can fail with little impact seems attractive to me,
-- Kristian Kielhofner http://www.astlinux.org http://blog.krisk.org http://www.star2star.com http://www.submityoursip.com http://www.voalte.com
What would the advantage of an N to N architecture be though? An ESL server controlling several FS instances has a view of everything that is going on. All calls/conferences etc. A real advantage. That is lost when two ESL servers are run in parallel. State information could be in a DB cluster - but why not have the in-process app access this directly, cutting out the middle man? How does using ESL make it more scalable and more available with fewer components? I am sure you are correct - I just don't see it. On Thu, May 13, 2010 at 3:15 PM, Kristian Kielhofner <kris@kriskinc.com>wrote:
ESL connecting to a socket actually proves to be more scalable and more available with fewer components. Why not have N servers running your socket app with N servers running FreeSWITCH?
OpenSIPS introduces its own issues with failover and I've yet to see DNS SRV be the reliability/scalability solution it's made out to be.
On Thu, May 13, 2010 at 3:01 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
And just a general thought of using ESL vs an in process solution like mod_managed, or LUA.
My understanding is, that using a separate server/process does potentially give you another point of failure and, if you use a single ESL server application to control several FS boxes, potentially a single point of failure. It is fairly easy to build a scalable and reliable FS cluster and using DNS SRV and OpenSIPS in order to avoid any single points of failure. Having independent FS boxes that pull data, but can fail with little impact seems attractive to me,
-- Kristian Kielhofner http://www.astlinux.org http://blog.krisk.org http://www.star2star.com http://www.submityoursip.com http://www.voalte.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
Guys, this is getting a bit more intense than what the OP asked about. He wanted some information on how to use a first-aid kit, not how to perform brain surgery! :P -MC On Thu, May 13, 2010 at 1:16 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
What would the advantage of an N to N architecture be though? An ESL server controlling several FS instances has a view of everything that is going on. All calls/conferences etc. A real advantage. That is lost when two ESL servers are run in parallel. State information could be in a DB cluster - but why not have the in-process app access this directly, cutting out the middle man?
How does using ESL make it more scalable and more available with fewer components? I am sure you are correct - I just don't see it.
On Thu, May 13, 2010 at 3:15 PM, Kristian Kielhofner <kris@kriskinc.com>wrote:
ESL connecting to a socket actually proves to be more scalable and more available with fewer components. Why not have N servers running your socket app with N servers running FreeSWITCH?
OpenSIPS introduces its own issues with failover and I've yet to see DNS SRV be the reliability/scalability solution it's made out to be.
On Thu, May 13, 2010 at 3:01 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
And just a general thought of using ESL vs an in process solution like mod_managed, or LUA.
My understanding is, that using a separate server/process does potentially give you another point of failure and, if you use a single ESL server application to control several FS boxes, potentially a single point of failure. It is fairly easy to build a scalable and reliable FS cluster and using DNS SRV and OpenSIPS in order to avoid any single points of failure. Having independent FS boxes that pull data, but can fail with little impact seems attractive to me,
-- Kristian Kielhofner http://www.astlinux.org http://blog.krisk.org http://www.star2star.com http://www.submityoursip.com http://www.voalte.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
_______________________________________________ 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
But if that ESL server fails, your entire system goes down. Having N ESL servers means one can fail and the other ESL server allows the cluster to continue running until the failed server is replaced/repaired. -Steve On 13 May 2010 21:16, Phillip Jones <pjintheusa@gmail.com> wrote:
What would the advantage of an N to N architecture be though? An ESL server controlling several FS instances has a view of everything that is going on. All calls/conferences etc. A real advantage. That is lost when two ESL servers are run in parallel. State information could be in a DB cluster - but why not have the in-process app access this directly, cutting out the middle man?
How does using ESL make it more scalable and more available with fewer components? I am sure you are correct - I just don't see it.
On Thu, May 13, 2010 at 3:15 PM, Kristian Kielhofner <kris@kriskinc.com>wrote:
ESL connecting to a socket actually proves to be more scalable and more available with fewer components. Why not have N servers running your socket app with N servers running FreeSWITCH?
OpenSIPS introduces its own issues with failover and I've yet to see DNS SRV be the reliability/scalability solution it's made out to be.
On Thu, May 13, 2010 at 3:01 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
And just a general thought of using ESL vs an in process solution like mod_managed, or LUA.
My understanding is, that using a separate server/process does potentially give you another point of failure and, if you use a single ESL server application to control several FS boxes, potentially a single point of failure. It is fairly easy to build a scalable and reliable FS cluster and using DNS SRV and OpenSIPS in order to avoid any single points of failure. Having independent FS boxes that pull data, but can fail with little impact seems attractive to me,
-- Kristian Kielhofner http://www.astlinux.org http://blog.krisk.org http://www.star2star.com http://www.submityoursip.com http://www.voalte.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
_______________________________________________ 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
N+N pools can be used for many things in telecom, but not for all. An IVR can as an example be a pool - rather than FS running the IVR server side you connect to a ESL resource and run heavy work client side, maybe through a pool manager. On this level you can even provide failover schemes and fall-back schemes. Speech servers are another excellent candidate for resource pools because speech requires a bit of CPU and it's very nice to be able to scale up speech capacity by just throwing in more hardware. The challenge comes when you want to do things like ACD on a N+N system. As you agent's now might be connected to different FS boxes you need a centralised instance to manage - in which case you can use N2 or simply use a database that provide redundancy. Jan _____ From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Steven Ayre Sent: 26. mai 2010 12:39 To: freeswitch-users@lists.freeswitch.org Subject: Re: [Freeswitch-users] Questions on Building an application for FreeSWITCH But if that ESL server fails, your entire system goes down. Having N ESL servers means one can fail and the other ESL server allows the cluster to continue running until the failed server is replaced/repaired. -Steve On 13 May 2010 21:16, Phillip Jones <pjintheusa@gmail.com> wrote: What would the advantage of an N to N architecture be though? An ESL server controlling several FS instances has a view of everything that is going on. All calls/conferences etc. A real advantage. That is lost when two ESL servers are run in parallel. State information could be in a DB cluster - but why not have the in-process app access this directly, cutting out the middle man? How does using ESL make it more scalable and more available with fewer components? I am sure you are correct - I just don't see it. On Thu, May 13, 2010 at 3:15 PM, Kristian Kielhofner <kris@kriskinc.com> wrote: ESL connecting to a socket actually proves to be more scalable and more available with fewer components. Why not have N servers running your socket app with N servers running FreeSWITCH? OpenSIPS introduces its own issues with failover and I've yet to see DNS SRV be the reliability/scalability solution it's made out to be. On Thu, May 13, 2010 at 3:01 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
And just a general thought of using ESL vs an in process solution like mod_managed, or LUA.
My understanding is, that using a separate server/process does potentially give you another point of failure and, if you use a single ESL server application to control several FS boxes, potentially a single point of failure. It is fairly easy to build a scalable and reliable FS cluster and using DNS SRV and OpenSIPS in order to avoid any single points of failure. Having independent FS boxes that pull data, but can fail with little impact seems attractive to me,
-- Kristian Kielhofner http://www.astlinux.org http://blog.krisk.org http://www.star2star.com http://www.submityoursip.com http://www.voalte.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 _______________________________________________ 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
Don't forget C, a loadable C module is the most robust way to make an application. You can write even ESL apps in C too. On Thu, May 13, 2010 at 2:01 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
And just a general thought of using ESL vs an in process solution like mod_managed, or LUA.
My understanding is, that using a separate server/process does potentially give you another point of failure and, if you use a single ESL server application to control several FS boxes, potentially a single point of failure. It is fairly easy to build a scalable and reliable FS cluster and using DNS SRV and OpenSIPS in order to avoid any single points of failure. Having independent FS boxes that pull data, but can fail with little impact seems attractive to me,
On Thu, May 13, 2010 at 12:55 PM, Michael Collins <msc@freeswitch.org>wrote:
On Wed, May 12, 2010 at 4:49 PM, Phone <phone.bytes@gmail.com> wrote:
Thanks MC,
Can you point me to any example Perl code to start from?
Look in your FS source tree under libs/esl/perl - there are some examples of simple ESL connections. Also, look at the other languages in the esl directory for alternative ideas.
-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
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:+19193869900
participants (8)
-
Anthony Minessale
-
EdPimentl
-
Jan Berger
-
Kristian Kielhofner
-
Michael Collins
-
Phillip Jones
-
Phone
-
Steven Ayre