On Sep 17, 2014, at 8:13 AM, Bruno Emer <brunoemer(a)gmail.com> wrote:
Hello!
I am relatively new to Kamailio and I'm trying to create a new enviroment using it in
my company. I am thinking about use Amazon to host the servers and use OpsWorks to
automatically escalate then if necessary. To accomplish this, my idea is to separate the
servers, using one dedicated server to run as WebSocket, one to run as proxy and one as a
Registrar. I'll be using just one database to store informations to all of my servers.
With this, if I need more resources later, I can just create new servers with the specific
roles (WebSockets, Proxy, Registrar).
By now, the idea is clear, but the point is that I don't know how to separate the
WebSockets server from the proxy server. Actually, I can do this, but when I have one
agent using a regular softphone and one agent using WebSockets (with JSSIP) they are not
able to establish a session if the softphone user starts it. Now, I want to know if is
there a way to use two websockets servers, register users using both of then and start
sessions between then, with a separated proxy and registrar.
Has anyone done this before? Is possible to use kamailio like this?
Most things are possible. There are a few questions you'll want to ask. How
reliable does this need to be? How many endpoints and of which type, sip or webrtc?
You mention that you have something half working, calls can go one direction. You
didn't talk about rtp here. How do you want to handle relaying rtp or will that not
be needed and why do you think so?
Kamailio is very reliable and can scale vertically before needing to scale horizontally.
If you have a small number of clients say less than thousands, I wouldn't bother
separating the different functions except for what you need to give you redundancy which
isn't happening in the system you describe.
Collocating all functions on two servers is a good way to start. You would use srv
records for both sip and webrtc endpoints to load balance and failover. The complexity is
quite high for a setup like this so one server may offer you enough availability for a
time and that time might even be counted in months or years.
--FC