Comfort Noise Generation SPL

Comfort noise (CN) is the noise in a Real Time Transport Protocol (RTP) message (defined in RFC 3389) that is played to prevent a user from hearing completely dead silence on the connection. The Session Description Protocol (SDP) negotiates this RTP message containing the comfort noise using payload type 13 and an rtpname of "CN".

However, when CN is received, normal RTP ceases. Thus, with no RTP traffic, guard timers may trigger and cause the call to be terminated. To correct this, you can load a Comfort Noise Generation SPL that allows the Oracle® Enterprise Session Border Controller (E-SBC) to generate "noise" RTP using the normal audio codec when it receives a CN indication.

The CN Generation SPL must be loaded manually according to the procedures described in Loading and Enabling the SPL. After loading the SPL on the E-SBC, comfort noise is added and removed from the SDP to allow for proper negotiation. If properly negotiated in SDP, CN interworking facility (IWF) is enabled in the media flows allowing the E-SBC to generate noise RTP when CN is received.

Note:

CN generation configuration is supported on realms only.

The following describes two different cases of how the E-SBC performs the SDP manipulation using the CN Generation SPL.

Case 1

The Case 1 CN generation SPL call flow is described below.
  1. SDP offer received from the realm that has comfort-noise-generate enabled. If the SDP offer contains CN, no IWF is required. If it does not contain CN, and at least one of the offered audio codecs is PCMU or PCMA, CN is added in outgoing SDP offer.
  2. If SDP Answer contains the CN codec and topmost audio codec is PCMU or PCMA, E-SBCenables CN IWF.
  3. E-SBC strips CN from outgoing SDP Answer.

Case 2

The Case 2 CN generation SPL call flow is described below.
  1. SDP offer is sent to a realm that has comfort-noise-generate enabled. If CN was not offered, IWF cannot be performed. If CN is in the offer, the E-SBC forwards the offer to the outbound side.
  2. SDP Answer is received from a realm that has comfort-noise-generate enabled. If it contains CN, no IWF is required because both sides support CN. If there is no CN in the Answer, and the topmost audio codec is PCMU or PCMA, the E-SBC enables CN IWF.
  3. If CN IWF is enabled, the E-SBC adds CN to the outgoing SDP Answer.

Configure the Comfort Noise Generation SPL

Use the following procedure to configure the CN Generation SPL on the Oracle® Enterprise Session Border Controller (E-SBC).

  • The CN Generation SPL can be installed on the Server Edition and VMWare (preferred hypervisor) platforms, only.
  • You must have the SPL loaded and enabled using the procedure in Loading and Enabling the SPL.
  1. In Superuser mode, type configure terminal and press Enter.
    ACMEPACKET# configure terminal
  2. Type media-manager and press Enter.
    ACMEPACKET(configure)# media-manager
    ACMEPACKET(media-manager)#
  3. Type realm-config and press Enter.
    ACMEPACKET(media-manager)# realm-config
    ACMEPACKET(realm-config)#
  4. Type spl-options +comfort-noise-generate and press Enter.
    ACMESYSTEM(realm-config)# spl-options +comfort-noise-generate
  5. Type done to save your work.

Example Configuration

The following is an example of a CN Generation SPL configuration.

media-manager
	realm-config
		identifier 		SP
		addr-prefix		172.16.0.0/16
		network-interfaces 	Core1:0
		mm-in-realm 	enabled
		spl-options 	comfort-noise-generate

High Availability (HA) Support

High Availability (HA) supports the use of Comfort noise. The codec encoding (PCMU/PCMA), codec ptime, and CN generation enabled/disabled state is exchanged with the standby in Middlebox Control Daemon (MBCD). If CN generation occurs in a call flow, and a switchover occurs, the CN generation stops until the next CN message is received.

Licensing Information

The following licensing applies to the CN Generation SPL.

Process Description
Package name G711
License category Open Source
Package version N/A
Vendor Sun Microsystems
Applicable license This source code is a product of Sun Microsystems, Inc. and is provided for unrestricted use. Users may copy or modify this source code without charge.

SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.

Sun source code is provided with no support and without any obligation on the part of Sun Microsystems, Inc. to assist in its use, correction, modification or enhancement.

SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE OR ANY PART THEREOF.

In no event will Sun Microsystems, Inc. be liable for any lost revenue or profits or other special, indirect and consequential damages, even if Sun has been advised of the possibility of such damages.

Sun Microsystems, Inc.

2550 Garcia Avenue

Mountain View, California 94043

Software builds SC[z]

BC[z]640

Purpose Conversion from linear samples to alaw/ulaw
Used in modified or unmodified form Unmodified
Used internally or distributed Distributed with Product Binaries
Location in source code tree linux/kernel/modules/acme
Used by itself or in combination with other software Used exclusively and tightly integrated into acme.ko. The code is compiled as part of acme.ko.
Link to website hosting Software N/A
License requires notice provided in product documentation? No