简介
本文档介绍一些常见数字信号处理器 (DSP) 相关问题的解决方案以及确定问题是否与硬件相关的方法。
DSP 未处于 UP 状态
- 收集 show voice dsp group all 命令的输出。
- 必要时重置 DSP,并输入 test dsp device <slot> <dsp-id> reset 命令。
- 如果 DSP 未返回 UP 状态,请重新启动路由器。
- 如果其中一个 DSP 出现故障且使用上述任何方法均无法恢复,请输入 test dsp device <slot#> <DSP_ID> remove |重置 | restore命令,以尽量减小进入DOWN状态的DSP的影响。
- 对任何未返回 UP 状态的 DSP 发起退货授权 (RMA) 流程。
数据包语音数字信号 (PVDM -2) 故障排除
- 在路由器上,使用 copy startup-config-tftp 命令将启动配置复制到 TFTP 服务器上。
- 使用文本编辑器打开启动配置文件。
- 在文件开头添加以下调试:
do debug dsp-resource-manager flex download
do debug dsp-resource-manager flex error
do debug dsp-resource-manager flex detail
do debug vpm dsp
- 保存启动配置文件。
- 将启动配置文件复制到路由器的 startup-config 目录。例如,在路由器控制台中运行 copy tftp://<ip>/startup-config startup-confi。系统即在启动配置中启用调试。
- 重新加载路由器并收集日志。
DSP 超时
每次发送查询时,计时器均会启动,您必须等待其响应。如果未收到响应,系统将显示 DSP_TIMEOUT 消息。DSP 超时发生的原因有以下几种:
- 消息以错误模式发送到 DSP
- 消息以不正确顺序发送
- 发送消息所使用的参数不正确
- 平台问题或内部 DSP 问题
存在多个解码事件:
- A:PLAYOUT_DELAY:部署延迟统计信息
- B:PLAYOUT_ERROR:部署错误统计信息
- C:RX_STAT:接收数据包统计信息
- D:TX_STAT:传输数据包统计信息
- E:LEVEL_STATS:随时清理
- F:ERROR_STATS:随时清理
- G:FAX_RELAY:在传真中继模式下
- H:MODEM_RELAY:在调制解调器中继模式下
- I:CLOCK_COMP:在直通模式下
请参阅以下示例:
%DSMP-3-DSP_TIMEOUT: DSP timeout on DSP 0/1:1: event 0xDC, DSMP timed out,
while waiting for statistics from the DSP. DSMP State = S_DSMP_COLLECTING_STATS
单条 DSP 信道上发生超时可能表示硬件故障。执行下列步骤:
- 启用 Mini-Logger。
- 超时事件发生后立即收集 show log 的输出。
DSP 警报
请参阅此 DSP 警报示例:
Mar 25 05:44:09.872: %DSPRM-2-DSPALARM: Received alarm indication from dsp (0/3).
Resetting the DSP.
Mar 25 05:44:09.872: %DSPRM-3-DSPALARMINFO: 001A 0000 0080 0000 0001 0050 6170 6963
6861 6E28 3132 3630 2900 0000 0000 0000 0000
输入 show voice dsp detailed 命令并检查各 DSP 的重置恢复 (RST) 次数和警报指示 (Al) 字段是否崩溃。请参阅以下示例:
*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 g711ulaw 28.3.8 busy idle 0 0 0/3/3 12 0
130554418/67 79
C5510 001 02 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 03 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 04 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 05 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 06 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 07 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 08 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 09 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 10 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 11 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 12 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 13 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 14 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 15 None 28.3.8 idle idle 0 0 0 0/0
C5510 001 16 None 28.3.8 idle idle 0 0 0 0/0
C5510 002 01 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 02 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 03 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 04 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 05 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 06 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 07 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 08 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 09 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 10 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 11 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 12 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 13 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 14 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 15 None 28.3.8 idle idle 1 1 0 0/0
C5510 002 16 None 28.3.8 idle idle 1 1 0 0/0
输入 show voice dsp error 命令并显示具体错误。请参阅以下示例:
DSP: 0/1:1
Timeout: 10317799.760 10316844.140 10316735.720 10316688.136
Number of errors overwritten: 213
Alarm: None recorded
Message drop: None recorded
DSP: 0/1:2
Timeout: 10316625.468 10316034.948 10315828.816 10315650.844
Number of errors overwritten: 63
Alarm: None recorded
Message drop: None recorded
DSP: 0/1:3
Timeout: 10316656.860 10301703.084 10301341.276 10300263.408Number of errors overwritten: 5
配置 mini-logger 和 crash-dump。有关如何配置 mini-logger 和 crash-dump 以及收集 show log 命令完整输出的说明,请参阅“配置 Crash Dump 和启用 Mini-Logger”部分。
无更多描述符环错误
在两种情况下可以看到此错误:
请参阅以下示例:
Jun 19 16:25:04 UTC: %C5510-4-NO_RING_DESCRIPTORS: No more ring descriptors
available on slot 0 dsp 2.
Jun 19 16:25:09 UTC: %C5510-4-NO_RING_DESCRIPTORS: No more ring descriptors
available on slot 0 dsp 2.
如果 DSP 崩溃,请使用“DSP 警报”部分中的方法。
如果 DSP 已满,请启用 mini-logger 并在事件发生后立即收集 show log 命令的输出。
TDM 连接问题
有关 TDM 连接问题,请参阅此示例:
FLEXDSPRM-3-TDM_CONNECT failed to connect voice-port (0/0/0) to dsp_channel(0/0/0)
思科漏洞 ID CSCuj64211 是该情况下一种十分常见的问题。在升级至产品的修复版本前,请将重启路由器作为问题的临时解决方案。
请参阅以下有帮助的 show 命令:
show voice call status
show voice call summary
show call active voice brief
show voice dsp group all
show voice dsp
show tdm connection slot <>
Show tdm connection slot <>
Show tdm map slot <>
Show tdm connection slot <> wic <>
Show tdm map slot <> wic <>
请参阅必须收集用于测试调用的以下调试:
debug voip ccapi inout
debug tdm
debug vpm all
debug voip vtsp all
debug voip dsm all
debug dsp-resource-manager flex all
对于此问题,您可以使用Cisco IOS?嵌入式事件管理器(EEM)脚本。请参阅以下示例:
event manager applet voice_debug
event tag log1 syslog pattern "FLEXDSPRM-3-TDM_CONNECT failed to connect
voice-port (0/0/0) to dsp_channel(0/0/0)" maxrun 200
event tag log2 syslog pattern "hwic_t1e1_wic_bp_disconnect: disconnect failed"
maxrun 200
trigger
correlate event log1 and event log2
action 1 cli command "enable"
action 2 cli command "show tdm connection slot 0 | append disk0:debug.txt"
action 3 cli command "show call active voice brief | append disk0:debug.txt"
action 4 cli command "show call history voice brief | append disk0:debug.txt"
action 5 cli command "show voice call summ | append disk0:debug.txt"
action 6 cli command "show voice vtsp call fsm | append disk0:debug.txt"
action 7 cli command "show voice dsmp stream | append disk0:debug.txt"
action 8 wait 180
action 9 cli command "undebug all"
action 10 syslog msg "Stopping debug"
action 11 cli command "show logging | append disk0:debug.txt"
/debug.txt"
有关 EEM 脚本配置过程的更多详细信息,请参阅此链接:思科集成多业务路由器平台的 EEM 配置。
配置 CrashDump 和 Mini-Logger
DSP Mini-Logger 和 CrashDump 实用程序是收集有助于排除 DSP 崩溃故障的证据的有效工具。Mini-Logger 捕获 DSP 崩溃前的调查分析证据,而 CrashDump 在崩溃期间和崩溃发生后立即捕获证据。输入以下命令以启用这些功能:
DSP CrashDump
voice dsp crash-dump file-limit
voice dsp crash-dump destination < destinationFilesystem:filename >
例如:voice dsp crash-dump destination flash:dspcrashdump。
DSP Mini-Logger
voice dsp <slot#> command history buffer control
voice dsp <slot#> command history buffer periodic
voice dsp <slot#> command history max-logger-print
voice dsp <slot#> command history enable
最佳实践设置
使用以下最佳实践设置:
- 将 CrashDump 文件限制值设置为不高于 5。
- Crash Dump 目标应是 TFTP 文件系统。如果 TFTP 不可用,也可使用 Flash。
- 用于控制和间隔的 MiniLogger 缓冲区值最大可设置为 10,000。
- MiniLogger max-logger-print 的最大值可达 1,000。
- 禁用控制台日志记录,否则会导致出现 CPU 尖峰,达到危险值。
- 将所有内容(包括系统日志)发送至外部服务器。