(yet another?) freeswitch load balancer
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple: app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ; Details here: http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com> wrote:
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy. On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote: Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple: app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ; Details here: http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
if I want to install the proxy, I need to install sofia lib first? but why can not find the lib in your repo?
在 2015年12月1日,下午9:32,Dave Horton <dave@dchorton.com> 写道:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/>
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
Yes, it requires a (separate) server process that incorporates sofia to be running. There is actually a note on the site about that with a link (entitled “prerequisites”), but for simplicity here is the link to that project (also fully open source): https://github.com/davehorton/drachtio-server <https://github.com/davehorton/drachtio-server> You’ll find build instructions in the readme, but open an issue (on github) for me if you have any troubles. Dave On Dec 1, 2015, at 8:51 AM, 郭秋平 <guoqiuping81112@163.com> wrote: if I want to install the proxy, I need to install sofia lib first? but why can not find the lib in your repo?
在 2015年12月1日,下午9:32,Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> 写道:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/>
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
Dave, Would you like to do a presentation via video on cluecon weekly? Just provide some availability on wednesdays over the next 8 to 10 weeks. On Tuesday, December 1, 2015, Dave Horton <dave@dchorton.com> wrote:
Yes, it requires a (separate) server process that incorporates sofia to be running. There is actually a note on the site about that with a link (entitled “prerequisites”), but for simplicity here is the link to that project (also fully open source): https://github.com/davehorton/drachtio-server
You’ll find build instructions in the readme, but open an issue (on github) for me if you have any troubles.
Dave On Dec 1, 2015, at 8:51 AM, 郭秋平 <guoqiuping81112@163.com <javascript:_e(%7B%7D,'cvml','guoqiuping81112@163.com');>> wrote:
if I want to install the proxy, I need to install sofia lib first? but why can not find the lib in your repo?
在 2015年12月1日,下午9:32,Dave Horton <dave@dchorton.com <javascript:_e(%7B%7D,'cvml','dave@dchorton.com');>> 写道:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <javascript:_e(%7B%7D,'cvml','vipkilla@gmail.com');>> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <javascript:_e(%7B%7D,'cvml','dave@dchorton.com');>> wrote:
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','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 ♬ @anthmfs ♬ @FreeSWITCH ♬ ☞ http://freeswitch.org/ ☞ http://cluecon.com/ ☞ http://twitter.com/FreeSWITCH ☞ irc.freenode.net #freeswitch ☞ *http://freeswitch.org/g+ <http://freeswitch.org/g+>* ClueCon Weekly Development Call ☎ sip:888@conference.freeswitch.org ☎ +19193869900 https://www.youtube.com/watch?v=9XXgW34t40s https://www.youtube.com/watch?v=NLaDpGQuZDA
Sure, would love to do that. I can be fairly available most weeks on Wednesday - other than 12/23 and 12/30 you could pencil me in for any slot that is open. Thanks! Dave On Dec 1, 2015, at 8:42 PM, Anthony Minessale <anthony.minessale@gmail.com> wrote: Dave, Would you like to do a presentation via video on cluecon weekly? Just provide some availability on wednesdays over the next 8 to 10 weeks. On Tuesday, December 1, 2015, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: Yes, it requires a (separate) server process that incorporates sofia to be running. There is actually a note on the site about that with a link (entitled “prerequisites”), but for simplicity here is the link to that project (also fully open source): https://github.com/davehorton/drachtio-server <https://github.com/davehorton/drachtio-server> You’ll find build instructions in the readme, but open an issue (on github) for me if you have any troubles. Dave On Dec 1, 2015, at 8:51 AM, 郭秋平 <guoqiuping81112@163.com <javascript:_e(%7B%7D,'cvml','guoqiuping81112@163.com');>> wrote: if I want to install the proxy, I need to install sofia lib first? but why can not find the lib in your repo?
在 2015年12月1日,下午9:32,Dave Horton <dave@dchorton.com <javascript:_e(%7B%7D,'cvml','dave@dchorton.com');>> 写道:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <javascript:_e(%7B%7D,'cvml','vipkilla@gmail.com');>> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <javascript:_e(%7B%7D,'cvml','dave@dchorton.com');>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/>
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <http://www.cluecon.com/>
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <http://www.cluecon.com/>
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <http://www.cluecon.com/>
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/>
Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <http://www.cluecon.com/> FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> -- Anthony Minessale II ♬ @anthmfs ♬ @FreeSWITCH ♬ ☞ http://freeswitch.org/ <http://freeswitch.org/> ☞ http://cluecon.com/ <http://cluecon.com/> ☞ http://twitter.com/FreeSWITCH <http://twitter.com/FreeSWITCH> ☞ irc.freenode.net <http://irc.freenode.net/> #freeswitch ☞ http://freeswitch.org/g+ <http://freeswitch.org/g+> ClueCon Weekly Development Call ☎ sip:888@conference.freeswitch.org <mailto:sip%3A888@conference.freeswitch.org> ☎ +19193869900 https://www.youtube.com/watch?v=9XXgW34t40s <https://www.youtube.com/watch?v=9XXgW34t40s> https://www.youtube.com/watch?v=NLaDpGQuZDA <https://www.youtube.com/watch?v=NLaDpGQuZDA> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
Hi Dave, Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test. Thanks Regards, 2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com>:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com> wrote:
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
When people talk about stateful or stateless there can be different interpretations, so I will try to be specific: Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method) Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another. Dave On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net> wrote: Hi Dave, Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test. Thanks Regards, 2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy. On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote: Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple: app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ; Details here: http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
What I need is to have a frontal proxy with same config available on 2 differents IPs. Both of them send request to the same Freeswitch based on config rules. Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers. The running calls could be lose. IP failover with no proxy and 1 freeswitch is not an option for me.. The proxy need to act as nginx for web... He choose destination based on request rules.. So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me.. Regards, 2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com>:
When people talk about stateful or stateless there can be different interpretations, so I will try to be specific:
Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method)
Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another.
Dave
On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net> wrote:
Hi Dave,
Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test.
Thanks
Regards,
2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com>:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com> wrote:
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
Can it act like a SIP registrar like kamailio or opensips? On Tue, Dec 1, 2015 at 9:52 AM, Regis M <regis.freeswitch.org@tornad.net> wrote:
What I need is to have a frontal proxy with same config available on 2 differents IPs.
Both of them send request to the same Freeswitch based on config rules.
Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers.
The running calls could be lose.
IP failover with no proxy and 1 freeswitch is not an option for me..
The proxy need to act as nginx for web... He choose destination based on request rules..
So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me..
Regards,
2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com>:
When people talk about stateful or stateless there can be different interpretations, so I will try to be specific:
Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method)
Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another.
Dave
On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net> wrote:
Hi Dave,
Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test.
Thanks
Regards,
2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com>:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com> wrote:
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
Out of the box - no. It can distribute registrar messages to your freeswitch servers (like INVITEs), but does not do any user lookup. However, feel free to modify the application to your own needs. If you are a nodejs developer, you will be comfortable adding in a database lookup to the database of your choice, and you will be happy that a specific database schema/user model is not forced on you - use any database, any schema, any means of authentication that you prefer. Dave On Dec 1, 2015, at 9:59 AM, Vik Killa <vipkilla@gmail.com> wrote: Can it act like a SIP registrar like kamailio or opensips? On Tue, Dec 1, 2015 at 9:52 AM, Regis M <regis.freeswitch.org@tornad.net <mailto:regis.freeswitch.org@tornad.net>> wrote: What I need is to have a frontal proxy with same config available on 2 differents IPs. Both of them send request to the same Freeswitch based on config rules. Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers. The running calls could be lose. IP failover with no proxy and 1 freeswitch is not an option for me.. The proxy need to act as nginx for web... He choose destination based on request rules.. So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me.. Regards, 2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: When people talk about stateful or stateless there can be different interpretations, so I will try to be specific: Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method) Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another. Dave On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net <mailto:regis.freeswitch.org@tornad.net>> wrote: Hi Dave, Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test. Thanks Regards, 2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy. On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote: Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple: app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ; Details here: http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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’m not sure I completely understand your desired setup — when you say “same config available on two different IPs”, are you talking about having two freeswitch servers available as potential targets on two different IPs? Or the proxy running on a multi-homed host that has two different IPs? (Or two instances of the proxy running on different IPs but with the same config?) In any case, to be a load-balancing proxy really means that you need to be at least transaction stateful — so I don’t think you are actually looking for a stateless proxy. To the extent you want to modify the proxy to change destinations at any time (i.e. to switch new calls to a different freeswitch without informing customers), this proxy will let you do that. You simply would update the configuration file to add your new freeswitch server IP address and associated information, and (if desired) remove the old one. You do not need to restart anything either — changes like that to the config file are automatically noticed and taken into affect immediately. Dave On Dec 1, 2015, at 9:52 AM, Regis M <regis.freeswitch.org@tornad.net> wrote: What I need is to have a frontal proxy with same config available on 2 differents IPs. Both of them send request to the same Freeswitch based on config rules. Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers. The running calls could be lose. IP failover with no proxy and 1 freeswitch is not an option for me.. The proxy need to act as nginx for web... He choose destination based on request rules.. So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me.. Regards, 2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: When people talk about stateful or stateless there can be different interpretations, so I will try to be specific: Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method) Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another. Dave On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net <mailto:regis.freeswitch.org@tornad.net>> wrote: Hi Dave, Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test. Thanks Regards, 2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy. On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote: Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple: app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ; Details here: http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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 think what Regis M wants to know -- and I'm curious -- is how to configure like so: Set up your load balancer on two different machine, with a floating IP. When requests come in, it forwards them to the list of FS servers. The point of the statelessness is that if the floating IP is switched at *any *moment, you don't lose *any *calls since it's "stateless" and the SIP Dialog contains all the necessary information. I'd really like to check this out since I am "all-in" to node.js and kamailio seems rather obscure to me. -Avi Marcus On Tue, Dec 1, 2015 at 5:02 PM, Dave Horton <dave@dchorton.com> wrote:
I’m not sure I completely understand your desired setup — when you say “same config available on two different IPs”, are you talking about having two freeswitch servers available as potential targets on two different IPs? Or the proxy running on a multi-homed host that has two different IPs? (Or two instances of the proxy running on different IPs but with the same config?)
In any case, to be a load-balancing proxy really means that you need to be at least transaction stateful — so I don’t think you are actually looking for a stateless proxy.
To the extent you want to modify the proxy to change destinations at any time (i.e. to switch new calls to a different freeswitch without informing customers), this proxy will let you do that. You simply would update the configuration file to add your new freeswitch server IP address and associated information, and (if desired) remove the old one. You do not need to restart anything either — changes like that to the config file are automatically noticed and taken into affect immediately.
Dave
On Dec 1, 2015, at 9:52 AM, Regis M <regis.freeswitch.org@tornad.net> wrote:
What I need is to have a frontal proxy with same config available on 2 differents IPs.
Both of them send request to the same Freeswitch based on config rules.
Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers.
The running calls could be lose.
IP failover with no proxy and 1 freeswitch is not an option for me..
The proxy need to act as nginx for web... He choose destination based on request rules..
So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me..
Regards,
2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com>:
When people talk about stateful or stateless there can be different interpretations, so I will try to be specific:
Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method)
Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another.
Dave
On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net> wrote:
Hi Dave,
Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test.
Thanks
Regards,
2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com>:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com> wrote:
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
Ah, ok. Thanks for the clarification. I don’t have a perfect solution matching that at the moment, since the SIP proxy is transaction stateful and that transaction state will be lost at the point of failover for a transaction in progress at that moment. However, the impact on transactions in progress may be minimal, because incoming responses back from freeswitch _will_ be properly routed back to the sender (based on the Via header). What you would lose for those transactions in flight would be the crankback to try a different freeswitch server if you got a failure response from one. Depending on your requirements, that may be ok. (For the “perfect” solution I would need to modify the underlying sip server to offload transaction state into redis or something like that so full transaction state would be available on failover, which is an idea I’ve been toying with). Of course, running the proxy on two servers with a floating IP is simple, I use keepalived for that and could share my config if that is useful. I also modify the sysctl params to allow the offline node to bind to a non-local IP so that both SIP servers (online and offline) are running all of the time and there is no delay on startup/failover as the SIP stack is already running and ready for traffic. Dave On Dec 1, 2015, at 10:47 AM, Avi Marcus <avi@avimarcus.net> wrote: I think what Regis M wants to know -- and I'm curious -- is how to configure like so: Set up your load balancer on two different machine, with a floating IP. When requests come in, it forwards them to the list of FS servers. The point of the statelessness is that if the floating IP is switched at any moment, you don't lose any calls since it's "stateless" and the SIP Dialog contains all the necessary information. I'd really like to check this out since I am "all-in" to node.js and kamailio seems rather obscure to me. -Avi Marcus On Tue, Dec 1, 2015 at 5:02 PM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’m not sure I completely understand your desired setup — when you say “same config available on two different IPs”, are you talking about having two freeswitch servers available as potential targets on two different IPs? Or the proxy running on a multi-homed host that has two different IPs? (Or two instances of the proxy running on different IPs but with the same config?) In any case, to be a load-balancing proxy really means that you need to be at least transaction stateful — so I don’t think you are actually looking for a stateless proxy. To the extent you want to modify the proxy to change destinations at any time (i.e. to switch new calls to a different freeswitch without informing customers), this proxy will let you do that. You simply would update the configuration file to add your new freeswitch server IP address and associated information, and (if desired) remove the old one. You do not need to restart anything either — changes like that to the config file are automatically noticed and taken into affect immediately. Dave On Dec 1, 2015, at 9:52 AM, Regis M <regis.freeswitch.org@tornad.net <mailto:regis.freeswitch.org@tornad.net>> wrote: What I need is to have a frontal proxy with same config available on 2 differents IPs. Both of them send request to the same Freeswitch based on config rules. Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers. The running calls could be lose. IP failover with no proxy and 1 freeswitch is not an option for me.. The proxy need to act as nginx for web... He choose destination based on request rules.. So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me.. Regards, 2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: When people talk about stateful or stateless there can be different interpretations, so I will try to be specific: Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method) Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another. Dave On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net <mailto:regis.freeswitch.org@tornad.net>> wrote: Hi Dave, Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test. Thanks Regards, 2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy. On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote: Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple: app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ; Details here: http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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 realized I may not have been quite clear on something in my answer.. The sip proxy is transaction stateful, but not dialog-stateful. So, for instance, if you configured the proxy to remain in the dialog (i.e., you wanted to receive BYE messages, etc during the dialog), there will be no impact to calls of a failure mid-call (after dialog established) since requests will be routed based on Record-Route header and responses will be routed based on Via header. The only impact, and it is minimal, is what I stated before: a new INVITE in flight transaction will work, but with loss of the “crankback” feature if the freeswitch selected returns a failure and you would have preferred to then generate a new INVITE (from the proxy) to an alternative freeswitch. On Dec 1, 2015, at 10:58 AM, Dave Horton <dave@dchorton.com> wrote: Ah, ok. Thanks for the clarification. I don’t have a perfect solution matching that at the moment, since the SIP proxy is transaction stateful and that transaction state will be lost at the point of failover for a transaction in progress at that moment. However, the impact on transactions in progress may be minimal, because incoming responses back from freeswitch _will_ be properly routed back to the sender (based on the Via header). What you would lose for those transactions in flight would be the crankback to try a different freeswitch server if you got a failure response from one. Depending on your requirements, that may be ok. (For the “perfect” solution I would need to modify the underlying sip server to offload transaction state into redis or something like that so full transaction state would be available on failover, which is an idea I’ve been toying with). Of course, running the proxy on two servers with a floating IP is simple, I use keepalived for that and could share my config if that is useful. I also modify the sysctl params to allow the offline node to bind to a non-local IP so that both SIP servers (online and offline) are running all of the time and there is no delay on startup/failover as the SIP stack is already running and ready for traffic. Dave On Dec 1, 2015, at 10:47 AM, Avi Marcus <avi@avimarcus.net <mailto:avi@avimarcus.net>> wrote: I think what Regis M wants to know -- and I'm curious -- is how to configure like so: Set up your load balancer on two different machine, with a floating IP. When requests come in, it forwards them to the list of FS servers. The point of the statelessness is that if the floating IP is switched at any moment, you don't lose any calls since it's "stateless" and the SIP Dialog contains all the necessary information. I'd really like to check this out since I am "all-in" to node.js and kamailio seems rather obscure to me. -Avi Marcus On Tue, Dec 1, 2015 at 5:02 PM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’m not sure I completely understand your desired setup — when you say “same config available on two different IPs”, are you talking about having two freeswitch servers available as potential targets on two different IPs? Or the proxy running on a multi-homed host that has two different IPs? (Or two instances of the proxy running on different IPs but with the same config?) In any case, to be a load-balancing proxy really means that you need to be at least transaction stateful — so I don’t think you are actually looking for a stateless proxy. To the extent you want to modify the proxy to change destinations at any time (i.e. to switch new calls to a different freeswitch without informing customers), this proxy will let you do that. You simply would update the configuration file to add your new freeswitch server IP address and associated information, and (if desired) remove the old one. You do not need to restart anything either — changes like that to the config file are automatically noticed and taken into affect immediately. Dave On Dec 1, 2015, at 9:52 AM, Regis M <regis.freeswitch.org@tornad.net <mailto:regis.freeswitch.org@tornad.net>> wrote: What I need is to have a frontal proxy with same config available on 2 differents IPs. Both of them send request to the same Freeswitch based on config rules. Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers. The running calls could be lose. IP failover with no proxy and 1 freeswitch is not an option for me.. The proxy need to act as nginx for web... He choose destination based on request rules.. So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me.. Regards, 2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: When people talk about stateful or stateless there can be different interpretations, so I will try to be specific: Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method) Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another. Dave On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net <mailto:regis.freeswitch.org@tornad.net>> wrote: Hi Dave, Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test. Thanks Regards, 2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>>: It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy. On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com <mailto:vipkilla@gmail.com>> wrote: Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com <mailto:dave@dchorton.com>> wrote: I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple: app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ; Details here: http://davehorton.github.io/drachtio-fs-load-balancing-proxy/ <http://davehorton.github.io/drachtio-fs-load-balancing-proxy/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/> Official FreeSWITCH Sites http://www.freeswitch.org <http://www.freeswitch.org/> http://confluence.freeswitch.org <http://confluence.freeswitch.org/> http://www.cluecon.com <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 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://www.freeswitch.org <http://www.freeswitch.org/> _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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 _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
Thanks Marcus, it's that, and more clear :) Instead, there's no need for Floating IP. I want to configure with round robin DNS. So request can hit proxy1(ip1) or proxy2 (ip2) , the requests are proxyed to the same Freeswitch...
I'd really like to check this out since I am "all-in" to node.js and kamailio seems rather obscure to me. +1
Regards, 2015-12-01 16:47 GMT+01:00 Avi Marcus <avi@avimarcus.net>:
I think what Regis M wants to know -- and I'm curious -- is how to configure like so:
Set up your load balancer on two different machine, with a floating IP. When requests come in, it forwards them to the list of FS servers.
The point of the statelessness is that if the floating IP is switched at *any *moment, you don't lose *any *calls since it's "stateless" and the SIP Dialog contains all the necessary information.
I'd really like to check this out since I am "all-in" to node.js and kamailio seems rather obscure to me.
-Avi Marcus
On Tue, Dec 1, 2015 at 5:02 PM, Dave Horton <dave@dchorton.com> wrote:
I’m not sure I completely understand your desired setup — when you say “same config available on two different IPs”, are you talking about having two freeswitch servers available as potential targets on two different IPs? Or the proxy running on a multi-homed host that has two different IPs? (Or two instances of the proxy running on different IPs but with the same config?)
In any case, to be a load-balancing proxy really means that you need to be at least transaction stateful — so I don’t think you are actually looking for a stateless proxy.
To the extent you want to modify the proxy to change destinations at any time (i.e. to switch new calls to a different freeswitch without informing customers), this proxy will let you do that. You simply would update the configuration file to add your new freeswitch server IP address and associated information, and (if desired) remove the old one. You do not need to restart anything either — changes like that to the config file are automatically noticed and taken into affect immediately.
Dave
On Dec 1, 2015, at 9:52 AM, Regis M <regis.freeswitch.org@tornad.net> wrote:
What I need is to have a frontal proxy with same config available on 2 differents IPs.
Both of them send request to the same Freeswitch based on config rules.
Then, if I change the config and reload both proxy, I could use another Freeswitch without informing customers.
The running calls could be lose.
IP failover with no proxy and 1 freeswitch is not an option for me..
The proxy need to act as nginx for web... He choose destination based on request rules..
So for me I thnik I need a Stateless proxy. But I'm not interested by the call failover potential... But Your first definition sounds good for me..
Regards,
2015-12-01 15:36 GMT+01:00 Dave Horton <dave@dchorton.com>:
When people talk about stateful or stateless there can be different interpretations, so I will try to be specific:
Call stateful (or stateless): meaning whether the proxy remains in the dialog after a successful INVITE transaction (e.g. to receive subsequent BYE message, in order to do accounting etc). With this proxy, you have a choice of whether to be call stateful or not (depends on setting of the ‘remainInDialog’ property to the req.proxy method)
Stateless proxy: an entity that does not maintain transaction state of client or server SIP transactions, simply forwards request. This proxy is _not_ a stateless proxy, because it needs to maintain transaction state in order to do things like handle temporary failures from one freeswitch and then land the call on another.
Dave
On Dec 1, 2015, at 9:14 AM, Regis M <regis.freeswitch.org@tornad.net> wrote:
Hi Dave,
Does your proxy could act as a stateless proxy or not ? I'm looking for a stateless proxy, I had ever test your solution but haven't find the answer to this question during my test.
Thanks
Regards,
2015-12-01 14:32 GMT+01:00 Dave Horton <dave@dchorton.com>:
It is a proxy. I am using the sofia sip stack (specifically nta) which is capable of any type of sip processing, but this application uses it as a SIP proxy.
On Dec 1, 2015, at 8:20 AM, Vik Killa <vipkilla@gmail.com> wrote:
Hi, I see this is described as a SIP Proxy but you are using the sofia SIP stack. Is this technically a B2BUA or a Proxy? Thanks, /V
On Tue, Dec 1, 2015 at 8:14 AM, Dave Horton <dave@dchorton.com> wrote:
I’ve developed a nodejs-based freeswitch load balancer that may be of interest to those who prefer Javascript to configuration file-driven routing. Even better if you are a nodejs developer familiar with expressjs or connect, then you may find the nuts of it to be very simple:
app.invite( function(req, res) { ... req.proxy({ remainInDialog: false, handleRedirects: true, provisionalTimeout: '1s', destination: targets }, function(err) { if( err ) { console.error('Error proxying request: ', err) ; } }) ; }) ;
Details here:
http://davehorton.github.io/drachtio-fs-load-balancing-proxy/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.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
participants (6)
-
Anthony Minessale
-
Avi Marcus
-
Dave Horton
-
Regis M
-
Vik Killa
-
郭秋平