From time to time some remote sites have a limited bandwidth available. Even though the QoS is enabled, when a physical media link is overloaded, packet are dropped randomly. All the ongoing conversations to or from this site will then face an audio quality issue. In order to prevent it the Call Admission Control which is available in the Communication Server will track the ongoing media streams on the media links and will refuse the establishment of new call when the maximum number of allowed stream is reached.
In order to keep track of the media link usage, the following elements are to be provisioned on the SMP:
The sites which are available via a limited bandwidth
The media link which connects a site to another site or to a shared central network
The different networks available in a site and which share the site's media links
The site of a phone is computed by taking into account the phone registration IP address and the networks configured on the SMP. When handling a call the Communication Server will inspect the SIP message in order to track the media link consumption. When a medial ink is congested, it will refuse to ring a phone which would requires an over consumption of the available media link capabilities.
Here is an example of topology:
Limitations and frequently asked questions
Which network topology is supported?
The current implementation does not support specific media link in order to reach a remote site. Only one media link per site can be configured: you have to use default media link.
As described on the "typical" topology schema (above), we currently support only "star" topology: different sites with a specific subnet per site, all phones are defined on only one sop (primary).
When is call admission control enforced?
In the current implementation, the enforcement is only done when trying to call a SIP phone or a SIP interface whatever the action used to dial this one: Queue, CallDevice, CallInterface, Goto.Interface. In case of media link congestion, the INVITE will not be sent by the Communication Server and a congestion will be reported to the application.
Please note that calls from a phone to a IVR, a Queue, the voicemail or any callflow that plays a prompt will not be counted as a call for the enforcement of the call limit. Nevertheless they will be shown in the counters, therefore the counters can show higher value than the maximum number of calls allowed.
Is the bandwidth used by an IAX interface taken into account?
No only SIP is supported. The support of Call Admission Control for the IAX protocol is not foreseen.
Is the re-invite supported?
The RE-INVITE is taken into account by the Communication Server in order to track the established media streams and the media link consumption. It also includes RE-INVITE done by a phone in order to put a call on hold.
Are the effective codec used taken into account in the media link consumption?
The current implementation does not take into account the codecs. It only checks that the maximum number of audio streams has not reached the limit defined in the media links.
Are in-band ringing tone and early media taken into account?
The inband ringing-tone and early media are taken into account in the media link consumption. Note nevertheless that it is not foreseen to block the early media in case of congestion. If you want to make sure that no inband ringing tone is played set 'inband-ringing tone' to 'no' in the Communication Server module.
Is it possible to intercept the media link congestion in the callflow?
Since a congestion is reported to the actions, the action which made the dial-out will handle this one with its own logic:
The CallInterface action won't call over a SIP interface for which the required media link are congested. It will exit via the 'congested' output if no Interface could be called
The Queue action won't ring a phone if a required media link is congested
The CallDevice action won't call the devices for which the required media links are congested. If all the device are congested, it will exit via the 'busy' output.
Is it possible to use the call admission control in a cluster?
Yes, but the counters will not be synchronized across SOPs. Each SOP with call admission control activated will have its own counters and and will enforce the limitations on its own.
Special behavior explanation
If we consider a configuration with a site containing two phones A & B and sip re-invite activated and another site where the sop is located. If there is a call between the two phones, no stream are consumed, "Current" counter will be 0. But if A place the call on hold, there will be one stream consumed for the music-on-hold sent from the sop to phone B.
When sip-reinvite is activated and there is a call between two sites, only one stream will be consumed. But there will be 2 stream consumed if one of the phone place the call on hold. One stream reserved for the ongoing call (direct between the two sites) and one from the SOP to the phone.
Medialinks are defined for sites and more specially for network subnets, so it's normal to see each medialinks on each SOP of a cluster. Remember, medialinks counters are not synced to other sop of the cluster.
Use version 4.9 in order to have the possibility to configure the sites, network and media links on a single SOP configuration. Prior to 4.9, this was possible only for a cluster.
Communication Server module v2.1 or higher
Set the parameter 'Enable Call Admission Control' to 'yes' in order to activate the call admission feature
The Call Admission Control is not available on module asterisk 1.2x.
Medialink resource v2.0 or higher
There are no specific requirement in term of action.
How to configure the network topology?
Note: on a cluster all the following operation are to be done at the level of the cluster's master.
Step 1: Add the sites
Navigate to: SMP > Advanced > Site Configuration
Click Add and provides a unique name for the site.
Step 2: Add the networks
Navigate to: SMP > Advanced > Network Configuration
Click Add and fill in the parameters:
Site: the site to which this network belongs to
Network Name: a unique name for the network
Network Address: the address of the network
Netmask: the mask which will define the IP range of the network
Repeat the operation for each network available in the site.
Step 3: Add the medialinks
The media links represents the physical IP available for a site.
Navigate to: SMP > Resource > Media Links
Click Add and fill in the parameters:
Description: provides a description of the media link for further reference
Maximum number of audio streams: provides the limit in term of simultaneous audio streams allowed
Step 4: Configure the Inter-site media link routing
For each site, it is necessary to define which media link is used in order to reach another site. If a site has only one media link available, this one will usually be configure as the default media link for this site.
Navigate to: SMP > Communication Routing > Inter-site Media Links
On the left column, click on the site and select the default media link for this site.
Step 5: Do an apply-change
Navigate to: SMP > Apply-Changes
Click on 'Apply Cluster Changes' or 'Apply SOP Changes'. This will push the configuration on each Communication Server of the cluster.
Step 6: Restart the Communication Server
The first time you activate the 'Enable Call Admission Control' in the Communication Server, you have to reinstall the module and then restart Asterisk.