Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 

Audio Format in Cisco Unity Connection 8.x

 

 

 

Introduction

 

Codecs are defined as the encoding and decoding of the audio signal. An audio signal needs to be converted to a digital format before it can be sent over the IP network. This is referred to as encoding. This digitally encoded signal takes the form of a real-time transport protocol (RTP), which uses User Datagram Protocol (UDP) as the transport layer. Likewise, at the remote location, this encoded digital signal needs to be converted back into an audio stream. This process is called decoding. Together, the encoding and decoding determines the codec used to send an audio signal across the IP network.

 

The process of encoding an audio signal into a digital signal use is referred to assampling. The sampling rate is determined by the amount of samples per second.

 

 

Cisco Unity Connection supports a number of different codecs, as described in the following sections.

 

G.711 Codec

 

The G.711 codec is the most used and supported codec in IP telephony. It is produced using pulse code modulation at an uncompressed sampling rate of 8000 samples per second. The bandwidth required for the G.711 codec is 64,000 bits per second. This is the bandwidth of the payload (not including IP, RTP, and UDP headers).

 

There are two versions or formats of the G.711 codec. G.711 m-Law is the codec used in North America. The G.711 a-Law is used outside North America. Even though both codecs have the same bit rate of 64,000 bits per second, they perform a completely different sampling of pulse code modulation to arrive at their respective digitized samples. Therefore, the codecs are not directly compatible and require transcoding between G.711 m-Law and G.711 a-Law. However, both of these codecs produce a high-quality audio steam.

 

G.729 Codec

 

The G.729 codec is also used extensively in IP telephony and also widely supported. This codec uses a compression algorithm to attain a payload bandwidth of 8000 bits per second. Because of bandwidth conservation, this codec is used for remote IP telephony communications and where bandwidth oversubscription is a concern. A number of versions of the G.729 codec exist. Two of these codecs, G.729a and G.729b, incorporate additional options and features. The sound quality produced using G.729 is not as high quality as G.711 but is still considered to be toll quality (similar to a residential phone service or traditional landline services). These lower bandwidth codecs are used primarily to save the bandwidth for lower speed WAN circuits. In these cases, the overhead calculation is still approximately 16 k, providing a total bandwidth calculation of 24 k.

 

G.722 Codec

 

The G.722 codec produces is a high quality audio signal and is supported on many of the newer IP telephony devices and IP phones. G.722 uses its own compression algorithm called Sub-Band Adaptive Differential Pulse Code Modulation (SB-ADPCM) and can produce a digital signal using a number of bandwidths (48 k, 56 k, and 64 k). The G.722 codec requires 64,000 bits per second as the payload bandwidth for this codec; although it can adapt the compression algorithm based on changes in the network. This codec is used with the newer Cisco 79X2 and 79X5 IP Phones.

 

G.726 Codec

 

The G.726 codec uses Adaptive Differential Pulse Code Modulation (ADPCM) to produce a payload bandwidth of 16 k, 24 k, 32 k, or 40 k bits per second, although the most widely supported codec used is 32 kbps. Using half the bandwidth of G.711, this codec is used for many phone service providers, VPIM networking, and Simple Mail Transfer Protocol (SMTP) communications. You examine the use of this codec in Chapter 5, "Cisco Unity Connection Users and Contacts," in the discussion of VPIM and SMTP protocols.

 

iLBC

 

Internet Low Bitrate Codec (iLBC) is defined in RFC 3951 as a narrowband speech codec, suitable for Voip application and streaming audio. This algorithm used for iLBC is much more resilient to the lost frames when degraded networks are encountered. iLBC uses a bandwidth of 13.3kbps, with a slightly higher quality than G.729.

 

PCM Linear Codec

 

The PCM Linear codec uses pulse code modulation (PCM) to digitize samples based on a variable sampling rate of 8 k to 48 k. This format is used in DVD technology to encode WAV and AU type sound files because this codec produces the highest quality audio; however, this quality is produced as the expense of increased bandwidth. For example, a sampling rate of 8 k for a 16-bit samples requires 128 kbps for the payload bandwidth (16 bits * 8000 samples / sec = 128 kbps).

 

codec.jpg

