This post explains how to setup Kamailio as an SBC and IP Gateway. We are using Debian 8 in this example. It uses Kamailio’s dispatcher module to distribute calls to Asterisk. It uses RTPEngine to proxy media to & from the public internet across the LAN to Asterisk.
This is a powerful setup as you can easily scale out using a single public IP address.
Here is the IP layout we will be implementing:
Kamailio Public (eth0) 7.6.5.4 Kamailio Private (eth0) 10.10.10.254 Asterisk machine 1 - 10.10.10.3 Asterisk machine 2 - 10.10.10.4
Setup Debian and iptables to act as IP Gateway:
# edit /etc/sysctl.conf enabled net.ipv4.ip_forward=1 # add iptables rules iptables -F iptables -t nat -F iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i eth1 -s 10.10.10.0/255.255.255.0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Install RTPEngine + Kamailio with RTPEngine Module.
Download kamailio.cfg
Download sip.conf
Download /etc/default/ngcp-rtpengine-daemon