Thursday, November 15, 2007

SER Load balancing (SIP proxy load balancing)

SER provide Dispatcher Module for call load balancing. First compile dispatcher module and make changes in ser.cfg .

Dispatcher module configuration step by step---

cd ser-0.9.6
make modules modules=modules/dispatcher
cp modules/dispatcher/ /usr/local/lib/ser/modules/

Create Destination address (sip proxy/ gateways address) list file

vi /usr/local/etc/ser/dispatcher.list

Copy & paste following lines

# proxies
#Group Protocoltype:proxy/gateway address:port

1 sip:
1 sip:

# gateways
3 sip:
3 sip:
3 sip:


Add following configuration in ser.cfg

#load dispatcher module
loadmodule " /usr/local/lib/ser/modules/"

#include dispatcher list (sip proxy address)
modparam("dispatcher", "list_file", "/usr/local/etc/ser/dispatcher.list ")
# if you wants to use focally proxy group 1 then
# modparam("dispatcher", "force_dst", 1)

# make the changes rout section where you was configure host forwarding

if ( !mf_process_maxfwd_header("10") )
sl_send_reply("483","To Many Hops");

ds_select_dst("1", "0");
# ds_select_dst("3", "0");
# 1 means call load balancing on group 1 (proxy) & 3 means load balancing on group 3(gateways).

forward(uri:host, uri:port);
# t_relay();

After configuring ser.cfg restart ser and enjoy.