Cisco has made some marked improvements in the latest 8.x software release of Cisco Unity Connection for its handling of IMAP clients. If users are using clients that support IMAP Idle, there is no increased impact on the load to Cisco Unity Connection. This was not the case in previous versions; however, the clients must be IMAP Idle-mode instead of non-Idle. IMAP Idle is defined as the ability of the client to indicate to the server that is ready to accept messages, without having to click a refresh button or repeatedly make requests to the server. In this case, the same amount of users and ports are supported, whether the users use their phone or IMAP Idle clients. Most IMAP clients support Idle-mode, with a few exceptions.

 

The Internet Message Access Protocol (IMAP), formerly called Internet Mail Access Protocol, supports both online (non-Idle) and offline (Idle) modes. The mode used depends entirely on the specific client. Cisco Unity Connection supports both non-Idle and Idle-mode clients. However, non-Idle-mode places a significant load on the server and the number of total clients supported is reduced significantly. A single non-Idle IMAP client is counted as four Idle IMAP clients.

 

The products that support the IMAP Idle-mode consist of the following:-

 

  • Microsoft Outlook
  • Microsoft Outlook Express
  • Microsoft Windows Mail
  • Lotus Notes
  • Cisco Unified Personal Communicator (CUPC) version 8.x and later
  • IBM Lotus Sametime version 7.xx and later

 

 

The following Cisco products support only Non-Idle mode:-

 

  • Cisco Unified Personal Communicator version 7.x and earlier
  • Cisco Unified Mobile Communicator
  • Cisco Unified Mobility Advantage
  • IBM Lotus Sametime plugin

 

 

If you use other clients not listed here, consult the documentation for your specific product or software. Of course, you can use non-Idle clients with Cisco Unity Connection, but the amount of users supported is reduced. As stated previously, a single non-Idle IMAP client should be considered as four IMAP Idle clients when calculating users to determine the server sizing.Cisco Unity Connection version 8.x software enables organizations to mix non-Idle and Idle IMAP clients on the same server. However, for accounting purposes, it might be advisable to put them on separate servers, or at least create a completely different class of service to account for the number of each type of client on each server. Whether the clients are on separate servers or the same server, the calculations are still the same—meaning, a non-Idle IMAP client still counts as four IMAP Idle clients.The IMAP non-Idle clients are the only clients that affect the amount of the users in the Cisco Unity Connection version 8.x software. This must be accounted for with current and future users when considering server sizing to allow for scalability.

Determining Voicemail Port Requirements

 

The number of voicemail ports required is another factor you need to consider in server sizing calculations. To ensure that callers get their calls answered by Cisco Unity Connection and never receive a fast busy, it is imperative that ports are available at all times. The information collected to make the initial calculation can be gathered from the current voice-messaging system to gather traffic volume statistics during the specific busy hours.The main purpose of a voicemail port in Cisco Unity Connection is to answer calls to Cisco Unity Connection, enabling callers to leave voice messages and for users to retrieve these messages. If you look at only the current voicemail traffic and volume, however, you will be missing many vital factors that must be determined to calculate the correct number of ports. To understand voicemail ports, you must first explore their functions, beyond leaving and retrieving messages. Voicemail ports supply the following functions to Cisco Unity Connection:

 

  • Answer calls for incoming callers
  • Recording messages
  • Retrieving messages
  • Message notification
  • Telephony Record and Playback (TRaP)
  • Message waiting indicator (MWI)

 

 

To determine the actual number of ports to install, the designer must research answers to the following questions:-

 

  • How many users need to be configured on the server for voice messaging?
  • What is the expected and projected message activity for these users?
  • How can the users retrieve messages?
  • Can the organization use call handlers within an audiotext application that to answer all or some of the calls to the organization?
  • What features are required for voice-messaging users? Voice recognition? SpeechView? TRaP?
  • Is message notification required?
  • Is high availability a requirement?

 

 

The number of users can help the designer to clearly understand the server sizing. Likewise, the amount of voice messages received and retrieved can help clarify the voicemail port requirements. If users use the phone to retrieve their voicemails, a port is required; however, if they use an IMAP client, a port is not required. Users retrieving their messages using the Cisco Messaging Inbox and Microsoft Outlook with the ViewMail have the ability to listen their message through the PC speakers or their IP Phone. The clients themselves do not require a voicemail, but if the users decide to direct their messages to the IP Phone, a port is required. This is referred to as Telephony Record and Playback (TRaP). Users might decide to use their IP Phone if they do not have a workstation capable of audio, or to maintain a level of privacy in the workplace.

 

