How to Configure TATA SIP trunk to Kamailio server

In India the telecom providers are providing SIP trunk services with physical cables. The TATA, Airtel, Vodafone like companies provide such services over the physical connections. They terminate one cable to your premises and that can go into your physical server’s network port. The server can be in a datacenter or in your office location. Thus your SIP server (Kamailio, Asterisk, Freeswitch etc.) will have two network interfaces, one for the server’s local IP address and one for the TATA customer IP address.

Okay, so here we will discuss the TATA sip trunk configuration with the Kamailio sip server.

Whenever you purchase the SIP trunk line from TATA, it provides below information to you.

Customer IP 10.52.26.98
Subnet Mask 255.255.255.248
Gateway IP 10.52.26.97
SBC IP 10.60.19.14
Source PBX 5060
Destination SBC port 5061
Display Name 912269XXXXXX
User Name 912269XXXXXX
Password 1234
Domain 10.60.19.14
Proxy 10.60.19.14:5061

In above details you can see TATA provides the SIP trunk on one separate /29 network. For the IP 10.52.26.98 we can have below information about the network. You can observer in the /29 network we obtain,

Total Number of Hosts : 8
Number of Usable Hosts : 6
Usable Host IP Range : 10.52.26.97 – 10.52.26.102

This means you can configure a total six usable hosts with the Tata IP addresses if required. (For an example, You need three IP addresses in your architecture of 1 LB (Kamailio) and 2 Media Servers (Asterisk)). Below are the detailed network information in the table.

IP Address 10.52.26.98
Network Address 10.52.26.96
Usable Host IP Range 10.52.26.97 – 10.52.26.102
Broadcast Address 10.52.26.103
Total Number of Hosts 8
Number of Usable Hosts 6
Subnet Mask 255.255.255.248
CIDR Notation /29

Ok now we have the above information available from the TATA. Follow below steps to configure SIP trunk with the Kamailio server.

  1. Netplan Configuration:
    Here, I am using Ubuntu server and Kamailio is installed already on this server. Open the netplan configuration file, nano /etc/netplan/00-installer-config.yamlAdd Tata Customer IP details to this file, as per shown in the below snapshot. Here ens37 is the TATA port configured. You can see we added routes also for the whole Tata network (10.52.26.96/29), SBC IP (10.60.19.14) and Media IPs (10.60.20.6/32, 10.60.20.8/32) via gateway IP 10.52.26.97. This routing is required for proper communication of voice on the call.Here, I am sharing the above netplan configs in a file. Click below link to get configs for your reference.
    https://pastebin.com/fkTNTjCA
    Once the Tata IP configuration is done we should be able to ping the gateway IP address 10.52.26.97 and the SBC IP address 10.60.19.14 from our SIP server. If IP configuration is fine then ping will work to both the IP addresses from our server.
  2. Kamailio Configuration:
    In the Kamailio server the configuration file at location /etc/kamailio/kamailio.cfg should have below details.

    listen=udp:10.52.26.98:5060loadmodule “uac.so”
    modparam(“uac”, “reg_db_url”,”mysql://db_user:db_pass@localhost/kamailio”)
    modparam(“uac”, “reg_retry_interval”, 180)
    modparam(“uac”, “reg_contact_addr”, “10.52.26.98:5060”)

    Into the Kamailio database we have one table called uacreg in this we need to add one record as below with mysql query.

    INSERT INTO uacreg (l_uuid,l_username,l_domain,r_username,r_domain,realm,auth_username,auth_password,auth_proxy,expires,socket) VALUES (‘00912269XXXXXX’,’00912269XXXXXX’,’10.60.19.14:5061′,’00912269XXXXXX’,’10.60.19.14:5061′,’00912269XXXXXX@ngn.ttl.in’,’00912269XXXXXX’,’1234′,’sip:10.60.19.14:5061′,’120′,’10.52.26.98:5060′);

    Now, restart the Kamailio service and check the REGISTER request sent to Tata SBC from our server.
    You can restart Kamailio service with command,

    systemctl restart kamailio

    The REGISTER request should reach to Tata SBC IP and should register fine with 200 OK responses as per shown in the below image. You can check this REGISTER request with sngrep utility. (If sngrep is not installed, you can install it via apt install sngrep command)

    Once the line is registered you will be able to receive incoming calls on the server. Dial any DID number provided by Tata and check the INVITE request coming on the server for the call.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *