Guest

Voice Quality

Identify, Supersede, and Maintain Compatible DSP Firmware Version Levels on C5510 DSPs

Document ID: 109469

Updated: Feb 23, 2009

   Print

Introduction

This document shows you how to determine voice Digital Signal Processor (DSP) firmware (DSPware) version levels resident on an IOS Voice GateWay (VGW), how to determine if you are using a compatible DSPware with the IOS binary, and how to supersede the default bundled DSPware if necessary and if directed by the Cisco Systems Technical Assistance Center (TAC).

Prerequisites

Requirements

Readers of this document should have basic knowledge of Cisco Systems IOS voice gateways, and experience operating and administering them.

This document assumes that the reader already has an operational voice router configuration, and that both inbound and outbound call scenarios function as expected for basic TDM-to-IP voice calls. This document assumes that the VGW has any combination of BRI, PRI, analog or digital E&M, analog or digital FXO, analog or digital FXS, analog CAMA, and analog DID voice-ports installed on voice Network Modules which utilize Texas Instruments (TI) C5510 DSP technology.

Components Used

Cisco IOS® Software Release 12.3(11)T and later support the DSPware superseding features that this document discusses. The follow-up feature, which automatically identifies to users when a non-default DSPware has been installed and is active, is introduced in IOS 12.4(15)T and later. The document mentions specific Cisco IOS Software releases only as necessary to clarify the discussion point.

Voice router hardware with support for C5510 DSPs include:

  • Cisco 1861, 2600XM, 2691, 2800, 3640, 3660, 3700, 3800, IAD2430, VG202, VG204, VG224, AS5350XM/AS5400XM with AS5X-FC, VGD 1T3 with VGD-FC, and UC500 platform families

  • Analog FXO, FXS, and DID voice cards with support on these platforms, using TI C5510 DSP technology – NM-HD-1V, NM-HD-2V, NM-HD-2VE, EVM-HD-8FXS/DID, EM-HDA-8FXS, EM-HDA-3FXS/4FXO, EM-HDA-6FXO, VIC2-2FXO, VIC2-4FXO, VIC2-2FXS, VIC-4FXS/DID, VIC2-2DID, VIC3-2FXS/DID, VIC3-2FXS-E/DID, VIC3-4FXS/DID, VIC3-2E/M, EM3-HDA-8FXS/DID

  • Digital FXO, FXS, BRI, and PRI voice cards with support on these platforms, using TI C5510 DSP technology – NM-HDV2, NM-HDV2-1T1E1, NM-HDV2-2T1E1, VWIC-1MFT-1T1, VWIC-1MFT-E1, VWIC-2MFT-T1, VWIC-2MFT-E1, VWIC-2MFT-T1-DI, VWIC-2MFT-E1-DI, VWIC2-1MFT-T1/E1, VWIC2-2MFT-T1/E1, VIC2-2BRI-NT/TE, EM-4BRI-NT/TE

  • C5510 DSP card products – PVDM2-8, PVDM2-16, PVDM2-32, PVDM2-48, PVDM2-64, AS5X-PVDM2-64, VGD-PVDM2-64

  • Where the document names specific hardware parts, the applicable software versions are those which support the named hardware. Refer to these documents for hardware and software compatibility matrices for voice products:

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.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

Problem Description

VoIP network technology employs the use of Digitial Signal Processors (DSPs) to process voice samples and perform the conversion of audio between the continuous time domain and the digital IP domain. On Cisco IOS, voice platforms DSPs from the Integrated Circuit (IC) manufacturer Texas Instruments (TI) have traditionally been used in model flavors of the C542, C549, C5421, and most recently the C5510 variety.

DSPware is software which is bundled with IOS and contains the instruction set which describes and drives the ability of the DSPs to encode and decode voice samples using any of a number of standards-based voice codecs, perform transcoding and conferencing functions, and provide signaling resources to analog and Channel Associated Signaling (CAS) voice-ports so that line events can be detected and acknowledged. At boot-time the DSPware is downloaded from IOS to the DSPs, which are then initialized and prepared for operation based on the instruction set contained in the firmware.

In the IOS release process there is the concept of the major release’s stability release train and the T-train releases where new features are introduced to users. For major release IOS 12.4, the stability release train is 12.4 mainline, sometimes denoted as 12.4M; whereas the T-train releases are 12.4(2)T, 12.4(4)T, 12.4(6)T, 12.4(9)T, 12.4(11)T, 12.4(15)T, 12.4(20)T, and currently 12.4(22)T.

The aim of 12.4M is to provide customers with a stability IOS train where the difference between minor releases, such as the incremental change from 12.4(21) to 12.4(23), consists only of defect fixes but no new features. Customers can then upgrade IOS 12.4M versions and expect no new feature nuances in terms of capabilities or command syntax, and no new instabilities due to newly-introduced features. The IOS train should be incrementally becoming more stable over time.

T-train releases are the IOS versions, however, where in addition to the incremental defect fixes, new features are periodically introduced for customers to deploy. While these IOS trains are tested as rigorously as possible prior to shipping to customers, sometimes instabilities are found by customers. As such, the stability release train is sometimes considered to be more reliable than T-train releases. Users are encouraged to use mainline IOS releases unless a new feature introduced by a specific T-train release is needed. More information about the IOS product and release train management can be found on the Cisco Systems website here.

DSPware can follow a similar model of stability releases and new-feature releases. For many voice features the IOS and the DSPware work in tandem to accomplish the desired effect, and the DSPware must support functions requested of it by IOS, and vice-versa. As no new IOS features are introduced between mainline releases and only contain defect fixes, the DSPware train packaged with mainline releases also follows the same strategy and only includes incremental fixes but no new functionality. For example, for the 12.4M train the corresponding DSPware train is 4.4.x, with IOS 12.4(21) being bundled with DSPware 4.4.29 and IOS 12.4(23) being bundled with DSPware 4.4.30. On the other hand, special DSPware trains are created and maintained to support IOS T-train releases and their new functionality. For example, IOS 12.4(15)T8 is bundled with DSPware 9.4.7 and IOS 12.4(22)T is bundled with DSPware 23.8.0.

This table lists typical DSPware families which can be expected to be present in IOS release trains from 12.3(11)T onward, for mainline and T-train releases:

IOS Train C5510 DSPware Family
12.3(11)T to 12.3(11)T12 4.4.3 to 4.4.7(08)
12.3(14)T to 12.3(14)T7 4.4.7 to 4.4.7(08)
12.4(1) to 12.4(23) 4.4.8(01) to 4.4.30
12.4(2)T to 12.4(2)T6 5.4.0 to 5.4.3
12.4(4)T to 12.4(4)T8 6.3.1 to 6.3.6
12.4(6)T to 12.4(6)T11 7.4.1 to 7.4.6
12.4(9)T to 12.4(9)T7 8.4.0 to 8.4.7
12.4(11)T to 12.4(11)T4 9.2.1 to 9.4.2
12.4(15)T to 12.4(15)T8 9.4.0 to 9.4.7
12.4(20)T to 12.4(20)T2 23.6.1 to 23.8.0
12.4(22)T 23.8.0
12.4(24)T 24.3.0

IOS Limited Deployment release trains with names such as 12.4(15)XY and 12.4(22)YA are special trains meant for early adopter customers who wish to evaluate new IOS features before they are collapsed back into the next regular T-train release. In general one can assume that if the minor number of the LD release and a T-train release is the same, then the LD release is based off the T-train release. For example, IOS 12.4(11)XW is based off of 12.4(11)T and has at least the same base features and defect fixes as 12.4(11)T. One should not make the assumption however, that the DSPware bundled with the LD release is the same as the parent T-train release. In this case 12.4(11)XW is bundled with DSPware 21.4.0 while 12.4(11)T uses 9.2.1. If you supersede the default DSPware in 12.4(11)XW you need something from the 21.4.x family or later.

Traditionally, Cisco IOS voice products have considered the DSPware as an integral part of the IOS release binary, going hand-in-hand with each other and requiring the user to upgrade IOS to achieve a certain version of DSPware in the instance that a product defect has been diagnosed and found to be resolved via a later release of DSPware. Certain early products such as the original Cisco AS5300 platform did allow a separate DSPware software bundle to be downloaded to the chassis’ Voice Feature Cards and unpacked for use.

However, for other modular platforms it was always necessary to obtain IOS Engineering Special binaries from Cisco Development Engineering if a specific IOS version were to be used and needed to be packaged with non-default DSPware. Such Engineering Special binaries could only be obtained by first opening up a Cisco TAC Service Request. This presented some logistical inconveniences in both support of and access to the software.

Starting with IOS release 12.3(11)T, the flexibility to mix-and-match IOS version and DSPware for C5510 DSPs was introduced. The feature allows a user to supersede the default DSPware bundled with an IOS binary by placing a suitably-named DSPware binary on the flash: or slot0: file system of the IOS VGW. By permitting this functionality, a customer exposed to a DSPware defect has the option of either upgrading the entire IOS binary to an appropriate release containing the DSPware with the fix, or staying with the current IOS release version and superseding the bundled DSPware with one carrying the DSPware fix they require. Some customers approve a certain IOS version for their entire production network and must undergo long certification processes in doing so. Therefore, the ability to continue to use the same IOS version but change the DSPware is very welcome.

Problems with IOS voice installs might occur if users supersede their IOS binary’s default DSPware and do not take care to ensure that the IOS and the DSPware are compatible with one another. For example, consider the situation where a user originally uses the IOS 12.4(3g) release of IOS with DSPware 4.4.20 and encounters a defect which requires a DSPware fix found in 4.4.27. A TAC Service Request is opened and DSPware 4.4.27 is provided to the customer to use.

The customer goes through the procedure to set up his VGW to use this new DSPware and all is well. From this point forward if the customer changes IOS versions and forgets that a non-default DSPware is resident on the VGW, then DSPware 4.4.27 will continue to supersede the IOS binary’s bundled DSPware and problems can be experienced. This is especially true if the user upgrades to a T-train release of IOS such as 12.4(15)T8, which as previously discussed possibly has new IOS voice features which require a corresponding DSPware release family which can support the new function calls and features which are called for. Because it is from a release train which is older and does not understand the new function calls, DSPware 4.4.27 might simply fail to process the voice call request and the call will fail.

The possible software combinations and interactions are:

IOS Train DSPware Train Predicted Interaction
IOS mainline train DSPware train appropriate for IOS mainline train No compatibility problems expected. This is the correct combination of IOS and DSPware.
IOS mainline train DSPware train appropriate for IOS T-Train No compatibility problems expected. The DSPware should support all older function calls of the IOS mainline train.
IOS T-train DSPware train appropriate for IOS mainline train There may be unexpected call failure scenarios. The DSPware will not support all the new features present in the IOS.
IOS T-train DSPware train appropriate for IOS T-Train Calls should progress as expected so long as the DSPware is from the same release train or later than what the IOS version is bundled with by default.

In order to remind users that a non-default DSPware can be installed on the VGW, two enhancements were made to IOS to provide clear console and telnet session messages when non-default DSPware is resident and active. Given the warning messages users are able to determine if the use of the non-default DSPware is intentional or not and respond appropriately. The later sections of this document describe how to determine which DSPware versions are installed, how to supersede the default DSPware bundled with IOS, and what types of messages can be observed when DSPware has been superseded.

Determining the DSPware Version Currently Installed

Determination of the DSPware version currently in use can be found in the output of the various show voice dsp EXEC commands. In particular the show voice dsp voice EXEC command always provides the desired information about the type of DSP architecture installed and the current active DSPware version. However, there are other options which can be attempted to provide less verbose output.

This table indicates which show voice dsp commands can be attempted in increasing order of output verbosity:

Command Variant Situations Where Appropriate Level of Verbosity
show voice dsp Voice routers with at least some analog or Channel Associated Signaling (CAS) voice-ports. PRI and BRI voice-ports may also be present, as well as any transcoding services. Only shows DSP channels currently in active use for voice media, and signaling channels assigned to analog and CAS voice-ports. This is basically a combination of show voice dsp active and show voice dsp signaling.
show voice dsp voice* *preferred, works in all situations Voice routers with analog, CAS, PRI, or BRI voice-ports, as well as any transcoding services. Shows all DSP voice/media channel usage for all installed DSPs whether an active call is present on the DSP channel or not. No signaling channel information is presented. This command output can be appreciably more verbose than show voice dsp depending on how many DSPs are installed.
show voice dsp detailed Voice routers with analog, CAS, PRI, or BRI voice-ports, as well as any transcoding services. Shows a combination of show voice dsp voice and show voice dsp signaling. Depending on how many analog and CAS voice-ports are present this command output can be appreciably more verbose than show voice dsp voice alone.

This is sample output from the show voice dsp command on a Cisco 3845 VGW that runs IOS 12.4(15)T8 and default DSPware 9.4.7, installed with BRI, PRI, and analog FXS and FXO voice-ports:

Cisco3845#show voice dsp
 
DSP  DSP                DSPWARE CURR  BOOT                         PAK     TX/RX
TYPE NUM CH CODEC       VERSION STATE STATE   RST AI VOICEPORT TS ABORT  PACK COUNT
==== === == ======== ========== ===== ======= === == ========= == ===== ============
 
 
----------------------------FLEX VOICE CARD 0 ------------------------------
                           *DSP VOICE CHANNELS*
 
CURR STATE : (busy)inuse (b-out)busy out (bpend)busyout pending
LEGEND     : (bad)bad    (shut)shutdown  (dpend)download pending
 
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
                           *DSP SIGNALING CHANNELS*
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
C5510 003 01 {flex}         9.4.7 alloc idle      0  0 2/0/0     02    0         91/0
C5510 003 02 {flex}         9.4.7 alloc idle      0  0 2/0/1     02    0         91/0
C5510 003 03 {flex}         9.4.7 alloc idle      0  0 2/0/2     06    0         90/0
C5510 003 04 {flex}         9.4.7 alloc idle      0  0 2/0/3     06    0         91/0
C5510 003 05 {flex}         9.4.7 alloc idle      0  0 2/0/4     10    0         90/0
C5510 003 06 {flex}         9.4.7 alloc idle      0  0 2/0/5     10    0         91/0
C5510 003 07 {flex}         9.4.7 alloc idle      0  0 2/0/6     14    0         90/0
C5510 003 08 {flex}         9.4.7 alloc idle      0  0 2/0/7     14    0         91/0
C5510 003 09 {flex}         9.4.7 alloc idle      0  0 2/0/8     18    0         13/1
C5510 003 10 {flex}         9.4.7 alloc idle      0  0 2/0/9     18    0         13/1
C5510 003 11 {flex}         9.4.7 alloc idle      0  0 2/0/10    22    0         13/1
C5510 003 12 {flex}         9.4.7 alloc idle      0  0 2/0/11    22    0         13/1
C5510 003 13 {flex}         9.4.7 alloc idle      0  0 2/0/12    26    0         13/1
C5510 003 14 {flex}         9.4.7 alloc idle      0  0 2/0/13    26    0         13/1
C5510 003 15 {flex}         9.4.7 alloc idle      0  0 2/0/14    30    0         13/1
C5510 003 16 {flex}         9.4.7 alloc idle      0  0 2/0/15    30    0         13/1
------------------------END OF FLEX VOICE CARD 0 ----------------------------
 
 
----------------------------FLEX VOICE CARD 4 ------------------------------
                           *DSP VOICE CHANNELS*
 
CURR STATE : (busy)inuse (b-out)busy out (bpend)busyout pending
LEGEND     : (bad)bad    (shut)shutdown  (dpend)download pending
 
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
C5510 001 01 g729ar8        9.4.7 busy  idle      0  0 4/0/3     00    0       175/12
C5510 001 02 g729ar8        9.4.7 busy  idle      0  0 4/0/1     04    0       175/12
C5510 001 03 g729ar8        9.4.7 busy  idle      0  0 4/0/2     01    0       175/12
C5510 001 04 g729ar8        9.4.7 busy  idle      0  0 4/0/0     05    0       226/12
                           *DSP SIGNALING CHANNELS*
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
C5510 001 01 {flex}         9.4.7 alloc idle      0  0 4/0/3     02    0         15/0
C5510 001 02 {flex}         9.4.7 alloc idle      0  0 4/0/2     02    0         15/0
C5510 001 03 {flex}         9.4.7 alloc idle      0  0 4/0/1     06    0         15/0
C5510 001 04 {flex}         9.4.7 alloc idle      0  0 4/0/0     06    0         15/0
------------------------END OF FLEX VOICE CARD 4 ----------------------------
 
Cisco3845#

In this output, you can make note of this useful information:

Output Header Explanation
FLEX VOICE CARD N On an IOS modular voice router each Network Module (NM) slot can support C5510 DSPs. For example, DSPs installed on the mainboard of a Cisco 3845 are said to be installed in Slot 0 and hence are reported as “Flex Voice Card 0”. A NM in Slot 4 with C5510 DSPs would be reported as “Flex Voice Card 4”.
*DSP VOICE CHANNELS* Voice DSPs can be used both for media and signaling channel resources. Media channels support the actual codec used for a live call. Signaling channels are used by analog and CAS voice-ports to monitor for and signal line events such as offhook and onhook. The *DSP Voice Channels* section tabulates DSP channels being used for media on Slot N.
*DSP SIGNALING CHANNELS* Voice DSPs can be used both for media and signaling channel resources. Media channels support the actual codec used for a live call. Signaling channels are used by analog and CAS voice-ports to monitor for and signal line events such as offhook and onhook. The *DSP Signaling Channels* section tabulates DSP channels being used for signaling on Slot N.
DSP TYPE DSP architecture type. This can read C542, C549, C5421, or C5510.
DSP NUM Unique identifier for the DSP in the pool of DSPs installed in Slot N.
CH Each DSP has logical channels capable of supporting media or signaling, up to 16 per C5510 DSP. This field uniquely identifies the channel on each DSP.
CODEC Which codec is currently supported by the DSP media channel.
DSPWARE VERSION Our value of interest, and should be consistent with the IOS version being used.
CURR STATE Current state of the DSP.
BOOT STATE Boot state of the DSP.
RST Number of DSP ReSeTs counted.
AI Number of DSP Alarm Indicators counted.
VOICEPORT The voice port identifier associated with the DSP media or signaling channel.
TS For digital T1/E1 CAS or PRI voice-ports, and BRI voice-ports, the TimeSlot involved.
PAK ABRT Count of ABoRTed voice packets.
TX/RX PAK COUNT Count of transmitted and received voice packets.

You can clearly see in the output above that DSPware 9.4.7 is used.

Superseding the Default DSPware

If the determination has been made by the Cisco Systems Technical Assistance Center (TAC) that the default DSPware must be superseded, the procedure to do so involves the procurement of an appropriate DSPware binary from TAC which must then be placed on the IOS VGW’s flash: file system with an appropriate filename. The VGW typically must then be reloaded to have the new DSPware be downloaded and installed on all resident C5510 DSPs. It is also possible to place the DSPware binary on another local file system such as slot0: if desired. The IOS looks first on flash: for appropriately-named files, then next in slot0:. The naming of the DSPware binary is important. It is case-sensitive and must correspond to the device which has the C5510 DSPs installed:

Product Required DSPware Filename
NM-HD-1V, NM-HD-2V, NM-HD-2VE guido.dsp
NM-HDV2, NM-HDV2-1T1E1, NM-HDV2-2T1E1 hdv2.dsp
Cisco 1861, 2801, 2811, 2821, 2851, 3825, 3845, IAD2430, VG202, VG204, VG224, UC500 dsp_c5510_flex.rbf
AS5350XM and AS5400XM with AS5X-FC VGD 1T3 with VGD-FC Filename can be set as desired since IOS can be configured to load DSPware directly by specified name.

On IOS routers where more than one of these types of Network Modules might be resident, it is necessary to place multiple copies of the DSPware binary on flash:, each appropriately named. This ensures that all DSPs on the router are upgraded to the new DSPware. The next example elaborates on this nuance. Consider the Cisco 3845 VGW, which happens to have C5510 DSPs on the mainboard (Slot 0) and a NM-HD-2V in Slot 4. In order to ensure that the default IOS DSPware is superseded for all the C5510 DSPs, and also to accommodate the possibility of adding a NM-HDV2 unit later, the flash: file system has been installed with three copies of the same DSPware binary:

Cisco3845#show flash:
-#- --length-- -----date/time------ path
1     40551024 Jan 12 2009 06:43:40 -05:00 c3845-ipvoice_ivs-mz.124-15.T8
 
23318528 bytes available (40554496 bytes used)
 
Cisco3845#copy tftp: flash:
Address or name of remote host []? 172.18.108.26
Source filename []? dsp_c5510_flex.rbf
Destination filename [dsp_c5510_flex.rbf]?
Accessing tftp://172.18.108.26/dsp_c5510_flex.rbf...
Loading dsp_c5510_flex.rbf from 172.18.108.26 (via GigabitEthernet0/0): !!!
[OK - 617212 bytes]
 
617212 bytes copied in 1.388 secs (444677 bytes/sec)
Cisco3845#copy tftp: flash:
Address or name of remote host [172.18.108.26]? 172.18.108.26
Source filename [dsp_c5510_flex.rbf]? dsp_c5510_flex.rbf
Destination filename [dsp_c5510_flex.rbf]? guido.dsp
Accessing tftp://172.18.108.26/dsp_c5510_flex.rbf...
Loading dsp_c5510_flex.rbf from 172.18.108.26 (via GigabitEthernet0/0): !!!
[OK - 617212 bytes]
 
617212 bytes copied in 1.380 secs (447255 bytes/sec)
Cisco3845#copy tftp: flash:
Address or name of remote host [172.18.108.26]? 172.18.108.26
Source filename [dsp_c5510_flex.rbf]? dsp_c5510_flex.rbf
Destination filename [dsp_c5510_flex.rbf]? hdv2.dsp
Accessing tftp://172.18.108.26/dsp_c5510_flex.rbf...
Loading dsp_c5510_flex.rbf from 172.18.108.26 (via GigabitEthernet0/0): !!!
[OK - 617212 bytes]
 
617212 bytes copied in 1.452 secs (425077 bytes/sec)
Cisco3845#
Cisco3845#show flash:
-#- --length-- -----date/time------ path
1     40551024 Jan 12 2009 06:43:40 -05:00 c3845-ipvoice_ivs-mz.124-15.T8
2       617212 Jan 13 2009 10:52:50 -05:00 dsp_c5510_flex.rbf
3       617212 Jan 13 2009 10:53:16 -05:00 guido.dsp
4       617212 Jan 13 2009 10:53:48 -05:00 hdv2.dsp
 
21463040 bytes available (42409984 bytes used)
 
Cisco3845#

After a reload of the VGW an inspection of the show voice dsp command output demonstrates that the default DSPware has been superseded:

Cisco3845#show voice dsp
 
DSP  DSP                DSPWARE CURR  BOOT                         PAK     TX/RX
TYPE NUM CH CODEC       VERSION STATE STATE   RST AI VOICEPORT TS ABORT  PACK COUNT
==== === == ======== ========== ===== ======= === == ========= == ===== ============
 
Warning! DSPs 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 in slot 0 are using non-default firmware from device flash:
This is not recommended, the IOS default version is 9.4.7
 
----------------------------FLEX VOICE CARD 0 ------------------------------
                           *DSP VOICE CHANNELS*
 
CURR STATE : (busy)inuse (b-out)busy out (bpend)busyout pending
LEGEND     : (bad)bad    (shut)shutdown  (dpend)download pending
 
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
                           *DSP SIGNALING CHANNELS*
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
C5510 003 01 {flex}        4.4.30 alloc idle      0  0 2/0/0     02    0         91/0
C5510 003 02 {flex}        4.4.30 alloc idle      0  0 2/0/1     02    0         91/0
C5510 003 03 {flex}        4.4.30 alloc idle      0  0 2/0/2     06    0         90/0
C5510 003 04 {flex}        4.4.30 alloc idle      0  0 2/0/3     06    0         91/0
C5510 003 05 {flex}        4.4.30 alloc idle      0  0 2/0/4     10    0         90/0
C5510 003 06 {flex}        4.4.30 alloc idle      0  0 2/0/5     10    0         90/0
C5510 003 07 {flex}        4.4.30 alloc idle      0  0 2/0/6     14    0         90/0
C5510 003 08 {flex}        4.4.30 alloc idle      0  0 2/0/7     14    0         90/0
C5510 003 09 {flex}        4.4.30 alloc idle      0  0 2/0/8     18    0         13/1
C5510 003 10 {flex}        4.4.30 alloc idle      0  0 2/0/9     18    0         13/1
C5510 003 11 {flex}        4.4.30 alloc idle      0  0 2/0/10    22    0         13/1
C5510 003 12 {flex}        4.4.30 alloc idle      0  0 2/0/11    22    0         13/1
C5510 003 13 {flex}        4.4.30 alloc idle      0  0 2/0/12    26    0         13/1
C5510 003 14 {flex}        4.4.30 alloc idle      0  0 2/0/13    26    0         13/1
C5510 003 15 {flex}        4.4.30 alloc idle      0  0 2/0/14    30    0         13/1
C5510 003 16 {flex}        4.4.30 alloc idle      0  0 2/0/15    30    0         13/1
------------------------END OF FLEX VOICE CARD 0 ----------------------------
 
Warning! DSPs 1 in slot 4 are using non-default firmware from device flash:
This is not recommended, the IOS default version is 9.4.7
 
----------------------------FLEX VOICE CARD 4 ------------------------------
                           *DSP VOICE CHANNELS*
 
CURR STATE : (busy)inuse (b-out)busy out (bpend)busyout pending
LEGEND     : (bad)bad    (shut)shutdown  (dpend)download pending
 
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
                           *DSP SIGNALING CHANNELS*
DSP   DSP              DSPWARE CURR  BOOT                         PAK   TX/RX
TYPE  NUM CH CODEC     VERSION STATE STATE   RST AI VOICEPORT TS ABRT PACK COUNT
===== === == ========= ======= ===== ======= === == ========= == ==== ============
C5510 001 01 {flex}        4.4.30 alloc idle      0  0 4/0/3     02    0         15/0
C5510 001 02 {flex}        4.4.30 alloc idle      0  0 4/0/2     02    0         15/0
C5510 001 03 {flex}        4.4.30 alloc idle      0  0 4/0/1     06    0         15/0
C5510 001 04 {flex}        4.4.30 alloc idle      0  0 4/0/0     06    0         15/0
------------------------END OF FLEX VOICE CARD 4 ----------------------------
 
Cisco3845#

Managing DSPware on the VGD 1T3 with VGD-FC and the AS5350XM/AS5400XM with AS5X-FC

The procedure for superseding the default DSPware on the VGD 1T3 with VGD-FC and the AS5350XM/AS5400XM with the AS5X-FC platforms is slightly different than that described earlier. On these platforms, there is a formal running-config command which can be set and saved to the startup-config to specify the location of non-default DSPware to load. The filename can be anything the user desires to name the DSPware binary, and it is not strictly necessary to reload the VGW to have the new DSPware become active. It is possible to instruct the VGW to upgrade the DSPware immediately or to wait until the router is reloaded.

