Codec Information | | | | Bandwidth Calculations | | | | | |
|
Codec & Bit Rate (Kbps) | Codec Sample Size (Bytes) | Codec Sample Interval (ms) | Mean Opinion Score (MOS) | Voice Payload Size (Bytes) | Voice Payload Size (ms) | Packets Per Second (PPS) | Bandwidth MP or FRF.12 (Kbps) | Bandwidth w/cRTP MP or FRF.12 (Kbps) | Bandwidth Ethernet (Kbps) |
|
G.711 (64 Kbps) | 80 Bytes | 10 ms | 4.1 | 160 Bytes | 20 ms | 50 | 82.8 Kbps | 67.6 Kbps | 87.2 Kbps |
|
G.729 (8 Kbps) | 10 Bytes | 10 ms | 3.92 | 20 Bytes | 20 ms | 50 | 26.8 Kbps | 11.6 Kbps | 31.2 Kbps |
|
G.723.1 (6.3 Kbps) | 24 Bytes | 30 ms | 3.9 | 24 Bytes | 30 ms | 33.3 | 18.9 Kbps | 8.8 Kbps | 21.9 Kbps |
|
G.723.1 (5.3 Kbps) | 20 Bytes | 30 ms | 3.8 | 20 Bytes | 30 ms | 33.3 | 17.9 Kbps | 7.7 Kbps | 20.8 Kbps |
|
G.726 (32 Kbps) | 20 Bytes | 5 ms | 3.85 | 80 Bytes | 20 ms | 50 | 50.8 Kbps | 35.6 Kbps | 55.2 Kbps |
|
G.726 (24 Kbps) | 15 Bytes | 5 ms | | 60 Bytes | 20 ms | 50 | 42.8 Kbps | 27.6 Kbps | 47.2 Kbps |
|
G.728 (16 Kbps) | 10 Bytes | 5 ms | 3.61 | 60 Bytes | 30 ms | 33.3 | 28.5 Kbps | 18.4 Kbps | 31.5 Kbps |
|
G722_64k(64 Kbps) | 80 Bytes | 10 ms | 4.13 | 160 Bytes | 20 ms | 50 | 82.8 Kbps | 67.6Kbps | 87.2 Kbps |
|
ilbc_mode_20(15.2Kbps) | 38 Bytes | 20 ms | NA | 38 Bytes | 20 ms | 50 | 34.0Kbps | 18.8 Kbps | 38.4Kbps |
|
ilbc_mode_30(13.33Kbps) | 50 Bytes | 30 ms | NA | 50 Bytes | 30 ms | 33.3 | 25.867 Kbps | 15.73Kbps | 28.8 Kbps |
|
Explanation of Terms
Name | Explanation |
|
Codec Bit Rate (Kbps) | Based on the codec, this is the number of bits per second that need to be transmitted to deliver a voice call. (codec bit rate = codec sample size / codec sample interval). |
|
Codec Sample Size (Bytes) | Based on the codec, this is the number of bytes captured by the Digital Signal Processor (DSP) at each codec sample interval. For example, the G.729 coder operates on sample intervals of 10 ms, corresponding to 10 bytes (80 bits) per sample at a bit rate of 8 Kbps. (codec bit rate = codec sample size / codec sample interval). |
|
Codec Sample Interval (ms) | This is the sample interval at which the codec operates. For example, the G.729 coder operates on sample intervals of 10 ms, corresponding to 10 bytes (80 bits) per sample at a bit rate of 8 Kbps. (codec bit rate = codec sample size / codec sample interval). |
|
MOS | MOS is a system of grading the voice quality of telephone connections. With MOS, a wide range of listeners judge the quality of a voice sample on a scale of one (bad) to five (excellent). The scores are averaged to provide the MOS for the codec. |
|
Voice Payload Size (Bytes) | The voice payload size represents the number of bytes (or bits) that are filled into a packet. The voice payload size must be a multiple of the codec sample size. For example, G.729 packets can use 10, 20, 30, 40, 50, or 60 bytes of voice payload size. |
|
Voice Payload Size (ms) | The voice payload size can also be represented in terms of the codec samples. For example, a G.729 voice payload size of 20 ms (two 10 ms codec samples) represents a voice payload of 20 bytes [ (20 bytes * 8) / (20 ms) = 8 Kbps ] |
|
PPS | PPS represents the number of packets that need to be transmitted every second in order to deliver the codec bit rate. For example, for a G.729 call with voice payload size per packet of 20 bytes (160 bits), 50 packets need to be transmitted every second [50 pps = (8 Kbps) / (160 bits per packet) ] |
|
These calculations are used:
- Total packet size = (L2 header: MP or FRF.12 or Ethernet) + (IP/UDP/RTP header) + (voice payload size)
- PPS = (codec bit rate) / (voice payload size)
- Bandwidth = total packet size * PPS
Sample Calculation
For example, the required bandwidth for a G.729 call (8 Kbps codec bit rate) with cRTP, MP and the default 20 bytes of voice payload is:
- Total packet size (bytes) = (MP header of 6 bytes) + ( compressed IP/UDP/RTP header of 2 bytes) + (voice payload of 20 bytes) = 28 bytes
- Total packet size (bits) = (28 bytes) * 8 bits per byte = 224 bits
- PPS = (8 Kbps codec bit rate) / (160 bits) = 50 pps
Note: 160 bits = 20 bytes (default voice payload) * 8 bits per byte
- Bandwidth per call = voice packet size (224 bits) * 50 pps = 11.2 Kbps
Configuring Voice Payload Sizes in Cisco CallManager and IOS Gateways
The voice payload size per packet can be configured in Cisco CallManager and Cisco IOS gateways.
Note: If the Cisco IOS gateway is configured in Cisco CallManager as a Media Gateway Control Protocol (MGCP) gateway, all the codec information (codec type, payload size, voice activity detection, and so on) is controlled by Cisco CallManager.
In Cisco CallManager, the voice payload size per packet is configurable on a systemwide basis. This attribute is set in Cisco CallManager Administration (Service > Service Parameters > _select_server_ > Cisco CallManager) with these three service parameters:
- PreferredG711MillisecondPacketSize—(Default setting: 20 ms. Available settings: 10, 20, and 30 ms.)
- PreferredG729MillisecondPacketSize—(Default setting: 20 ms. Available settings: 10, 20, 30, 40, 50, and 60 ms.)
- PreferredG723MillisecondPacketSize—(Default setting: 30 ms. Available settings: 30 and 60 ms.)
In Cisco CallManager, the voice payload size is configured in terms of milliseconds (ms) samples. Based on the codec, this table maps some ms samples to the actual payload size in bytes.
Codec | Voice Payload Size (ms) | Voice Payload Size (Bytes) | Comments |
|
G.711 | 20 ms (default) | 160 Bytes | Notice that the codec bit rate is always maintained. For example: G.711 codec = [240 bytes * 8(bits/bytes)] / 30 ms = 64 Kbps |
|
30 ms | 240 Bytes | | |
|
G.729 | 20 ms (default) | 20 Bytes | |
|
30 ms | 30 Bytes | | |
|
G.723 | 30 ms (default) | | | |