When a user receives a message, Cisco Unity Connection notifies the user by sending specific digits to the phone to turn on the message waiting indicator (MWI) light on the user's phone. When the last message is retrieved by the user, Cisco Unity Connection then sends a different set of digits to the phone to turn the MWI light off.

 

Certain other features employed by users can increase the port usage. For example, if users are configured for message notification, an outgoing call is made from Cisco Unity Connection for every configured message notification attempt, which uses an existing voicemail port. Also, users can choose to be notified of urgent, some, or all messages according to a defined time period. After they receive a notification, the user can choose to listen to the message. The message notification and message retrieval uses an available voicemail port.

 

Finally, if high availability is a requirement, two servers are required to be configured in a cluster-pair. A single server uses the IBM Informix database for the configuration database and message store. This single server can support up to 250 ports, depending on the server platform, with Cisco Unity Connection version 8.x software. The issue with having the single server configuration is that there is no redundancy if a server failure occurs and no available load sharing, meaning that a single server is responsible for database configuration, message stores and voicemail port activity. The loss of the server can cause a voice-messaging outage until the server is restored.

 

 

Requirements

 

Cisco Unity Connection 8.x

 

Configuration

 

Audio Codec Usage for Call Connections and for Recording

 

In Cisco Unity Connection, a call in any audio codec format that is supported by Connection SCCP or SIP signaling—G.711 mu-law, G.711 a-law, G.722, G.729, and iLBC—will always be transcoded to PCM linear. From PCM linear, the recording is encoded in the system-level recording audio codec—PCM linear, G.711 mu-law, G.711 a-law, G.729a, or G.726—a systemwide setting in Cisco Unity Connection Administration. G.711 mu-law is the default.

 

We refer to the audio codec that is negotiated between the calling device and Connection as the "line codec," and the audio codec that is set as the system-level recording audio codec as the "recording codec."

 

Supported Line Codecs (Advertised Codecs)

 

  • G.711 mu-law
  • G.711 a-law
  • G.722
  • G.729
  • iLBC

 

Supported Recording Codecs (System-Level Recording Audio Codecs)

 

  • PCM linear
  • G.711 mu-law (default)
  • G.711 a-law
  • G.729a
  • G.726
  • GSM 6.10

 

Because transcoding occurs in every connection, there is little difference in system impact when the line codec differs from the recording codec.

 

For example, using G.729a as the line codec and G.711 mu-law as the recording codec does not place a significant additional load on the Connection server for transcoding. However, the iLBC or G.722 codecs require more computation to transcode, and therefore places a significant additional load on the Connection server. Consequently, a Connection server can support only half as many G.722 or iLBC connections as it can G.711 mu-law connections.

 

Note :-Use of the G.722 or iLBC codec as line codecs or advertised codecs reduces the number of voice ports that can be provisioned on the Cisco Unity Connection server.

 

  

Generally, we recommend that you do not change the system recording format from the default setting except in the following situations:-

 

To address disk space considerations, consider using a low bit-rate codec such as G.729a or G.726. Note that a low bit-rate codec produces lower quality audio than a high bit-rate codec such as G.711 mu-law.

 

To improve the audio quality of recordings for endpoints that use G.722 as the line codec, consider using PCM linear. Note that PCM linear increases the disk space that is used.

 

Additional possible reasons:-

 

The audio codecs that will be negotiated between the majority of the endpoints and Connection. This information will help you decide the audio codecs that Connection should advertise and the audio codecs that Connection should not advertise. You can then decide when you need Cisco Unified Communications Manager to provide hardware transcoding resources rather than using Connection to provide computationally significant native transcoding, such as when the configuration requires a number of clients to connect to Connection by using G.722 or iLBC.

 

The types of graphical user interface (GUI) clients that will play the recordings (for example, web browsers, email clients, or media players) and the audio codecs that these GUI clients support.

 

The quality of the sound produced by the selected audio codec. Some audio codecs produce higher audio quality than other audio codecs. For example, G.711 produces a higher audio quality than G.729a and is a better choice when higher audio quality is necessary.

 

The amount of disk space that the audio codec takes up per second of recording time.

 

 

**PCM linear produces the highest audio quality and is the most widely supported by media players, yet it uses the most disk space and bandwidth (16 KB/sec).

 

