Resources, Calls, Load balancing

Resources, Calls, Load balancing

1.    Introduction 
The purpose of this article is to describe the Nixxis Contact Suite (NCS) behaviors about call distribution between multiple media servers, and covers: 
 
a. Behaviors in case of Inbound traffic for: 
Location of new calls 
Maximum number of lines 
 
b. Behaviors in case of Outbound traffic for: 
Location of new calls 
Choice of Media Server based on cost 
 
c. Required settings in Sip.config including: 
allowDynamicCost  
dynamicCostResetInterval 
resourcesLoadBalanced 
resourcesLoadBalancingIncludesInbound 

2.    Behaviors in case of Inbound traffic 
2.1.  Location of new calls  
When considering inbound traffic, obviously, the application server has no choice on the location of new calls offered: it is the SIP provider or SIP gateway connected to the media server that will dictate where a call appears. 

2.2.  Maximum number of lines 
Nevertheless, the application server can still define the maximum number of lines accepted for inbound (or in total). When this amount is reached, any subsequent call is rejected by the application server. Of course, this does not prevent the call from appearing on the media server but this ensures that the call does not keep a line occupied for a long time. 

3.    Behaviors in case of Outbound traffic 
3.1.  Location of new calls 
In outbound, the application server decides where a new call is being generated. The application server choice will be done among the list of eligible media servers. This list is obtained by applying the following criteria: 
 
a. Activity’s location. 
b. Activity’s carrier. 
c. Line restrictions on resources. 
 
3.1.1. Activity’s location 
This restricts the media servers choices to the one associated to the requested location (or the ones having a path to that location). The location is also the place where numbering rules are defined: these numbering rules are able to modify the selected carrier (this can have an impact on the media server’s choice as explained in next section). 

3.1.2. Activity’s carrier 
The carrier restricts the available media servers. 

3.1.3. Line restrictions on resources
When choosing a media server, the application server verifies that the lines limits are respected. This includes both total and outbound limits. When the limits are reached on a media server, no more calls are sent to this media server. 

3.2.  Choice of Media Server based on cost 
When the previous restrictions have been applied and there is more than one possible media server, the system will choose the media server having the lowest cost. This cost is based on the following values:  
 
a. The resource and the location costs. 
b. The transport cost. 
c. The dynamic cost. 
d. The distance factor. 
e. Load balancing value. 

3.2.1. The resource and the location costs 
This is the base cost associated to the resource and the base cost associated to the location. 

3.2.2. The transport cost 
When a call transport is needed, this cost is the one to ensure traffic between the locations. 

3.2.3. The dynamic cost 
This is a virtual cost used to decrease the priority of a media server presenting an abnormal behavior. By abnormal behavior, we consider congestions, no response (at all) to new calls, improper response, etc. Each time the suspicious behavior is detected, the dynamic cost is increased by one, causing the media server to be avoided for next calls. 

3.2.4. The distance factor 
This value is a distance computation between the destination address and the media server address. For example, the distance factor between sip:1234@1.2.3.4 and media server at 1.2.3.1 will be smaller that the distance between the same destination and the media server at 1.2.4.1. 

3.2.5. Load balancing value
When load balancing is activated (see next section, “resourcesLoadBalanced” ), the computed value added to the cost will become bigger as the fill factor of the resource is getting close to its limits. For example, the “load balancing value” include in the computation will be bigger for a media server already handling 25 calls on a maximum of 30 calls than for a media server handling 2 calls on a maximum of 30 calls. This value is not absolute. For example, the computation for a media server handling 25 calls on a maximum of 30 will give the same result as for a media server handling 250 calls on a maximum of 300. 

The maximum number of lines taken into account in the calculus is the outbound one if specified. If not the total limit is used. If no limit at all is included, 9999 is used 

4.    Required settings in Sip.config
 4.1.  allowDynamicCost 
This attribute defines if dynamic costs must be computed and included in computations. This attribute’s default value is “true”. 

4.2. dynamicCostResetInterval 
This attribute defines when dynamic costs are reset. As seen in previous sections, dynamic cost is incremented when a “failure” occurs on a media server. This can lead to a permanent exclusion if no failure is detected on other media servers. In order to give a chance to the suspicious media server to be included in selection list, the dynamic costs are reset at regular interval. This attribute defines the duration (in seconds) of this interval. This attribute’s default value is “3600”, meaning one hour.
 
4.3. resourcesLoadBalanced 
This attribute defines if load balancing must be applied on the system. This attribute’s default value is “false”. 

4.4. resourcesLoadBalancingIncludesInbound 
This attribute defines if inbound calls must be included in load balancing computation. This attribute’s default value is “false”. 



    • Related Articles

    • How to create an inbound activity

      1.    Introduction  The purpose of this document is to explain the configuration of an inbound activity into NCS.  2.    Prerequisites  Calls are coming to the Nixxis Media Server through a SIP trunk:   - direct link to a VOIP provider,  - through a ...
    • NCS v2.x - Installation and configuration procedure

      Introduction The purpose of this document is to guide you through the installation and the configuration process of Nixxis Contact Suite V2.x Application Server. 1. Prerequisites General prerequisites: The related documentation is available online ...
    • How do location settings work

      This article describes the settings and implications of using the locations feature in Nixxis Contact Suite. The locations setting can be accessed through the Technical parameters An existing "Location" created without resources cannot be used by the ...
    • NCS v3.x - Installation and configuration procedure

      Introduction The purpose of this document is to guide you through the installation and the configuration process of Nixxis Contact Suite V3.x Application Server. 1. Prerequisites General prerequisites: Important to make sure prerequisites are ...
    • NCS v3.x - Installation and configuration procedure (EN)

      Introduction The purpose of this document is to guide you through the installation and the configuration process of Nixxis Contact Suite V3.x Application Server. 1. Prerequisites General prerequisites: Important to make sure prerequisites are ...