Hello Kamailio users,
I'm working on a sip infrastructure, with opensource technologies, and of course Kamailio will run on my new infrastructure :)
Kamailio will be my central routing engine, between SBC (running on asterisk), and somes boxes (asterisk too) where customers will be registred. Please find below my future infrastructure:
---------- -------------- -------- ----------------
| SBC1 | - - - - - | - - - -| kamailio1 |- - - - - | - - - - - | CB1 |-----------------| SIPPHONE |
---------- | -------------- | -------- ----------------
| |
---------- | | --------
| SBC2 | - - - - - | | - - - - - | CB2 |
---------- | | --------
| -------------- |
---------- | - - - -| kamailio2 |- - - - -| --------
| SBCn |- - - - - | -------------- | - - - - - | CBn |
---------- | | --------
Kamailio high availabality will be done with loopback address and BGP in two datacenters. SIP carriers will be connected to SBC and customer to one CB.
I have made some tests with kamailio, and i use LCR to route call from CB to SBC, using wheigt and prorities to send call to carriers.
Then, when a call arrived from carriers, i use DNS NATPER lookup to find the right CB box.
CB HA is done using DNS SRV. So user is registred at one location, and only one. No location sharing beetwen boxes.
I have some question concerning my architecture, and technologies used to routing call.
Is LCR is the best option for routing call between multiple carriers ? DNS NAPTER is a modern solution to find an endpoint on this architecture ? Existing a better way to route call with kamailio, for exemple rt-json and curl ?
In my point of view, kamailio should be a routing engine, using internal technologies, to maximise performances. Less work with kamailio and external app, best performances in sip routing. Is it the good vision ?
Thanks in advance.