**G.711 (both a-law and mu-law) produces moderate audio quality compared to PCM linear and is also widely supported by media players, though it uses half as much disk space and bandwidth (8 KB/sec).

 

**G.729a produces the lowest audio quality of the four supported audio codecs and is poorly supported by media players because it requires a license for use. Yet this audio codec uses the least amount of disk space (1 KB/sec).

 

**G.726 produces moderate audio quality, is moderately supported by media players, and uses less disk space than most of the other codecs (3 KB/sec).

 

 


Comparison of Audio Codecs Used for Recording

 

Recording Audio Codec

 

Audio Quality

Supportability

Disk Space Used

Sampling Rate

Channels

Sample Size

PCM linear

Highest

Widely supported

16 KB/sec

8 kHz/sec

1

16 bits

G.711 mu-law/a-law

Moderate

Widely supported

8 KB/sec

8 kHz/sec

1

8 bits

G726

Moderate

Moderately supported

4 KB/sec

8 kHz/sec

1

4 bits

GSM 6.10

Moderate

Poorly supported

1.63 KB/sec

8 kHz/sec

1

N/A

G.729a

Lowest

Poorly supported

1 KB/sec

8 kHz/sec

1

N/A

 

 

 

When modifying the advertised audio codecs, the choices are G.711 mu-law, G.711 a-law, G.722, G.729, and iLBC. In addition, you also indicate an order of preference for the chosen codecs.

 

For SCCP integrations, the order of the audio codecs is not important because Cisco Unified CM negotiates the audio codec based on the location of the port and the device in the negotiated call.

 

However, for SIP integrations the order of the audio codecs is important. If one audio codec is preferred over another audio codec, Connection will advertise that it supports both audio codecs but will prefer to use the one specified over the other.

 

 

For calls, Cisco Unity Connection advertises the audio format (or codec) that is preferred for the media stream with the phone system. You should consider the following when setting the audio format:-

 

When Connection advertises a different audio format than the one used by the phone system, the phone system transcodes the media stream.

 

Connection should use the same audio format for the media stream that the phone system uses for the following reasons:-

 

To reduce the need for transcoding the media stream from one audio format to another.

To minimize the performance impact on the Connection server and on the phone system.

To preserve the audio quality of calls.

 

How to change the Audio Format for calls

 

Step 1 In Cisco Unity Connection Administration, expand Telephony Integrations, then select Port Group.

 

Step 2 On the Search Port Groups page, select the port group that belongs to the phone system integration for which you want to change the audio format of the media stream.

 

Step 3 On the Port Group Basics page, on the Edit menu, select Codec Advertising.

 

Step 4 On the Edit Codec Advertising page, select the Up and Down arrows to change the order of the codecs or to move codecs between the Advertised Codec box and the Unadvertised Codecs box.

 

  • If only one codec is in the Advertised Codecs box, Cisco Unity Connection sends the media stream in that audio format. The phone system transcodes if it does not use this audio format.

 

  • If two or more codecs are in the Advertised Codecs box, Connection advertises its preference for the first codec in the list but sends the media stream in the audio format from the list that the phone system selects.

 

Step 5 Select Save.

 

Step 6 (All integrations except SCCP) If you want to change the packet size that is used by the advertised codecs, on the Port Group Basics page, under Advertised Codec Settings, select the applicable packet setting for each codec in the Packet Size list, and select Save.

 

Step 7 On the Port Group menu, select Search Port Groups.

 

Step 8 Repeat step 2 through step 7 for all remaining port groups that belong to the phone system integration for which you want to change the audio format of the media stream.

 

How to change the Audio Format for recordings

 

 

Typically, you configure Cisco Unity Connection to use the same audio format (or codec) for recording a message that the playback device uses. For example, if users listen to messages primarily on a phone system extension, you should configure Connection to record messages in the same audio format that the phone system uses. If users listen to messages on Personal Digital Assistants (PDAs), however, you should configure Connection to record messages in the audio format that the PDAs use (such as GSM 6.10).

 

Consider the following when setting the audio format for recording messages:-

 

1) Setting the audio format for recordings affects all messages, greetings, and names systemwide for all users.

 

2)The audio format that you choose affects only recordings made by phone, either by using the TUI or by using the Media Master and TRAP. Recordings made by using the Media Master and a microphone are always stored in G.711 mu-law.

 