Complete instructions for the AS5350XM/AS5400XM with AS5X-FC and AS5X-PVDM2-64 DSPs are detailed in Managing and Troubleshooting the Voice Feature Card. Complete instructions for the VGD 1T3 with VGD-FC and VGD-PVDM2-64 DSPs are detailed in Configuring and Managing the High-Density Packet Voice Feature Card. This is an example of an AS5400XM with a AS5X-FC populated with AS5X-PVDM2-64 DSP cards in Slot 3:

AS5400XM#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
AS5400XM(config)#voice dsp 3
AS5400XM(config-voicedsp)#?
Voice-dsp configuration commands:
  busyout   Busyout DSP
  default   Set a command to its defaults
  exit      Exit from DSP Configuration Mode
  firmware  Firmware used for the DSP
  help      Description of the interactive help system
  no        Negate a command or set its defaults
  shutdown  Take the DSP out of Service
 
AS5400XM(config-voicedsp)#firmware ?
  location  Firmware file location
  upgrade   Firmware upgrade configuration
 
AS5400XM(config-voicedsp)#firmware location ?
  flash:  Specify a firmware file from flash: File System
  <cr>
 
AS5400XM(config-voicedsp)#firmware location flash:dsp_c5510_flex.rbf ?
  <cr>
 
AS5400XM(config-voicedsp)#firmware location flash:dsp_c5510_flex.rbf 
AS5400XM(config-voicedsp)#
000116: Jan 15 18:28:35.747 EST: %DSPRM-5-UPDOWN: DSP 1 in slot 3, changed state to up
000117: Jan 15 18:28:35.747 EST: Warning! DSP 1 in slot 3 is running non-default firmware 4.4.30
000118: Jan 15 18:28:35.747 EST: This is not recommended. Default version is 23.8.1
000119: Jan 15 18:28:38.695 EST: %DSPRM-5-UPDOWN: DSP 3 in slot 3, changed state to up
000120: Jan 15 18:28:38.695 EST: Warning! DSP 3 in slot 3 is running non-default firmware 4.4.30
000121: Jan 15 18:28:38.695 EST: This is not recommended. Default version is 23.8.1
000122: Jan 15 18:28:43.791 EST: %DSPRM-5-UPDOWN: DSP 5 in slot 3, changed state to up
000123: Jan 15 18:28:43.791 EST: Warning! DSP 5 in slot 3 is running non-default firmware 4.4.30
000124: Jan 15 18:28:43.791 EST: This is not recommended. Default version is 23.8.1
<SNIP>
000179: Jan 15 18:29:56.584 EST: %DSPRM-5-UPDOWN: DSP 19 in slot 3, changed state to up
000180: Jan 15 18:29:56.584 EST: Warning! DSP 19 in slot 3 is running non-default firmware 4.4.30
000181: Jan 15 18:29:56.584 EST: This is not recommended. Default version is 23.8.1
000182: Jan 15 18:30:03.940 EST: %DSPRM-5-UPDOWN: DSP 21 in slot 3, changed state to up
000183: Jan 15 18:30:03.940 EST: Warning! DSP 21 in slot 3 is running non-default firmware 4.4.30
000184: Jan 15 18:30:03.940 EST: This is not recommended. Default version is 23.8.1
000185: Jan 15 18:30:09.240 EST: %DSPRM-5-UPDOWN: DSP 23 in slot 3, changed state to up
000186: Jan 15 18:30:09.240 EST: Warning! DSP 23 in slot 3 is running non-default firmware 4.4.30
000187: Jan 15 18:30:09.240 EST: This is not recommended. Default version is 23.8.1
AS5400XM(config-voicedsp)#
AS5400XM(config-voicedsp)#firmware ?
  location  Firmware file location
  upgrade   Firmware upgrade configuration
 
AS5400XM(config-voicedsp)#firmware upgrade ?
  busyout  Start firmware upgrade immediately
  reboot   Delay firmware upgrade until reboot
 
AS5400XM(config-voicedsp)#firmware upgrade reboot ?
  <cr>
 
AS5400XM(config-voicedsp)#firmware upgrade reboot 
AS5400XM(config-voicedsp)#
AS5400XM(config-voicedsp)#do show running-config | section voice dsp 3
voice dsp 3/01 3/24
 firmware location flash:dsp_c5510_flex.rbf
 firmware upgrade reboot
AS5400XM(config-voicedsp)#

caution Caution: Note that in the example the DSPware is updated as soon as the firmware location command is configured, because the default upgrade option is to download the new DSPware and make it active immediately. The firmware upgrade reboot command should be entered first if the intent is to wait until all active voice calls have cleared before the DSPs on the VGW are reset.

Identifying When Non-Default DSPware Is Installed

