Hi,

We use Kamailio as a SIP server, and SEMS as an SBC. We have a need to use the 
dispatcher/carrierroute modules to provide HA/load sharing across two different 
parts of our environment:
1) Our SBCs
2) Our peer’s SIP servers

We have pairs of SBCs (for now) and they have the same network connectivity - 
different IPs of course, but they can reach the same things.
Our peer’s network has 2 SIP servers (again, for now) reachable through either 
SBC.
We select which SBC pair to use based on where the calls are going, in a branch 
route. In some cases, we use parallel forking, in others we use serial forking 
(i.e. to a media server for a prompt, then sending the call to wherever it 
needs to go).

Right now there is no automatic failover or load sharing, so this is all simple 
logic - if call is to x peer or y customer, use x SBC or y SBC. I’m trying to 
add the failover/loadbalancing now.

I have a few half baked ideas about how to achieve a network like this, but 
thought I’d ask if anyone else had done this first before I went too overboard.

Currently I’m thinking of calling cr_route to figure out which peer SIP server, 
from there figuring out which SBC pair, and then calling ds_select_dst to 
select which SBC in the pair to set $du. I’m being tripped up though, as I 
can’t call cr_route or ds_select_dst in a branch route, but, as far as I’m 
aware that’s where I’d need to do so in order to handle this for multiple 
branches. Should I be looping the request through the SIP server to achieve 
this (i.e. force $du = 127.0.0.1 in my branch_route), or, can I avoid that 
complexity?

--
Nathan Ward


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to