Hello,
On 9/12/13 10:08 PM, Brian Wallen wrote:
I currently have two independent kamailio servers.
I'd like to set
them up in a way that user1 on server1 can make a call to user2 on
server2. After searching I've come up with two ways that this might be
able to be done. Can someone please sanity check these or point me in
the right direction?
1. Have one registrar server and convert the other server to a proxy
2. Keep them both as registrars and somehow make them each aware of
the users on the other server
I like 2 better because if one server went down users on the other
server would still be up. The only thing is I don't know how to set
the servers up to communicate with each other.
the nat can create problems when a
server is down - if the nat is
symmetric, only the server that received the registrar can send back
calls to the phone.
Communication between users on two servers is as simple as using
t_relay_to("proto:serverip:port") after you do lookup("location") and
no
record is found. You have to add an extra check for the case the call
was coming from the other server, not to forward back to it in case of
no found again. Also, you should skip user authentication for calls from
the other server (not do authenticate twice). Another aspect to take
care is chaining rtpproxy, you have to use the flat for trusting the
other server (r, iirc).
You can also replicate the registration, but again, it can add troubles
to the nat. Look at t_replicate() (in tm module).
Cheers,
Daniel
--
Daniel-Constantin Mierla -
http://www.asipto.com
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio Advanced Trainings - Berlin, Oct 21-24; Miami, Nov 11-13, 2013
- more details about Kamailio trainings at
http://www.asipto.com -