Cisco PGW 2200 Softswitch

Audio Codec Configuration on H.323 Signaling Interface (HSI)

Document ID: 43180

Updated: Feb 02, 2006



This document describes configuring the H.323 Signaling Interface (HSI) to be capable of working with multiple voice codecs in H.245. The default codec used in the HSI is often not enough for Cisco Call Control solutions with H.323 Adjunct (HSI) to interwork with existing VoIP running networks. Cisco will explain the necessary steps used to enable the HSI to work with codecs other than G.711.

This introductory document provides a description of the subject matter and any contextual information describing a real-world scenario in which this information might be used.



Readers of this document should be knowledgeable of the following:

  • Provisioning the HSI (see the Related Information section)

  • H.323 Protocol Recommendations - International Telecommunication Union (ITU)

Components Used

The information in this document is based on the software and hardware versions:

  • HSI versions 2.21 and 4.1

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.


For more information on document conventions, see the Cisco Technical Tips Conventions.

Supported Codec Parameters in H.245

H.245 control signaling is used during every call to exchange control messages. Before a call is established, the capabilities of the H.323 endpoints are exchanged. From the H.323 protocol specification an Audio Codec support is mandatory because it is the minimum service provided by the H.323 standard. All H.323 terminals must have at least one Audio Codec supported, which is G.711. Additional Codec support such as G.722, G.728, and G.729 is optional. At this time the HSI does not support dynamic codec types (G.729 Annex type) that are defined outside RFC 1890. The HSI also supports G.723.1

H.245 Terminal Capability Codec Parameters

Parameter Name Type
caps.table[i].entryNo INTEGER(1, 65535)
caps.table[i].audio.g711Alaw64k INTEGER(1, 256)
caps.table[i].audio.g711Alaw56k INTEGER(1, 256)
caps.table[i].audio.g711Ulaw64k INTEGER(1, 256)
caps.table[i].audio.g711Ulaw56k INTEGER(1, 256)
caps.table[i].audio.g722at64k INTEGER(1, 256)
caps.table[i].audio.g722at56k INTEGER(1, 256)
caps.table[i].audio.g722at48k INTEGER(1, 256)
caps.table[i].audio.g728 INTEGER(1, 256)
caps.table[i].audio.g729 INTEGER(1, 256)

H.245 Channel Codec Parameters

Parameter Name Type
chan[i].name String
chan[i].audio.g711Alaw64k INTEGER(1, 256)
chan[i].audio.g711Alaw56k INTEGER(1, 256)
chan[i].audio.g711Ulaw64k INTEGER(1, 256)
chan[i].audio.g711Ulaw56k INTEGER(1, 256)
chan[i].audio.g722at64k INTEGER(1, 256)
chan[i].audio.g722at56k INTEGER(1, 256)
chan[i].audio.g722at48k INTEGER(1, 256)
chan[i].audio.g728 INTEGER(1, 256)
chan[i].audio.g729 INTEGER(1, 256)

H.245 Modes

Parameter Name Type
modes[i].name String
modes[i].audio.g711Alaw64k NULL
modes[i].audio.g711Alaw56k NULL
modes[i].audio.g711Ulaw64k NULL
modes[i].audio.g711Ulaw56k NULL
modes[i].audio.g722at64k NULL
modes[i].audio.g722at56k NULL
modes[i].audio.g722at48k NULL
modes[i].audio.g728 NULL
modes[i].audio.g729 NULL

Audio Codec Configuration

It is mandatory to only support G.711 with regards to the H.323 standard. Therefore, G.711 is the default Audio Codec in the HSI. If you want to use another codec, you have to configure it. The value of the h245.caps.table[x].audio and h245.chan[x].audio fields are representing the Audio Capabilities from the chosen codec. The Audio Capabilities are integer values that describe the maximum frames per packet, not the number of milliseconds or bytes per packet.

G.711 is a sample-based codec with an ITU recommendation of 8000 samples per second over a frame of eight samples. G.711 represents (in one frame) 1 ms of speech. G.729 is compared to G.711 frame-based and represents (in one frame) 10 ms of speech. This leads you to a yy value (see below) that is actually a multiplier for the capability the H.323 endpoint has.

For example, if an EP is capable of receiving 20 ms worth of audio per packet, the yy value for G.711 is 20 and is 2 for G.729. For other codecs, refer to the ITU recommendations.

Default Configuration

h245.caps.table[1].audio.g711Ulaw64k   = 20
h245.caps.table[1].entryNo                      = 7111
h245.caps.table[2].audio.g711Alaw64k            = 20
h245.caps.table[2].entryNo                      = 7110

h245.chan[1].audio.g711Alaw64k                 = 20
h245.chan[1].name                              = g711Alaw64k
h245.chan[2].audio.g711Ulaw64k                 = 20
h245.chan[2].name                              = g711Ulaw64k
h245.modes[1].audio.g711Alaw64k                =
h245.modes[1].name                             = g711Alaw64k
h245.modes[2].audio.g711Ulaw64k                = 
h245.modes[2].name                             = g711Ulaw64k

Additional Codec Configuration Example

h245.caps.table[x]  = yy
h245.caps.table[x].entryNo              = zz

h245.chan[x]                 = yy
h245.chan[x].name                       = name
h245.modes[x]                = 
h245.modes[x].name                      = name

x is an array index [x] that must be replaced by a valid number between 1 and 20. It must be continuous and unique in the configuration. yy is the frame multiplier that is derived from the frames per packet that a specific codec can support per ITU. zz is a number that is chosen to identify the codec in the application. For a valid range, see the H.245 Terminal Capability Codec section of this document.

Example Configuration of Audio Codec G.729 with MML


Related Information

Updated: Feb 02, 2006
Document ID: 43180