Load Balancing SIP Traffic

1

Configuration has yet to be fully verified, Kemp Support will gladly assist if your SIP traffic is not flowing as expected.

 

1   Introduction

The Session Initiation Protocol (SIP)  Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating,modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.

 

1.1  Document Purpose

This section details a configuration for a specific application that has been provided by a customer but has yet to be fully tested. 

This specific configuration will ensure that your SIP servers are highly-available, scalable, and secure.

Configuration has yet to be fully verified, Kemp Support will gladly assist if your SIP traffic is not flowing as expected.

 

2     Configuration 

Two Virtual Services to be created, one for TCP and another for UDP. Additional ports can be added to your TCP Service if necessary. 

Please note we currently don't support Load Balancing of Caller-IDs, for TCP sessions.

So if for example one TCP connection is created, and within this TCP session multiple calls are initiated, all calls will be sent to the same server until a new TCP session is initiated.

If all TCP connections are initiated from the Same Source IP, then all connections will be sent to the same server. In this case a "Fixed Weighted" scheduling algorithm is best suited, whereby you will lose the Load Balancing of connections, but retain High Availability. 

 For UDP you have the ability to use Session Persistence on a specific SIP Session Header. In this case we will use "Call-ID".

 

2.1  Global Configuration

       No Changes Required

 

2.2  Virtual Service Configuration

Two virtual Services are required. One wildcard UDP Virtual Service, and one TCP SIP Virtual Service listening on your SIP port, eg. 5060. Additional SIP ports can be added if required.

 

2.3  SIP Virtual Service

 > New Virtual Service

 > Enter IP Address

 > Port = 5060

 > Name = SIP

 > Protocol = TCP

 

2.4    Standard Options   

      > Layer 4 = Disabled

      > Transparency Disabled   (If it's a requirement that your sever needs to see the clients IP address, then enable Transparency, for more info, please see this link doc. https://support.kemptechnologies.com/hc/en-us/articles/203126369-Transparency)

      >  Persistence = Source IP

      > Timeout = 20 Minutes

      > Scheduling Method = Least Connection    (Fixed Weighting if all calls source from the same IP)

      > Subnet Originating Requests = Enabled

    

 

2.6    Real Servers

      > Checker Parameter Type = TCP

      > Check Port = 5060

      >  Add New

 

    > Enter Real Server IP Address

    > Port = 5060

    > Forwarding Method = NAT

 

3.0  UDP Virtual Service

 > New Virtual Service

 > Enter IP Address

 > Port = *

 > Name = UDP SIP

 > Protocol = UDP

 

3.1 Standard Options   

      > Layer 4 = Disabled

      > Transparency Disabled   (If it's a requirement that your sever needs to see the clients IP address, then enable Transparency, for more info, please see this link doc. https://support.kemptechnologies.com/hc/en-us/articles/203126369-Transparency)

      >  Persistence = UDP Session Initiation Protocol

      > Timeout = 20 Minutes

      > Scheduling Method = Least Connection  

      > Subnet Originating Requests = Enabled

 

 

3.2   Real Servers

   > Enter Real Server IP Address

   > Forwarding Method = NAT

   > Health Check = ICMP

 

If you have successfully Load Balanced your SIP Servers by implementing this specific configuration, please give a thumbs up or please leave a comment on a possible alteration that was required to make it function. Thank you

0 comments