Hopefully if your reading this it’s not because your experiencing issue with one or more of your DSP farms. Unfortunately for me that’s exactly why I felt the need to write this post. The interesting thing was the problem didn’t actually manifest itself until I began sharing ISDN PSTN gateway resources with another remote location that was experiencing major issue with their POTS lines. This may or may not have had anything to do with the DSP I started having, but the coincidence was strange to say the least.    

Host Port Interface

The Voice DSP control message logger feature provides improved debugging capabilities through IOS software and allows logging of control messages as they pass through the voice DSP firmware on the Host Port Interface or HPI. The logged messages can later be examined for diagnosis of voice problems.

There are two main types of HPI messages that flow through the HPI interface: control messages and data messages. Control messages carry control information between Cisco IOS software and the DSP. Data messages carry voice data.

The Voice DSP Contol Message Logger feature captures control messages sent between the platform-independent portions of Cisco IOS software and the DSP. The HPI subsystem that is in Cisco IOS software contains the platform-independent portion of Cisco IOS software. This feature addresses the sequence and contents of the control messages. The logged messages can be checked for parameters that might cause undesirable DSP behavior including the following.

Before we get started with configuration and monitoring using HPI, and DSP captures lets review setting up a DSP Farm within Call Manager and on the Router itself. If your not familiar with configuring Media Resources within Call Manager you can find them underneath the Menu Media Resources / Conference Bridge / Transcoder / Media Termination. 

CM DSP

After you have configured the Transcoding, Media Termination, and Conference Bridging within Call Manager you can move onto the actual DSP Farm configuration on the Router itself. One of the interesting things about the DSP Farm is the fact that it registers itself much the same way a SCCP Phone would register with Call Manager. I’m not going to go into the actual configuration of the DSP Farm on the Router itself, but you can checkout my post on DSP and the related Farm configuration.

The RMA Replacement

When this all started I was convinced that the problem had to be a hardware related either with the PVDM’s themselves or the Router itself. I opened a TAC case with Cisco and I eventually convinced them to send replacement PVDM’s along with the Router chassis.  

Now lets take a look at healthy DSP Farm with two 32 channel PVDM3 for a grand total of 64 channels.

R5#show voice dsp group all 
DSP groups on slot 0:
dsp 1:
 State: UP, firmware: 35.1.8
 Max signal/voice channel: 32/32
 Max credits: 480, Voice credits: 480, Video credits: 0
 num_of_sig_chnls_allocated: 29
 Transcoding channels allocated: 1
 Group: FLEX_GROUP_VOICE, complexity: FLEX
 Shared credits: 445, reserved credits: 0
 Signaling channels allocated: 29
 Voice channels allocated: 0
 Credits used (rounded-up): 0
 Group: FLEX_GROUP_XCODE, complexity: HIGH
 Shared credits: 0, reserved credits: 35
 Transcoding channels allocated: 0
 Credits used (rounded-up): 0
 Slot: 0
 Device idx: 0
 PVDM Slot: 0
 Dsp Type: SP2600 

dsp 2:
 State: UP, firmware: 35.1.8
 Max signal/voice channel: 32/32
 Max credits: 480, Voice credits: 480, Video credits: 0
 num_of_sig_chnls_allocated: 0
 Transcoding channels allocated: 9
 Group: FLEX_GROUP_VOICE, complexity: FLEX
 Shared credits: 75, reserved credits: 0
 Signaling channels allocated: 0
 Voice channels allocated: 0
 Credits used (rounded-up): 0
 Group: FLEX_GROUP_XCODE, complexity: HIGH
 Shared credits: 0, reserved credits: 309
 Transcoding channels allocated: 0
 Credits used (rounded-up): 0
 Group: FLEX_GROUP_CONF, complexity: CONFERENCE
 Shared credits: 0, reserved credits: 96
 Codec: CONF_G729, maximum participants: 8
 Sessions per dsp: 5
 Slot: 0 
 Device idx: 0
 PVDM Slot: 0
 Dsp Type: SP2600 
 
DSP groups on slot 1:
 This command is not applicable to slot 1
 
 0 DSP resource allocation failure

As you can see from the above output the status of the DSP Farm that is both 32 Channel PVDM-3 32 are up with a status of “UP, firmware: 35.1.8“. This is what a typical healthy DSP Farm should look like.

Now lets take a look at the state of the DSP Farm after a firmware crash

R5#show voice dsp group all | include State
State: APP_DNLDING, firmware 0.0.0
State: APP_DNLDING, firmware 0.0.0
R5#

Preparing For The Crash

If you have a reoccurring issue with a DSP Farm crashing you can setup your Router to catch the crash when it happens the the flow the PVDM with the Host Port Interface capture. Personally I prefer to keep the logging off box so I’m going to use FTP to store the DSP Crash file when and if it occurs. So first things first lets configure and IP Host on the R5 that can be used to store the crash file. There are a couple of available options when configuring the Crash Dump. The destination can be pointed at local Flash, TFTP, FTP etc. The second option is the number of files to create during the crash.

  • The destination DSP for the crash dump file or URL
  • The file limit or number of crash dump files to write on server

Lets jump into the IP Host FTP Server configuration on R5 that we can use for the Crash Dump destination. The following is of course dependent on the FTP Server configuration.

R5#configure terminal
R5(config)#ip ftp username dsp
R5(config)#ip ftp password crash
R5(config)#ip host server 172.16.21.20
R5(config)#

Now lets move forward with configuring the Crash Dump configuration on Router R5

R5(config)#
R5(config)#voice dsp crash-dump file-limit 10
R5(config)#voice dsp crash-dump destination ftp://server/DSP-Crash.log
R5(config)#end
R5#

Now lets take a look at the Crash Dump configuration on R5

R5#show voice dsp crash-dump 
Voice DSP Crash-dump status:
    Destination file url is
          ftp://server/DSP-Crash.log
    File limit is 10
    Next DSP dump file written will be
          ftp://server/DSP-Crash1.log

Now lets move onto configuring the Host Port Interface or HPI capture. There are basically 3 options available when configuring the Host Port Interface capture.

  • The HPI buffer used for the control message capture size from 872 – 60000000
  • The destination HPI control message capture data destination or  URL
  • The periodic file duration that can be specified over time

Lets get started configuring the HPI with a destination pointed at the SERVER FTP URL

R5#configure terminal
R5(config)#voice hpi capture buffer 1024
R5(config)#voice hpi capture destination ftp://server/HPI-CAP.log
R5(config)#end
R5#

 Now that we have the HPI Capture configured lets take a look

R5#show voice hpi cap
B65RTR#show voice hpi capture 
HPI Capture is on and is logging to URL ftp://server/HPI-CAP.log
248375 mesages sent to URL, 1163154 messages dropped
Message Buffer (total:inuse:free) 0001:0000:0001
Buffer Memory: 1024 bytes, Message size: 1024 bytes

Now that the DSP Crash, and HPI capture are up and running lets check the TCP connections. I would recommend checking the filesystem of your Server as well to make sure the HPI log file was created. Don’t be alarmed if you don’t see a DSP crash file on the filesystem of the Server. It won’t actually get created until the crash occurs.

R5#show tcp brief 
TCB          Local Address         Foreign Address      (state)
24718554   172.16.21.1.55405     SERVER.21             ESTAB
3DC37E44   192.168.21.1.61858    192.168.0.20.2000     ESTAB
21B8A980   192.168.21.1.59226    192.168.0.20.2000     ESTAB
21B8A264   192.168.21.1.61005    192.168.0.20.2000     ESTAB
21B8B09C   192.168.21.1.57360    192.168.60.20.2428    ESTAB
21E60400   172.16.21.1.64903     SERVER.59665          ESTAB
3C3888B0   192.168.21.1.17787    192.168.0.20.2428     ESTAB

TAC Cisco released a BUG ( CSCuo81444 ) fix related to the DSP crashing resource. At the time of this post I’m currently running on IOS version 15.4(3)M. 

The following was a recommendation from TAC 

After the router has reloaded start off by clearing the logging, and counters. When and if the issue happens again collect the show voice dsp statistic tx-rx three times and show interface and show logging when the DSP is in APP_DNLDING before reloading the router.

Please configure enough logging buffer shown below…

  • logging queue-limit 3000
  • logging buffered 100000000

Known Fixed Releases

  • 15.1(4)M9
  • 15.2(4)M6.3
  • 15.2(4)M7
  • 15.3(3)M3.2
  • 15.3(3)M4
  • 15.4(2)T1.1
  • 15.4(2)T2
  • 15.4(2.16)T
  • 15.4(3)M

I hope you found this post on DSP Farm Crashing helpful and informative. Be sure to let me know what you think by leaving suggestions, and feedback in the comments section below. You can find out more about these and other articles be checking out recent posts and archives. To learn more about me be sure to check out the About page. And as always thanks again for visiting The Packet.