drachtio-fs-load-balancing-proxy
                                
                                 drachtio-fs-load-balancing-proxy copied to clipboard
                                
                                    drachtio-fs-load-balancing-proxy copied to clipboard
                            
                            
                            
                        How to route requests to the same SIP Server for handling conference call
Not an issue but thought this would be the best place to post this request.How can we use this to load balance audio conference requests routed to a farm of freeswitch servers on the back. All requests pertaining to an audio conference should go to the same signaling server
Is there a way to tell from the incoming SIP INVITE which conference the call is destined for? Or is there an upfront IVR interaction (or something like that) which determines the conference?
On Tue, 18 Jul 2017 at 5:50 PM, Dave Horton [email protected] wrote:
Is there a way to tell from the incoming SIP INVITE which conference the call is destined for? Or is there an upfront IVR interaction (or something like that) which determines the conference?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/davehorton/drachtio-fs-load-balancing-proxy/issues/2#issuecomment-316046895, or mute the thread https://github.com/notifications/unsubscribe-auth/AM14iksDi4Gtma0msJQO_-wOy5RrYCTBks5sPKMdgaJpZM4ObHKB .
We can add the conference id as a sip header like X-conference-id
Would the conference id have the name of the server in it? If not, is there a way to determine the freeswitch address from the conference id?
It would be simple to create a front-end proxy app to direct callers to the right freeswitch/conference if this is known.  This particular proxy app (drachtio-fs-load-balancing-proxy) may actually be overkill for what you need to do.  The core of the app is simply receiving an invite and then doing srf.proxyRequest( to send it to the right freeswitch.  (see http://davehorton.github.io/drachtio-srf/api/Srf.html#proxyRequest for API details)
(I'm also working on a new feature where this kind of proxy app could be implemented as a google cloud function or an AWS lamda function, if you are interested).
Let me know if you want any help creating this app, as mentioned I'd be happy to help if needed
Hi,
thanks for your detailed reply. I would state our requirement:We are building a dial out audio conference platform using freeswitch. there is a nodejs API layer written on top of freeswitch using mod_event_socket). We would want to load balance our conference requests to our freeswitch pool based on their capacity(i.e. we are in the process of running load test on a single instance of freeswitch to check max concurrent conference calls that it can support and the same for media proxy). So the load balancing application that we are looking at needs to perform the following:
There would be a pool of freeswitch servers (i.e. signaling and media proxy) and the nodejs HTTP API provided for Apps would communicate using the load balancer IP and the load balancer should associate the request (i.e. SIP request) with a freeswitch
a) When a conference is initiated, it should identify a free free switch(i.e. both signalling and media proxy) and route all requests to the free switch for the conference b) When the conference is completed, it should release the resources(i.e. this load balancing proxy should also maintain capacity utilization of signaling and media proxy)
Let me know if you need more information on this
Regards Aravindan
On Wed, Jul 19, 2017 at 1:57 AM, Dave Horton [email protected] wrote:
Would the conference id have the name of the server in it? If not, is there a way to determine the freeswitch address from the conference id?
It would be simple to create a front-end proxy app to direct callers to the right freeswitch/conference if this is known. This particular proxy app (drachtio-fs-load-balancing-proxy) may actually be overkill for what you need to do. The core of the app is simply receiving an invite and then doing srf.proxyRequest( to send it to the right freeswitch. (see http://davehorton.github.io/drachtio-srf/api/Srf.html#proxyRequest for API details)
(I'm also working on a new feature where this kind of proxy app could be implemented as a google cloud function or an AWS lamda function, if you are interested).
Let me know if you want any help creating this app, as mentioned I'd be happy to help if needed
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/davehorton/drachtio-fs-load-balancing-proxy/issues/2#issuecomment-316187346, or mute the thread https://github.com/notifications/unsubscribe-auth/AM14irdYD_0bAzsmbdWNKJAOzh3FVQkWks5sPRU8gaJpZM4ObHKB .
sorry for the delay, I was on holiday last week.
If you are still interested in this, I could help you but it would be easiest/best if you could provide a hosted VM for me to implement the changes on, which can receive calls of the type you describe (and proxy them on to your conference server). Is this a possibility?
i will get the set up ready and come back to you in a day or so.
Thanks again
On Tue, Aug 1, 2017 at 6:19 PM, Dave Horton [email protected] wrote:
sorry for the delay, I was on holiday last week.
If you are still interested in this, I could help you but it would be easiest/best if you could provide a hosted VM for me to implement the changes on, which can receive calls of the type you describe (and proxy them on to your conference server). Is this a possibility?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/davehorton/drachtio-fs-load-balancing-proxy/issues/2#issuecomment-319360401, or mute the thread https://github.com/notifications/unsubscribe-auth/AM14ijVIxI6ZamzlUMIgl9fgCS98YjWwks5sTx7QgaJpZM4ObHKB .
Our requirement that is initiate audio conferences from server side by calling HTTP API which in turn uses mod_event_socket module of freeswitch. this module would connect to load balancer (i.e. which is drachtio-fs-load-balancing-proxy).The load balancer should route all requests of the same conference to the same freeswitch and media proxy and for newer conference should identify a free freeswitch and route all further requests to it.
a) When a conference is initiated, it should identify a free free switch(i.e. both signalling and media proxy) and route all requests to the free switch for the conference b) When the conference is completed, it should release the resources(i.e. this load balancing proxy should also maintain capacity utilization of signaling and media proxy)
Let me know if you need more information on this
Yes, I'm still not sure I have the full picture, so let's go through the call flow.
When a new incoming call arrives at the proxy, the first thing it needs to do is to identify whether the call is for a new conference or an existing conference. It must do that based on information in the sip message itself (e.g. called / calling number, request uri params, etc). So
(1) Can you clarify how the proxy identifies whether this is a call into an existing conference or a new conference?
(2) When you say that conferences will be initiated from the server side, I am unclear which server process you are referring to: are you talking about the proxy itself making an HTTP request, or some other server process?
If you would prefer to move this dialog to an email thread rather than a public forum, feel free to email me at [email protected]