3)Minimizing the number of different audio formats in use by Connection for recording and playing recorded messages, greetings, and names reduces transcoding between audio formats that Connection must perform, and thus reduces the effect on the performance of the Connection server.

 

4)When a message, greeting, or name is recorded in a lower quality audio format and later transcoded to a higher quality audio format during playback, the sound quality is not improved. Usually, the sound quality of a recording suffers during transcoding, especially when the sampling rate is changed.

 

For example, sound quality suffers when messages that are recorded in the G.729a audio format are played on devices that use the G.711 Mu-Law audio format. However, sound quality is preserved when messages that are recorded in the G.711 Mu-Law audio format are played on devices that use the same audio format.

 

5)Changing the audio format for recordings affects only messages, greetings, and names that are recorded after the setting is changed. Existing messages, greetings, and names that were recorded in a different audio format are not affected by the new setting.

 

To Change the Audio Format for Recording Messages By Using the Phone

 

Step 1 In Cisco Unity Connection Administration, expand System Settings, then select General Configuration.

 

Step 2 On the Edit General Configuration page, in the Recording Format list, select the applicable setting.

 

Note:- If the playback device uses a different audio format, Connection must transcode the messages, greetings, and names into the applicable audio

format or the playback device is not able to play them.

 

 

Step 3 Select Save.

 

Problem with the Volume of Recordings

 

Verify the audio level at each hardware point in the network by obtaining a sniffer capture at each point.

 

  • If the audio level from the sniffer capture at one point is too soft or too loud, the cause may be the configuration of the hardware (such as routers, gateways, transcoders) at that point. Check the automatic gain control (AGC) settings for the applicable hardware.

 

  • If the audio level from the sniffer capture at all points is too loud or too soft, change the volume as per below:-

 

Step 1 In Cisco Unity Connection Administration, expand System Settings, then select General Configuration.

 

Step 2 On the Edit General Configuration page, in the Automatic Gain Control (AGC) Target Decibels field, enter the applicable number.

 

Note:- AGC decibel levels are set in negative numbers. For example, -26 db is louder than -45 db.

 

Step 3 Select Save.

 

  • Disable automatic gain control (AGC) for Connection so that Connection does not automatically adjust the volume of recordings.

 

Step 1 In Cisco Unity Connection Administration, expand Telephony Integrations, then select Port Group.

 

Step 2 On the Search Port Groups page, select the name of the applicable port group.

 

 

Step 3 On the Port Group Basics page, on the Edit menu, select Advanced Settings.

 

Step 4 On the Edit Advanced Settings page, under Automatic Gain Control (AGC) Settings, uncheck the Enable AGC check box.

 

 

Step 5 Select Save.

 

  • If the recordings do not have any sound, confirm that the advertised codec settings are correct.

 

Step 1 In Cisco Unity Connection Administration, expand Telephony Integrations, then select Port Group.

 

Step 2 On the Search Port Groups page, select the name of the applicable port group.

 

Step 3 On the Port Group Basics page, under Advertised Codec Settings, determine whether the list of codecs is correct.

 

Step 4 If the list is correct, skip to step 8. Otherwise, select Change Advertising.

 

Step 5 Select the Up and Down arrows to change the order of the codecs or to move codecs between the Advertised Codec box and Unadvertised Codecs box.

 

  • If only one codec is in the Advertised Codecs box, Connection sends the audio stream in that audio format. If the phone system does not use this audio format, the phone system drops the call.

 

  • If two or more codecs are in the Advertised Codecs box, Connection advertises its preference for the first codec in the list but sends the audio stream in the audio format from the list that the phone system selects.

 

Step 6 Select Save.

 

Step 7 On the Edit menu, select Port Group Basics.

 

Step 8 On the Search Port Groups page, if you want to change the packet size that is used by the advertised codecs, under Advertised Codec Settings,select the applicable packet setting for each codec and select Save.

 

Refer CSCto20579 for garbled audio issue

 

Related Links

 

Troubleshooting Cisco Unity Conenction Wav file issues

Audio Quality Issues

Playback and recording codecs

 

 

 

 

Tr

Version history
Revision #:
2 of 2
Last update:
‎08-28-2017 12:13 AM
Updated by:
 
Contributors