As previously discussed, care must be taken when using an IOS version with a non-default DSPware. If the IOS voice features being invoked are not supported by the DSPware unexpected and non-deterministic call failures can occur, and troubleshooting of the issue can take on paths which greatly delay the identification of the root issue. Users should be aware when a non-default DSPware is in use, so that this does not become a sudden and frustrating revelation hours into troubleshooting. Users can determine by inspection that non-default DSPware is installed and can make an educated appraisal, based on the Predicted Interaction table in the Problem Description section, of whether the choice of DSPware might lead to performance issues.

Identification of a non-default DSPware condition was initially performed only by inspection of the contents of flash: and slot0:, as well as the output of the show voice dsp command to determine the DSPWARE VERSION in use. Later IOS enhancements were implemented which automatically inform users when non-default DSPware is detected. The mechanisms of detection available are:

IOS Enhancement IOS Versions Detection Mechanism
Introduction of DSP Superseding Feature IOS 12.3(11)T onwards Visual inspection of the contents of flash: and slot0:, as well as the output of the show voice dsp command.
CSCse92174 (registered customers only) IOS should print warning message when non-default DSP firmware is used IOS 12.4(12) onwards in 12.4M train IOS 12.4(15)T onwards in 12.4T train Non-default DSPware warning messages displayed on console at VGW boot-time, as well as warning messages in the output of the show voice dsp command.
CSCsu21777 (registered customers only) non-default DSPware warning message should be printed in running-config IOS 12.4(15)T8, 12.4(20)T2, 12.4(22)T1, and 12.4(24)T onwards in 12.4T train Non-default DSPware warning messages displayed on console at VGW boot-time, warning messages in the output of the show voice dsp command, and also warning messages under appropriate voice-card N commands in the output of show running-config.

An example of the output of the show voice dsp command due to the enhancement of CSCse92174 (registered customers only) can be seen in the Superseding the Default DSPware section, where there is a warning message indicating that the default DSPware is 9.4.7. The enhancement of CSCsu21777 (registered customers only) built on the earlier enhancement by also having this warning message reported in the output of the show running-config command under each voice-card N command, where N is the chassis slot number where the voice DSPs are installed. The logic behind the warning appearing in the output of the show running-config and show voice dsp commands is to provide users as many opportunities as possible of noticing the message. As an example looking at the show running-config on our Cisco 3845 VGW, you see:

Cisco3845#show running-config | begin voice-card
voice-card 0
 ! Warning! DSPs 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 in slot 0 are using non-default firmware from device flash:
 ! This is not recommended, the IOS default version is 9.4.7
 no dspfarm
!
voice-card 4
 ! Warning! DSPs 1 in slot 4 are using non-default firmware from device flash:
 ! This is not recommended, the IOS default version is 9.4.7
 no dspfarm
!

When non-default DSPware is identified, make an educated appraisal based on the Predicted Interaction table in the Problem Description section, of whether the choice of DSPware might lead to performance issues. If so, the options are to either delete the DSPware binaries from flash: or slot0:, or to simply rename the files if the file system supports this function:

Cisco3845#show flash:
-#- --length-- -----date/time------ path
1     40551024 Jan 13 2009 10:14:02 -05:00 c3845-ipvoice_ivs-mz.124-15.T8
2       617212 Jan 13 2009 10:39:52 -05:00 dsp_c5510_flex.rbf
3       617212 Jan 13 2009 10:40:02 -05:00 guido.dsp
4       617212 Jan 13 2009 10:40:10 -05:00 hdv2.dsp
 
21463040 bytes available (42409984 bytes used)
 
Cisco3845#rename flash:dsp_c5510_flex.rbf flash:dsp_c5510_flex.rbf-backup
Destination filename [dsp_c5510_flex.rbf-backup]?
Cisco3845#rename flash:guido.dsp flash:guido.dsp-backup
Destination filename [guido.dsp-backup]?
Cisco3845#rename flash:hdv2.dsp flash:hdv2.dsp-backup
Destination filename [hdv2.dsp-backup]?
Cisco3845#
Cisco3845#show flash:
-#- --length-- -----date/time------ path
1     40551024 Jan 13 2009 10:14:02 -05:00 c3845-ipvoice_ivs-mz.124-15.T8
2       617212 Jan 13 2009 16:33:30 -05:00 dsp_c5510_flex.rbf-backup
3       617212 Jan 13 2009 16:33:46 -05:00 guido.dsp-backup
4       617212 Jan 13 2009 16:34:02 -05:00 hdv2.dsp-backup
 
21463040 bytes available (42409984 bytes used)
 
Cisco3845#

If the VGW is reloaded at this point, the C5510 DSPs uses the default 9.4.7 DSPware bundled with the IOS.

Contact Cisco Technical Support

If you have questions about this document and require further assistance, contact Cisco Technical Support using one of these methods:

Related Information

Updated: Feb 23, 2009
Document ID: 109469