CommuniGate Pro
Version 6.4
 

Media Server

The CommuniGate Pro Media Server component can terminate media for calls - it can play and record audio/video (media) information.

To play media data, the Media Server encodes it using a selected codec and sends it to the remote party via the RTP protocol. The Media Server also supports the encrypted SRTP protocol for media exchanges.

To record media data, the Media Server decodes received RTP data, rearranges it to restore the original data frame sequence and converts the resulting data into a standard format.

To participate in a call, the Media Server creates a Media Channel. Each Media Channel uses two UDP ports and sockets for audio data (the AVP/RTP protocol), and, optionally, two UDP ports and sockets for video data.

A Media Channel is created and controlled with PBX Tasks.

A Task can connect its Media Channel to several remote parties, creating a conference.



Media Server Settings

To configure the Media Server component, open the Real-Time pages in the WebAdmin Settings realm, and follow the Media link.

Processing
Log Level: UDP TOS Tag:
Pre-playing: msec Lingered Playing: msec
Packet Size:msec Mixer Delay: msec
Internal Sampling Rate:Hz  
Log
Use this setting to specify the type of information the Media Server component should put in the Server Log. Usually you should use the Failure (unrecoverable problems only), Major, or Problems levels. When you experience problems with the Media Server component, you may want to set the Log Level setting to Low-Level or All Info: in this case the media processing internals will be recorded in the System Log. When the problem is solved, set the Log Level setting to its regular value, otherwise your System Log files will grow in size very quickly.
The Media Server component records in the System Log are marked with the MEDIA tag.
UDP TOS Tag
Use this setting to specify the TOS tag for all outgoing UDP packets sent with Media Channels. This tag can be used to set the Media traffic priority on your LAN.
Pre-playing
When a Media Channel plays a pre-recorded or pre-composed media data, it can initially send some data portions (packets) "in advance". If later network delays cause some packets to arrive to the remote party with a delay, the "pre-played" media data allow that other party to play data smoothly.
Use this setting to specify the amount of media data to be "pre-played".
Lingered Playing
PBX Applications often play several media files in a sequence, composing a phrase with several part files. To ensure smooth media parts "merging", a Media Channel reports playing completion when it still has some media data to play. This allows the application to prepare the next media data portion and submit it to the Media Channel for playing.
The Media Channel starts playing this next portion as soon as it actually finishes playing the previous one.
Use this setting to specify when Media Channels should report playing completion.
Packet Size
Use this setting to specify the size (time length) of each RTP packet the Media Server generates.
Mixer Delay
Use this setting to specify the initial amount of delay the Media Channel uses in the "mixer" mode. Increasing this value increases the mixer quality for lines with large or variable latency, but it also increases the "playback delay".
Internal Sampling Rate
Specifies the sampling rate for internal audio processing. Increase this value if you use wide-band codecs.

When the remote peer SDP does not announce the special telephone-event codec, the Media Server tries to detect the DTMF signals in the received and decoded audio data. The following settings allow you to fine-tune this process.

Inband DTMF Discovery
Threshold Level: Minimal Duration:msec
Signal/Noise Ratio: Harmonics Ratio:
Signal Ratio:  
Threshold Level
Decreasing this setting value allows the Media Channel to detect lesser quality (lower volume) in-band DTMF, but it may also result in "false-positives", when some incoming sounds are incorrectly interpreted as DTMF signals.
Signal/Noise Ratio, Harmonics Ratio, Signal Ratio
Decreasing these setting values allows the Media Channel to detect lesser quality (less clean) in-band DTMF, but it may also result in "false-positives", when some incoming sounds are incorrectly interpreted as DTMF signals.
Minimal Duration
To be detected as a DTMF signal, an DTMF audio sound should last longer than the specified value. Decreasing this setting value can result in "false-positives", when some incoming sounds are incorrectly interpreted as DTMF signals.

Codecs

The Media Server supports a set of audio codecs. The following panel allows you to control how these codecs are used:

Codecs
NamePriority
G729
G722
PCMU
PCMA

There are two Priority settings for each codec - the primary and the secondary one.

When a Media Server composes an initial offer, the codecs are listed sorted by their primary and secondary priority values.
Codecs with the primary Priority set to Inactive or to 1 are not listed in the initial offer.

When a Media Server composes an answer or a non-initial offer, i.e. when the audio codecs supported by the peer are known, only the codecs supported by the peer are listed.
Codecs with the primary Priority set to Inactive are not listed in answers and non-initial offers.
The Media Server codecs are listed sorted by their primary Priority values. If several Media Server codecs have the same primary Priority values, they are listed in the same order as they were listed in the peer's offer.

Note: the set of supported codecs depends on the platform CommuniGate Pro is running on.

Compressing codecs (such as G.729) require a lot of CPU resources. You may want to offload coding-encoding operations to separate Transcoder servers:

External Media Servers
Usage:
 

If the Usage setting is set to Transcoder, the Media Server tries to create a transcoder channel on one of the listed Transcoder servers. The peer is instructed to exchange media with the created transcoder channel, while the transcoder channel exchanges media with the CommuniGate Pro Media Server using the PCM (G.711) codec.

Transcoder servers are used in a round-robin manner. If a Transcoder refuses to create a transcoder channel, and there are more than 2 servers specified, the next server is contacted.

The CommuniGate Pro Server software or special CommuniGate Pro Transcoder software can be used to implement Transcoder servers.

Features

The Media Server supports clients connecting from remote NATed networks, using the same algorithms as those employed with the Media Proxy component. When a call media is terminated with the CommuniGate Pro Media Server, there is no need to build a Media Proxy to handle media transfer over a remote NAT.

The Media Server supports DTMF "codecs": if the peer announces support for such a codec, the Media Server detects audio packets sent using that codec and interprets the packet content as DTMF symbols. The Media Server can also send DTMF symbols using special DTMF "codecs".
If the peer does not announce support for a DTMF "codec", the Media Server detects DTMF symbols sent "in-band", analyzing the audio data received.


CommuniGate Pro Guide. Copyright © 2020-2023, AO StalkerSoft