Cisco IOS Voice Troubleshooting and Monitoring Guide
Voice DSP Troubleshooting Enhancements

Table Of Contents

Voice DSP Troubleshooting Enhancements

Contents

Information About Voice DSP Troubleshooting

Voice DSP Mini-Logger

Host-to-DSP Message Summary

DSP-to-Host Message Summary

Trapping Mute Calls

Tracking DSP Information in AAA Calls

How to Troubleshoot DSP Problems

Running the Voice DSP Mini-Logger

Examples

Troubleshooting Tips

Trapping Mute Calls

Troubleshooting Tips

Sending the DSP ID Out Through AAA Records

Command Reference

attribute dsp-id transmit

voice call trap deviation

voice dsp command history buffer

voice dsp command history enable

voice dsp command history max-logger-print

debug voice call trap

show voice dsp command history

show voice dsp error

show voice vtsp call fsm


Voice DSP Troubleshooting Enhancements


Voice DSP troubleshooting enhancements include the voice DSP mini-logger, mute call trapping, and tracking DSP information in AAA calls.

History for the Voice DSP Troubleshooting Enhancements Feature

Release
Modification

12.4(X)T

This feature was introduced.


Finding Support Information for Platforms and Cisco IOS Software Images

Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.

Contents

Information About Voice DSP Troubleshooting

How to Troubleshoot DSP Problems

Command Reference

Information About Voice DSP Troubleshooting

Voice DSP troubleshooting includes the following topics:

Voice DSP Mini-Logger

Trapping Mute Calls

Tracking DSP Information in AAA Calls

Voice DSP Mini-Logger

The voice DSP mini-logger is a DSP troubleshooting tool that allows a Cisco gateway to log error messages and failure codes when there is a DSP timeout error. Information is written to the DSP mini-logger in response to DSP alarms and DSP timeout situations. A DSP problem caused by erroneous control message sequences is often captured in the traceback of the last messages sent to the DSP. This tool is particularly useful for situations where the problem is intermittent or rare.

Once the DSP mini-logger is enabled, it is automatically triggered when a DSP alarm or timeout is encountered. The most recent messages between Cisco IOS and the DSP for all channels on the affected DSP are stored in a buffer. These messages are displayed automatically when there is DSP alarm ior timeout, or with a show command. The output is a hex dump of the messages that were sent to DSP .

The DSP mini-logger output is a raw hex dump of the messages exchanges between the DSP and Cisco IOS. The format of output is as follows:

timestamp > message_length DSP_channel Message_ID Process_ID [parameter_1] [parameter_2] [ ... ]

The following sections contain summaries of the DSP messages. For more infomration, contact Cisco support:

Host-to-DSP Message Summary

DSP-to-Host Message Summary

Host-to-DSP Message Summary

The following tables list the messages sent from the host to the DSP:

Table 1 shows DSP management messages.

Table 2 shows signalling channel messages.

Table 3 shows voice channel messages.

.

Table 1 DSP Management Messages 

Value
(Decimal/Hex)
Message Name
Description

1 / 0x1

status_request

Directs the DSP to report the current DSP status to the Host in a status_response message. The host may send this message periodically to confirm that the DSPs are still active.

2 / 0x2

exec_diags

Requests that the DSP perform diagnostic activities. Parameter 1 indicates the type of diagnostics performed. Currently, only "Normal" (=1) diagnostics are supported.

3 / 0x3

init_overlay_loader

This command is used to request that the overlay loader be started on the DSP.

4 / 0x4

dnld_record

This command is used to transfer a download record to the DSP.

5 / 0x5

init_config

Configures VIC module. This message must be received before any channels are opened

5 / 0x5

McBSP_config

Configures the timeslots and definition for the corresponding McBSP.

6 / 0x6

get_error_stat

Requests error statistics from a DSP. The result is returned in DSP-to-host message buffer.

7 / 0x7

create_jukebox_channel

Creates a channel on the jukebox for the transmission of overlays. This message is valid only for the jukebox.

8 / 0x8

transmit_overlay

Starts transmission of an overlay stored in jukebox memory on the TDM port. This message is valid only for the jukebox.

9 / 0x9

stop_transmit_overlay

Stops transmission of an overlay. This message is valid only for the jukebox.

10 / 0xA

receive_overlay

Directs a DSP to download an overlay from the jukebox. Must be preceded by a init_overlay_loader message.

11 / 0xB

remove_overlay

Directs the jukebox DSP to remove an overlay from storage. If the overlay is currently being transmitted, transmission of the overlay will be stopped first. This message is valid only for the jukebox.

12 / 0xC

query_free_memory

Directs the jukebox DSP to reply with a free_memory_rsp message. This message is valid only for the jukebox.

13 / 0xD

cross_connect

Request by the host to reprogram the EPIC switch B-channel connection between the DSP and the ISAC-S. Disconnects when inactive so that an idle pattern will be transmitted on the interface; connect when a call is active; and loopback the S-bus interface input to its output for testing.

14 / 0xE

set_hairpin_mode

Sets up the hairpin mode, which takes any voice received on a specific time slot and transmits it on the same time slot.

15 / 0xF

analog_VIC_config

Routes the monitor channel to the first timeslot and the C/I, MR, MX bits to the second timeslot. This message appears while IOM2 streams are for the analog VIC.

Note It is recommended that host check the acknowledged message content to make sure that the codec chip is initialized properly.

123 / 0x7B

modem_relay_messages

Requests DSP start modem relay. If the DSP finds that it is unsuccessful in making the transition to perform the relay function (for example, it is not a V34/V42 modem), it would fail by generating a "modem_relay_terminated" message.

126 / 0x7E

reserved for LAN data packets

-

127 / 0x7F

peek_poke

Debug message to write/read program/data DSP memory.


Table 3 Voice Channel Messages 

Value
(Decimal/Hex)
Message Name
Description

64 / 0x40

disable_fax_detection

Disables the detection of fax tones.

65 / 0x41

dial_mode

Invokes DTMF/MF detection mode. Voice mode is turned off if it was previously enabled. R2-MF is Multi-Frequency tone detection as specified in Q.45x. US-MF is Multi-Frequency tone detection as specified in Bellcore GR-506-CORE specification.

66 / 0x42

echo_canceller_control

Changes the state of the echo canceller algorithm.

67 / 0x43

enable_fax_detection

Enables detection of fax tones. Fax detection is by default enabled for single channel configurations.

68 / 0x44

idle_mode

Directs the DSPs to turn off voice coding, voice activity detection, echo canceller, DTMF/MF detection and tone detection.

69 / 0x45

fax_mode

Directs the DSPs to start fax relay processing. Overlay download for the fax code must be completed prior to this message.

70 / 0x46

pcm_loopback_mode

Directs the DSP to enter/exit PCM loopback mode. Voice coding is disabled while in loopback mode 1. Tone detection is not affected by this message.

71 / 0x47

CP_tone_off

Directs the DSP to stop generating the current tone.

72 / 0x48

CP_tone_on

Directs the DSP to send a tone to the telephone interface or packet network. If the DSP is already generating a tone, the old tone will be replaced by the new tone. If voice transmission is on, the generated tone replaces the voice being sent to the telephone interface. Tone generation may interfere with echo cancelling.

73 / 0x49

voice_mode

Directs the DSPs to begin voice coding with parameters as specified by the coding type and within the constraints of a current configuration.

74 / 0x4A

open_voice_channel

Opens a DSP channel within the constraints of a current configuration. Channel number is specified in the Logical Channel number field of a message header.

75 / 0x4B

close_voice_channel

Closes a DSP channel that was previously opened with open_channel message. A DSP channel can be closed only after it was properly opened with an open_channel message. After a DSP channel has been closed, any message addressed to that channel would result in DSP ignoring the message, except for the next open_channel message. A DSP channel can be closed at any time during normal operation (including loopback testing).

76 / 0x4C

set_playout_delay

Configures the operating parameters of the voice playout control mechanism in the DSP..

77 / 0x4D

vad_disable

Disables voice activity detection. The channel must be opened or this message is ignored. This message only disables VAD at the transmitter. Receiver processing of VAD, such as comfort noise injection, is not effected.

78 / 0x4E

vad_enable

Enable voice activity detection (VAD) at the transmitter. VAD can also be enabled by voice_mode message.

79 / 0x4F

snd_loopback_on

Instructs the protocol module of a DSP channel to immediately change its state to snd_loop. The only way to exit snd_loop state is to use snd_loopback_off message which forces a DSP channel to open state. In essence, the send loopback simulates a wire.

Note The send loopback and receive loopback commands cannot be active at the same time. Attempt to do so would result in DSP generating a fatal error condition.

80 / 0x50

snd_loopback_off

Instructs the protocol module of a DSP channel to return its state to open. If the current protocol state is other than snd_loop this message would generate a fatal error condition. If a channel-to-channel loop was being performed, the channel looped to is also be placed in open state.

81 / 0x51

rcv_loopback_on

Instructs the protocol module of a DSP channel to immediately change its state to rcv_loop. While the receive loopback is active, all incoming network packets are looped back to the output. Since the receive loopback simulates a wire, all local voice processing would be stopped or ignored.

Note The send loopback and receive loopback commands cannot be active at the same time. An attempt to do so would result in DSP generating a fatal error condition.

82 / 0x52

rcv_loopback_off

Instructs the protocol module of a DSP channel to return its state to open. If the current protocol state is other than rcv_loop this message would generate a fatal error condition.

83 / 0x53

get_voice_playout_
delay_stat

Instructs a DSP to report the delay statistics of the voice playout buffer.

84 / 0x54

get_voice_playout_
error_stat

Instructs a DSP to report the error statistics of the voice playout buffer.

85 / 0x55

digit_relay_control

Changes the digit relay mode while in voice mode.

86 / 0x56

get_tx_stat

Requests transmit end channel statistics from a DSP channel. The result is returned in DSP-to-Host message buffer.

87 / 0x57

get_rx_stat

Requests receive end channel statistics from a DSP channel. The result is returned in DSP-to-Host message buffer.

88 / 0x58

get_fax_relay_stat

Requests fax relay statistics from a DSP channel. The result is returned in DSP-to-Host message buffer .

89 / 0x59

get_levels

Requests transmit and receive linear PCM levels and echo canceler levels. The result is returned in DSP-to-Host message buffer.

90 / 0x5A

dial_digit

Directs the DSP to generate the DTMF/MF digit with specified parameters. Note that another dial_digit message cannot be sent until DSP reports a dialing_done message.

91 / 0x5B

set_gains

Sets the gains of the receive/transmit signals in tenths of dB.

92 / 0x5C

encap_config

Configures information for the voice protocol encapsulation.

93 / 0x5D

sdtdet_control

Controls the supervisory tone detector. This detector can be used for detection of disconnect on some interface types.

94 / 0x5E

ivr_mode

Directs the DSPs to begin voice de-coding/DTMF detection.

Note This message will be ignored by DSPware 4.x.

95 / 0x5F

COT_det_control

Controls the COT (continuity tone) detector. This is a tunable single frequency tone detector. The detector is designed per specification for use in SS7 signaling systems.

In tx then rx mode, if the desired COT tone is detected, the transmitted tone will be turned off. In rx then tx mode, if the detected COT tone goes away, the transmitted tone will be turned off. In any cases, DSP would report the transition of COT tone detection to host via tone_detect message.

96 / 0x60

digit_begin

Starts the generation of a dial digit in the voice playout stream. This command is only valid when the voice channel is configured for RTP encapsulation.

97 / 0x61

digit_end

Stops the playout of a dial digit from a previously received digit_begin message.

98 / 0x62

agc_control

Controls the adaptive gain control (AGC) of a channel in voice mode.

99 / 0x63

dual_tone_det_control

Controls the configurable dual tone detector.

100 / 0x64

seq_tone_det_control

Controls the sequential single tone detector.

101 / 0x65

fsk_det_mode

Invokes FSK detection mode. Voice mode is turned off if it was previously enabled.

102 / 0x66

fsk_gen_mode

Invokes FSK_GEN mode to generate caller-id signal During this mode, the DSP ignores all data packets coming from network side. The voice signal coming from PCM side is compressed and the processed packets are sent out to network unless the host sends a CP_tone_on message to generate tones towards network side. Upon completion of FSK signal generation, the DSP stays in FSK_GEN mode and outputs silence to the PCM interface. A DSP-to-host message (fsk_gen_status) is reported at the same time.

103 / 0x67

gen_peer_to_peer_
message

Contains the payload to send in the NSE packet.

104 / 0x68

cadence_config

Configure sthe cadence machine in the DSP.

105 / 0x69

timer_controla

Control a set of timers maintained by DSP. If the timer_control message is received again with an ID of a currently active timer, the timer for that ID will be restarted. For every active timer, if the desired time has expired or the timer is stopped, a timer_status message will be reported to host. All the timers will keep running until it is expired or stopped.

106 / 0x6A

gen_packet_control

Controls the generation of voice packets to network .This message is ignored in FAX mode. The voice packets include all data packets (like voice, SID, digit, CN) that are generated in VOICE mode.

107 / 0x6B

transcoding_mode

Directs the DSPs to begin voice coding as a packet to packet gateway with parameters.

108 / 0x6C

get_clock_
compensation_stat

Instructs a DSP to report the clock compensation statistics. The result is returned in DSP-to-host message buffer.

109 / 0x6D

pcm2pcm_mode

Puts the DSP in PCM2PCM mode.

110 / 0x6E

conf_controller_mode

Invokes conference controller mode.

111 / 0x6F

inband_detector_
control

Configures the tone detection.

112 / 0x70

reset_dsp_stats

Resets the following statistics counters for all channels in a DSP:

get_error_stat

get_voice_playout_delay_stat

get_voice_playout_error_stat

get_tx_stat

get_rx_stat

get_fax_relay_stat (if in fax mode)

get_clock_compensation_stat

114 / 0x72

modify_connection

This message can only be sent after voice_mode message. It is recommended to modify multiple parameters in one message.


DSP-to-Host Message Summary

The following tables list messages sent from the DSP to the host:

Table 4 shows DSP management messages.

Table 5 shows signalling channel messages.

Table 6 shows voice channel messages.

.

Table 4 DSP Management Messages 

Value
(Decimal/Hex)
Message Name
Description

128 / 0x80

alarm_indication

Informs the Host that the DSP has an error. If a fatal error has occurred, the DSP disables all interrupts, ignores all messages and idles in an infinite loop.

129 / 0x81

debug_info

Allows the DSP to send up to 6 long words of debug and trace information to the host for display on its terminal.

130 / 0x82

restart_indication

Indicates that a DSP has started and completed its diagnostics.

131 / 0x83

status_response

Sent in response to a status_request message to show that the DSP is alive.

132 / 0x84

diag_results

Response to the run_diags command from the host.

133 / 0x85

overlay_loader_ready

Response to the init_overlay_loader message from the host, indicating that the DSP is prepared to receive download records.

134 / 0x86

dnld_rec_rsp

Acknowledges the transfer of download records.

135 / 0x87

unused

-

136 / 0x88

overlay_received

Generated by the jukebox application when an overlay has been successfully stored in jukebox memory.

137 / 0x89

jukebox_channel_rsp

Generated by the jukebox application when a jukebox transmission channel has been created.

138 / 0x8A

transmit_overlay_rsp

Generated by the jukebox application in response to a start_transmit_overlay message or a stop_transmit_overlay message.

139 / 0x8B

free_memory_rsp

Generated by the jukebox application in response to a query_free_memory message.

140 / 0x8C

analog_VIC_config_
ack

Indicates normal codec chip initialization with a value of zero.

141 / 0x8D

msg_process_done

Report the processing of the host-to-DSP message with message ID is done.

142 / 0x8E

request_overlay

Indicates that an overlay is needed by DSP. This is mainly for modem relay call when V34 phase1 and 2 handshaking is done.

143 / 0x8F

global_debug_info

Displays internal variables. The process ID of this message is the timestamp when this message is sent out.

255 / 0xFF

peek_rsp

Generated in response to a peek command (peek_poke message) from the host.


.

Table 5 Signalling Channel Messages 

Value
(Decimal/Hex)
Message Name
Description

160 / 0xA0

pulse_dialing_done

After DSP finishes pulse dialing sequence it sends this message to controller.

161 / 0xA1

send_sig_status

Reports the change in the state of the signalling interface. The definition of the signaling map depends on the interface type.

162 / 0xA2

resp_sig_status

Reports the steady state of the signalling interface. The definition of the signaling map depends on the interface type.

163 / 0xA3

interface_info

Sent in response to a open_asig_channel message and returns the configuration of the interface.

164 / 0xA4

signaling_frame

Passes a frame received on the ISAC D-channel to the host. The frame contents are in the data portion of this message.

165 / 0xA5

s2086_interrupt

Based on parameters from an earlier set_s2086_driver message, the DSP informs the host that one or more bits it is interested in were on in the ISAC interrupt registers.

166 / 0xA6

bri_sig_stat

Responds to a host get_bri_sig_stat message. Reports on all internal counters and stats recording normal and error conditions.

167 / 0xA7

sig_alarm_indication

Reports signaling alarms and events. It reports individual changes in alarms and events. Event_id = 6, 0 means keep-alive packets are not received for longer than specified timeout period.

168 / 0xA8

send_sig_state_rx

Reports the a change in state of the ABCD bits received from the network for AAL1 CAS channels.


Table 6 Voice Channel Messages 

Value
(Decimal/Hex)
Message Name
Description

192 / 0xC0

dial_digit

Reports IDLE to NON_IDLE and NON_IDLE to IDLE state changes in the analog signalling module for those platform that need ground key/loop detection set external to the DSP.

193 / 0xC1

tone_detect

Sent when DSP detects transition (ON to OFF or OFF to ON) in the specified tone.

194 / 0xC2

fax_cleardown

Sent when the DSP detects no fax activity for a specified amount of time in both transmission directions and declares the cleardown.

195 / 0xC3

dialing_done

After DSP finishes tone dialing sequence, it sends this message to controller.

196 / 0xC4

get_voice_playout_
delay_stat

Returns the delay statistics of the voice playout buffer.

197 / 0xC5

get_voice_playout_
error_stat

Returns the error statistics of the voice playout buffer.

198 / 0xC6

get_error_stat

Counts the incoming packets that were dropped by the DSP due to invalid header syntax or length and the number of packets that could not be transmitted because the DSP-to-host voice data buffer was busy.

199 / 0xC7

get_tx_stat

Returns the transmitter statistics.

200 / 0xC8

get_rx_stat

Returns the receiver statistics. All statistics are 2-word (32 bits) long. The MSB proceeds the LSB.

201 / 0xC9

get_fax_relay_stat

Returns the FAX relay statistics.

202 / 0xCA

get_levels

Returns current level and activity information.

203 / 0xCB

dial_digit_end

Indicates a protocol violation has been detected by the DSP.

204 / 0xCC

protocol_violation

Indicates a protocol violation has been detected by the DSP.

205 / 0xCD

fsk_string

Reports demodulated FSK signal in binary format.

206 / 0xCE

fsk_gen_status

Reports the status of FSK signal generation.

207 / 0xCF

report_peer_to_peer_
message

Reports the payload received in the NSE packet.

208 / 0xD0

gen_p2p_message_
done

Sends this message to host after generation of peer-to-peer message is done. If peer-to-peer message type is an alarm, then this message will not be sent to the host.

210 / 0xD2

audio_packet_detect

Sends this message to the host when an audio packet has been detected during the playout of locally generated ringback.

211 / 0xD3

clock_compensation_stat

Returns the clock compensation statistics.

212 / 0xD4

vad_status

Reports the status of the voice activity detection (VAD).


Trapping Mute Calls

Mute calls, or calls with no voice packets attributed to them, can indicate problems with disconnects , one-way connections, and other issues. You can use some troubleshooting tools to trap potential mute or one-way voice calls. The detection of such calls relies on the transmit and receive counters for the call legs. The packet counts are sampled when the voice-path is cut-through and then again when the call is disconnected. This is done for both the call legs on the Cisco gateway. Samples are also collected from the destination gateway using RTCP statistics. If the difference as measured at these various points is not close enough to the expected levels, the call is "trapped".

Call trapping is only an advisory. Trapping only results in the display of information and does not affect the call in any way.

Tracking DSP Information in AAA Calls

The DSP used for a call leg is available in the call active and history records. This information can also be sent in as a vendor-specific attribute (VSA) to the Radius server, when configured to do so. For more information about VSAs and Radius servers, see the RADIUS VSA Voice Implementation Guide.

The DSP ID saved in the call records can also be sent out in AAA records as part of the dsp-id VSA. The transmission of this VSA is controlled by the attribute dsp-id transmit command under the gw-accounting aaa configuration command on the Cisco IOS gateway.

How to Troubleshoot DSP Problems

See the following sections for configuration tasks for DSP troubleshooting:

Running the Voice DSP Mini-Logger

Trapping Mute Calls

Sending the DSP ID Out Through AAA Records

Running the Voice DSP Mini-Logger

Perform this task to enable and run the voice DSP mini-logger.

SUMMARY STEPS

1. enable

2. configure terminal

3. voice dsp dsp_slot command history enable

4. voice dsp dsp_slot command history buffer {control | periodic } buffer_size

5. voice dsp dsp_slot command history max-logger-print max_logs

6. exit

7. show voice dsp command history dsp_slot

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

voice dsp dsp_slot command history enable

Example:

Router(config)# voice dsp 3 command history enable

Enables voice DSP command history logging.

Step 4 

voice dsp dsp_slot command history buffer {control | periodic } buffer_size

Example:

Router(config)# voice dsp 3 command history buffer control 3800

(Optional) Configures the buffer sizes for the voice DSP command history logs.

Step 5 

voice dsp dsp_slot command history max-logger-print max_logs

Example:

Router(config)# voice dsp 3 command history max-logger-print 150

(Optional) Enables the DSP command history logs to automatically print data that has been saved in the buffer when Cisco IOS call processing code detects DSP alarm or timeout conditions

Step 6 

exit

Example:

Router(config)# exit

Exits to Privileged EXEC mode.

Step 7 

show voice dsp command history dsp_slot

Example:

Router# show voice dsp command history 3

Displays the voice DSP messages logged in the buffers.

Examples

A router with the Voice DSP Mini-Logger enabled provides the following output when a DSP TIMEOUT occurs. In the first entry, the DSP timeout was on event 0x6 (message type 6 is get_error_stats). This is the most common failure because it is the only one that has its response waited for at the end of a call. Therefore, the timeout was a result of an ISDN call (shown by chan_id=1/0:23) that IOS was expecting the stats from a call that disconnected. The DSP timed out waiting for the call either because the call was never sent or because it was beyond the wait for error stats timer. Therefore, in the finite state machine, the last state that IOS was in when the DSP timed out was state=S_WAIT_ERROR_STAT.

May 21 01:24:44.334: %VTSP-3-DSP_TIMEOUT: DSP timeout on event 0x6: DSP ID=0x61: DSP error 
stats (call mode=0)id=0x20097 state=S_WAIT_ERROR_STAT chan_id=1/0:23:131223 
Stack 0:

In the events that follow the State Transitions event, the IOS state machine shows that the call connected and disconnected at a DSP timestamp of 26557.608. The numbers to the left of the decimal point are counted in seconds, whereas the numbers to the right of the decimal are milliseconds and increment by ticks (for example, 4ms). The call was in a state of S_PROCEEDING when it received a disconnect event ( E_TSP_DISCONNECT_IND). This put the call in a state S_WAIT_HOST_DISC. Up to this point it looks alright, but then the call is bridged ( E_CC_BRIDGE) and connected (E_CC_CONNECT) despite being in a state where it is expecting to be disconnected (S_WAIT_HOST_DISC). Finally, the disconnect event comes in (E_CC_DISCONNECT) and the call is disconnected. Oddly, this all happened in the same timestamp. The cause of the disconnect is not yet clear.

 
State Transitions: timestamp (state, event) -> ... 
26557.572 (S_SETUP_INDICATED, E_CC_PROCEEDING) -> 
26557.604 (S_PROCEEDING, E_TSP_DISCONNECT_IND) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_ALERT) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_BRIDGE) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_CONNECT) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_BRIDGE_DROP) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_DISCONNECT) -> 
Event Counts (zeros not shown): (event, count) 
(E_TSP_DISCONNECT_IND, 1) :(E_CC_CONNECT, 1) :(E_CC_ALERT, 1) :(E_CC_PROCEEDING, 1) 
(E_CC_BRIDGE, 1) :(E_CC_BRIDGE_DROP, 1) :(E_CC_DISCONNECT, 1) : 
State Counts (zeros not shown): (state, count) 
(S_SETUP_INDICATED, 1) :(S_PROCEEDING, 1) :(S_WAIT_HOST_DISC, 5) : 

The information at the beginning of the Control message history entry is the DSP message dump for for channel 1 on DSP 5 on card 1 (Control message history for (1, 5, 1)). Look for the first message coming from the DSP indicated by the'<' after the time stamp. Note that this message, at timestamp 26557.616 with a 00C6 entry (MSG_TX_GET_ERROR_STAT), occurred two ticks (8 ms) after the disconnect of the call. At the previous message sent to the DSP (indicated by the '>' after the time stamp), Cisco IOS requests the error statistics (a 0x6 message) for the call that disconnected at 26557.608. This shows that the DSP responds with the error statistics of the disconnected call two ticks after it is requested by Cisco IOS. The VTSP_DSP_STATS_COLLECT_TIMER in IOS is four seconds, so the DSP responded well within timer expiry. It is likely that this message was dropped between the DSP and Cisco IOS. This implies that you should look for drops between the DSP and IOS in "test voice driver" (the show controller option). It has been established that this is not a DSP crash, rather only a DSP timeout.

 
May 21 01:24:44.334: , chnl info(1, 5, 0) 
May 21 01:24:44.334: Control message history for (1, 5, 1), call_id 0x0 
26556.800 > 0008 0001 0047 CB38 : 
26556.800 > 0008 0001 0044 CB39 : 
26556.800 > 0008 0001 0047 CB3A : 
26556.800 > 0008 0001 0044 CB3B : 
26556.800 > 0008 0001 004B CB3C : 
26557.272 > 0010 0001 004A CB4E 0000 0080 0000 0000 : 
26557.272 > 0026 0001 005C CB4F 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26557.272 > 0012 0001 004C CB50 0001 003C 0028 00C8 012C : 
26557.272 > 0008 0001 0043 CB51 : 
26557.272 > 000E 0001 0042 CB52 0000 FFEB 0007 : 
26557.272 > 000E 0001 0074 CB53 0000 0000 1770 : 
26557.272 > 000C 0001 005B CB54 0000 0000 : 
26557.300 > 000A 0001 006A CB5C 0000 : 
26557.572 > 0010 0001 004A CB5F 0000 0080 0000 0000 : 
26557.572 > 0026 0001 005C CB60 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26557.572 > 0012 0001 004C CB61 0001 003C 0028 00C8 012C : 
26557.572 > 0008 0001 0043 CB62 : 
26557.572 > 000E 0001 0042 CB63 0000 FFEB 0007 : 
26557.572 > 000E 0001 0074 CB64 0000 0000 1770 : 
26557.572 > 000C 0001 005B CB65 0000 0000 : 
26557.604 > 0008 0001 0044 CB76 : 
26557.604 > 0008 0001 0044 CB78 : 
26557.604 > 0010 0001 004A CB79 0000 0080 0000 0000 : 
26557.604 > 0026 0001 005C CB7A 0002 0014 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26557.604 > 0012 0001 004C CB7B 0001 003C 0028 00C8 012C : 
26557.604 > 0008 0001 0043 CB7C : 
26557.604 > 000E 0001 0042 CB7D 0000 FFEB 0007 : 
26557.604 > 000E 0001 0074 CB7E 0000 0000 1770 : 
26557.604 > 000C 0001 005B CB7F 0000 0000 : 
26557.604 > 0018 0001 0049 CB80 0001 00A0 00FA 0040 0001 0023 0002 0000 : 
26557.604 > 000E 0001 0074 CB81 0000 0000 1770 : 
26557.608 > 000A 0001 006A CB93 0000 : 
26557.608 > 000A 0001 006A CB94 0000 : 
26557.608 > 000A 0001 0006 0001 0001 : 
26557.616 < 002C 0001 00C6 0001 0000 0000 0000 0000 0022 0000 0000 0002 0000 0002 0002 
005B 0049 0074 006A 006A : 
26561.608 > 0008 0001 0047 CC06 : 
26561.608 > 0008 0001 0044 CC07 : 
26561.608 > 0008 0001 0047 CC08 : 
26561.608 > 0008 0001 0044 CC09 : 
26561.608 > 0008 0001 004B CC0A :

After the message from the DSP at 26557.616, the rest is normal call teardown.

The same analysis can be applied for the three remaining three channels on DSP 5. Nothing there corresponds to the call disconnect timestamp and most importantly there are no other MSG_RX_GET_ERROR_STAT (i.e. 0x6) messages. This is the only message that could put Cisco IOS in a state of S_WAIT_ERROR_STAT, which is the final state when the DSP timed out. Therefore, the DSP timeout was caused by the call on channel 1.

May 21 01:24:44.334: Periodic message history for (1, 5, 1), call_id 0x0 
19632.112 > 000A 0001 0056 0001 0000 : 
19632.112 > 000A 0001 0057 0001 0000 : 
19632.112 > 000A 0001 0053 0001 0000 : 
19632.112 > 000A 0001 0054 0001 0000 : 
19632.112 < 0024 0001 00C7 0001 0000 0076 0000 0000 0000 0001 0000 4150 0000 092E 0000 
0000 BF85 4EF0 : 
19632.112 < 0078 0001 00C8 0001 0000 00A5 0000 0000 0000 0002 0000 4150 0000 0CBC 0000 
0000 0000 0000 0000 0000 : 
19632.112 < 0018 0001 00C4 0001 7049 24C5 0000 0037 0000 0037 0000 0046 : 
19632.112 < 0020 0001 00C5 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 000A 0000 
0000 : 
19634.888 > 000A 0001 0056 0001 0000 : 
19634.888 > 000A 0001 0057 0001 0000 : 
19634.888 > 000A 0001 0053 0001 0000 : 
19634.888 > 000A 0001 0054 0001 0000 : 
19634.888 < 0024 0001 00C7 0001 0000 0076 0000 0000 0000 0001 0000 4C22 0000 092E 0000 
0000 BF85 A5B0 : 
19634.888 < 0078 0001 00C8 0001 0000 00A5 0000 0000 0000 0002 0000 4C22 0000 0CBC 0000 
0000 0000 0000 0000 0000 : 
19634.888 < 0018 0001 00C4 0001 7049 24C5 0000 0037 0000 0037 0000 0046 : 
19634.888 < 0020 0001 00C5 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 000A 0000 
0000 : 
19638.540 > 000A 0001 0059 0001 0001 : 
19638.548 < 0018 0001 00CA 0001 FCE7 0000 FCE7 0000 FD1D 0000 022D 0002 : 
19638.548 > 000A 0001 0056 0001 0001 : 
19638.552 < 0024 0001 00C7 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 : 
May 21 01:24:44.338: Control message history for (1, 5, 2), call_id 0x0 
0.000 < : 
0.000 < : 
0.000 < : 
0.000 < : 
0.000 < : 
May 21 01:24:44.338: Periodic message history for (1, 5, 2), call_id 0x0 
0.000 < : 
0.000 < : 
0.000 < : 
0.000 < : 
0.000 < : 
May 21 01:24:44.338: Control message history for (1, 5, 3), call_id 0x0 
26433.252 > 0008 0003 0044 AE35 : 
26433.252 > 0008 0003 004B AE36 : 
26433.252 > 0010 0003 004A AE37 0000 0082 0002 0000 : 
26433.252 > 0026 0003 005C AE38 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26433.252 > 0012 0003 004C AE39 0001 003C 0028 00C8 012C : 
26433.252 > 0008 0003 0043 AE3A : 
26433.252 > 000E 0003 0042 AE3B 0000 FFEB 0007 : 
26433.252 > 000E 0003 0074 AE3C 0000 0000 1770 : 
26433.252 > 000C 0003 005B AE3D 0000 FFE2 : 
26433.264 > 0008 0003 0047 AE3E : 
26433.264 > 0018 0003 0049 AE3F 0001 00A0 00FA 0040 0001 0023 0002 0000 : 
26433.264 > 000E 0003 0074 AE40 0000 0000 1770 : 
26433.264 > 0026 0003 0048 AE41 0002 0002 01E0 026C 1456 0B70 0001 00FA 00FA 0000 0000 
0000 0000 0000 0000 : 
26463.264 > 0008 0003 0047 B4FA : 
26463.264 > 000C 0082 0027 B4F8 0000 0000 : 
26464.064 > 0008 0082 0028 B556 : 
26464.068 < 000A 0082 00A2 B556 000C : 
26474.068 > 000C 0082 0027 B751 0008 0000 : 
26474.068 > 000C 0082 0027 B750 0000 03E8 : 
26474.068 > 0008 0003 0047 B752 : 
26474.068 > 0008 0003 0044 B753 : 
26474.068 > 0008 0003 004B B754 : 
26475.600 < 000C 0082 00A1 0000 0000 DE10 : 
26486.020 > 000C 0082 0027 BA5B 0008 0000 : 
26486.020 > 0010 0003 004A BA61 0000 0082 0002 0000 : 
26486.020 > 0026 0003 005C BA62 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26486.020 > 0012 0003 004C BA63 0001 003C 0028 00C8 012C : 
26486.020 > 0008 0003 0043 BA64 : 
26486.020 > 000E 0003 0042 BA65 0000 FFEB 0007 : 
26486.020 > 000E 0003 0074 BA66 0000 0000 1770 : 
26486.020 > 000C 0003 005B BA67 0000 FFE2 : 
26486.252 < 000C 0082 00A1 0000 000C 07A8 : 
26486.444 < 000C 0082 00A1 0000 0000 086E : 
26486.516 > 000A 0003 0041 BA78 0000 : 
26486.516 > 0030 0003 005A BA79 0064 0064 0031 0002 02B9 04B9 404E 50F4 0031 0002 02B9 
04B9 404E 50F4 0032 0002 : 
26487.120 < 0008 0003 00C3 BA79 : 
26487.120 > 0008 0003 0044 BA8B : 
26487.120 > 0018 0003 0049 BA8C 0001 00A0 00FA 0040 0001 0023 0002 0000 : 
26487.120 > 000E 0003 0074 BA8D 0000 0000 1770 : 
26490.068 < 000C 0082 00A1 0000 000C 1692 : 
May 21 01:24:44.342: Periodic message history for (1, 5, 3), call_id 0x0 
26343.036 > 000A 0003 0056 0001 0000 : 
26343.036 > 000A 0003 0057 0001 0000 : 
26343.036 > 000A 0003 0053 0001 0000 : 
26343.036 > 000A 0003 0054 0001 0000 : 
26343.036 < 0024 0003 00C7 0001 0000 01BC 0000 0000 0000 0003 0000 7DF0 0000 229C 0000 
0000 3C77 8F11 : 
26343.036 < 0078 0003 00C8 0001 0000 0146 0000 0000 0000 0002 0000 7DF0 0000 193C 0000 
0000 0000 0000 0000 0000 : 
26343.036 < 0018 0003 00C4 0001 008A 0452 0000 0040 0000 0040 0000 0046 : 
26343.036 < 0020 0003 00C5 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 000A 0000 
0000 : 
26348.100 > 000A 0003 0056 0001 0000 : 
26348.100 > 000A 0003 0057 0001 0000 : 
26348.100 > 000A 0003 0053 0001 0000 : 
26348.100 > 000A 0003 0054 0001 0000 : 
26348.100 < 0024 0003 00C7 0001 0000 01BC 0000 0000 0000 0003 0000 91B4 0000 229C 0000 
0000 428C 8B32 : 
26348.100 < 0078 0003 00C8 0001 0000 0146 0000 0000 0000 0002 0000 91B4 0000 193C 0000 
0000 0000 0000 0000 0000 : 
26348.100 < 0018 0003 00C4 0001 008A 0452 0000 0040 0000 0040 0000 0046 : 
26348.100 < 0020 0003 00C5 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 000A 0000 
0000 : 
26350.240 > 000A 0003 0059 0001 0001 : 
26350.244 < 0018 0003 00CA 0001 FD4B 0000 FD69 0000 0000 0081 0000 0002 : 
26350.244 > 000A 0003 0056 0001 0001 : 
26350.252 < 0024 0003 00C7 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 : 
May 21 01:24:44.342: Control message history for (1, 5, 4), call_id 0x20060 
26504.196 > 0008 0004 0047 BEAD : 
26504.196 > 0026 0004 0048 BEAE 0004 0002 015E 01B8 1B1E 1B1E 0001 FFFF 0000 0000 0000 
0000 0000 0000 0000 : 
26504.196 > 000C 0083 0027 BE33 000C 0000 : 
26514.196 > 0008 0004 0047 C117 : 
26514.196 > 0018 0004 0049 C118 0001 00A0 00FA 0040 0001 0023 0002 0000 : 
26514.196 > 000E 0004 0074 C119 0000 0000 1770 : 
26514.196 > 0026 0004 0048 C11A 0003 0002 01E0 026C 199A 199A 0001 00FA 00FA 0000 0000 
0000 0000 0000 0000 : 
26519.252 < 000C 0083 00A1 0000 000C 888A : 
26519.604 > 0008 0004 0047 C26E : 
26519.604 > 000C 0083 0027 C26C 0004 0000 : 
26519.604 > 0008 0004 0047 C26F : 
26519.604 > 0008 0004 0044 C270 : 
26519.604 > 0008 0004 004B C271 : 
26520.004 < 000C 0083 00A1 0000 0004 8B78 : 
26521.604 > 0008 0083 0028 C2E7 : 
26521.604 < 000A 0083 00A2 C2E7 0004 : 
26544.208 < 000C 0083 00A1 0000 0000 EA00 : 
26546.212 < 000C 0083 00A1 0000 0004 F1D2 : 
26546.216 > 0010 0004 004A C903 0000 0083 0003 0000 : 
26546.216 > 0026 0004 005C C904 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26546.216 > 0012 0004 004C C905 0001 003C 0028 00C8 012C : 
26546.216 > 0008 0004 0043 C906 : 
26546.216 > 000E 0004 0042 C907 0000 FFEB 0007 : 
26546.216 > 000E 0004 0074 C908 0000 0000 1770 : 
26546.216 > 000C 0004 005B C909 0000 0000 : 
26546.216 > 0026 0004 005C C90A 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26546.216 > 0018 0004 0049 C90B 0001 00A0 00FA 0040 0001 0023 0002 0000 : 
26546.216 > 000E 0004 0074 C90C 0000 0000 1770 : 
26546.216 > 000A 0004 0041 C90D 0000 : 
26546.216 > 000A 0004 006A C90E 0000 : 
26546.216 > 0008 0004 0047 C90F : 
26546.216 > 0026 0004 0048 C910 0004 0002 015E 01B8 1B1E 1B1E 0001 FFFF 0000 0000 0000 
0000 0000 0000 0000 : 
26546.216 > 0008 0004 0047 C911 : 
26546.216 > 0026 0004 0048 C912 0004 0002 015E 01B8 1B1E 1B1E 0001 FFFF 0000 0000 0000 
0000 0000 0000 0000 : 
26546.216 > 000C 0083 0027 C694 000C 0000 : 
26556.216 > 0008 0004 0047 CB22 : 
26556.216 > 0018 0004 0049 CB23 0001 00A0 00FA 0040 0001 0023 0002 0000 : 
26556.216 > 000E 0004 0074 CB24 0000 0000 1770 : 
26556.216 > 0026 0004 0048 CB25 0003 0002 01E0 026C 199A 199A 0001 00FA 00FA 0000 0000 
0000 0000 0000 0000 : 
26561.272 < 000C 0083 00A1 0000 000C 2CA2 : 
May 21 01:24:44.346: Periodic message history for (1, 5, 4), call_id 0x20060 
24286.984 < 0024 0004 00C7 0001 0000 01BD 0000 0000 0000 0003 0003 1D4E 0000 22B0 0000 
0000 557F F759 : 
24286.984 < 0078 0004 00C8 0001 0000 01BB 0000 0000 0000 0003 0003 1D4E 0000 2260 0000 
0000 0000 0000 0000 0000 : 
24286.984 < 0018 0004 00C4 0001 430F 7253 0000 0037 0000 0037 0000 0046 : 
24286.984 < 0020 0004 00C5 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 000A 0000 
0000 : 
24287.988 > 000A 0004 0059 0001 0001 : 
24287.992 < 0018 0004 00CA 0001 FCE7 0000 FCE7 0000 FD33 04FD 0197 0002 : 
24287.992 > 000A 0004 0056 0001 0001 : 
24287.996 < 0024 0004 00C7 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 : 
25555.732 > 000A 0004 0056 0001 0000 : 
25555.732 > 000A 0004 0057 0001 0000 : 
25555.732 > 000A 0004 0053 0001 0000 : 
25555.732 > 000A 0004 0054 0001 0000 : 
25555.736 < 0024 0004 00C7 0001 0000 0038 0000 0000 0000 0000 0000 046A 0000 046A 0000 
0000 F538 B77E : 
25555.736 < 0078 0004 00C8 0001 0000 0033 0000 0000 0000 0000 0000 046A 0000 03CA 0000 
0000 0000 0000 0000 0000 : 
25555.736 < 0018 0004 00C4 0001 F24E 2933 0000 0045 0000 0045 0000 0046 : 
25555.736 < 0020 0004 00C5 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 : 
25558.964 > 000A 0004 0059 0001 0001 : 
25558.968 < 0018 0004 00CA 0001 FCE7 0000 FD3B 0000 FD47 FED8 00C8 0002 : 
25558.968 > 000A 0004 0056 0001 0001 : 
25558.976 < 0024 0004 00C7 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 : 
May 21 01:24:48.857: %DSPRM-5-UPDOWN: DSP 5 in slot 1, changed state to up 
May 21 01:24:48.857: vnm_dsp_close_sig_channel: voice tdm disconnect failed 
May 21 01:24:48.857: - channel (1/1/4/1/5/2) still hairpinned 
 
May 21 01:24:48.857: %LINK-3-UPDOWN: Interface Foreign Exchange Office 1/1:3(16), changed 
state to up 

The information from the Voice DSP Mini-Logger shows that this is not a DSP crash, but rather a DSP timeout that was seen on the channel 1 of DSP 5 in card 1 for an ISDN call that was connected and disconnected immediately. The cause of the timeout was that Cisco IOS was not receiving or ignoring the DSP's response to the error stat request sent by Cisco IOS at the end of the call. The DSP seems to have sent the error stat response in a timely fashion (8 ms later), so it can be assumed that this is a case of the message being lost or ignored by Cisco IOS or Cisco IOS not stopping the error stat wait timer on reception of the error stats from the DSP.

Troubleshooting Tips

To display the errors that have been recorded for DSPs, use the show voice dsp error command.

Trapping Mute Calls

Perform this task to trap mute calls.

SUMMARY STEPS

1. enable

2. configure terminal

3. voice call trap deviation percent [ vad ]

4. exit

5. debug voice call trap {fsm}

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

voice call trap deviation percent [ vad ]

Example:

Router# configure terminal

Configures parameters for trapping mute calls.

Step 4 

exit

Example:

Router# configure terminal

Exits to Privileged EXEC mode.

Step 5 

debug voice call trap {fsm}

Example:

Router# configure terminal

Enables mute call trapping.

Troubleshooting Tips

To display the VTSP FSM information for active calls, use the show voice vtsp call fsm command.

Sending the DSP ID Out Through AAA Records

Perform this task to send DSP identifiers through AAA records.

SUMMARY STEPS

1. enable

2. configure terminal

3. gw-accounting aaa

4. attribute dsp-id transmit

5. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

gw-accounting aaa

Example:

Router# gw-accounting aaa

Enables accounting.

Step 4 

attribute dsp-id transmit

Example:

Router(config-gw-accounting-aaa)# attribute dsp-ip transmit

Sends the DSP identifier out through AAA records

Step 5 

exit

Example:

Router(config-gw-accounting-aaa)# exit

Exits to global configuration mode.

Command Reference

This section documents new commands only. **FIX RELATED**

attribute dsp-id transmit

voice call trap deviation

voice dsp command history buffer

voice dsp command history enable

debug voice call trap

show voice dsp command history

show voice dsp error

show voice vtsp call fsm

attribute dsp-id transmit

To send the DSP identifier out through AAA records, use the attribute dsp-id tramsmit command in gateway accounting AAA configuration mode. To disable, use the no form of this command.

attribute dsp-id tramsmit

no attribute dsp-id tramsmit

Syntax Description

This command has no arguments or keywords.

Command Default

The DSP ID is not sent.

Command Modes

Gateway accounting AAA configuration

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

This command is used when configuring gateway accounting. The DSP identifier is sent as a vendor-specific attribute (VSA) to the Radius server. For more information about VSAs and Radius servers, see the RADIUS VSA Voice Implementation Guide.

Examples

The following example shows the DSP ID being sent with AAA accounting records:

gw-accounting aaa
 attribute dsp-id transmit

Related Commands

Command
Description

gw-accounting aaa

Enables VoIP gateway accounting.


voice call trap deviation

To configure parameters for trapping mute calls, use the voice call trap deviation command in Privileged EXEC (?) configuration mode. To disable, use the no form of this command.

voice call trap deviation percent [ vad ]

no voice call trap deviation percent [ vad ]

Syntax Description

percent

Percentage of deviation from the normal amount of voice packets expected for the call.

vad

Indicates that voice activity detection (VAD) is being used.


Command Default

Deviation is 95%

Command Modes

Privileged EXEC

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

When call legs are conferenced together, the connection is noted in the call entry. When the call legs are disconnected, the packet statistics are collected and then compared to check if the expected number of packets between the two call legs is within the bounds of the configured deviation. If the expected number of packets has flowed, the call will not be flagged. If the number of packets falls outside of the expected number, the call is flagged as a potential mute call. For a call with VAD turned on, the expected number of packets to be flagged is about 2% of the non-VAD case.

Examples

The following example shows a voice call trap set at 90% deviation for VAD calls:

voice call trap deviation 90 vad

Related Commands

Command
Description

debug voice call trap

Enables mute call trapping


voice dsp command history buffer

To configure the buffer sizes for the voice DSP command history logs, use the voice dsp command history buffer command in global configuration mode.

voice dsp dsp_slot command history buffer { control | periodic } buffer_size

Syntax Description

dsp_slot

The slot that contains the digital signal processor (DSP).

control

(Optional) Configures the buffer size for the control message log only.

periodic

(Optional) Configures the buffer size for the periodic message log only.

buffer_size

Size, in bytes, of the buffer for each DSP channel. Default is 6800 bytes for the control message log and 3400 bytes for the periodic message log.


Command Default

Buffer size is configured for both control and periodic message logs.

Command Modes

Global configuration.

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

The buffer for the DSP messages is a circular buffer The buffer maintains pointers to the earliest and latest messages in the buffer. When a new message is to be logged, it is saved after the latest message. In case the message to be saved is larger than the amount of memory available in the buffer, the earliest message gets deleted. The memory that was used for the deleted message is made available, which is then used for saving the new message.

Examples

The following example shows the buffer size for the control message for the DSP in slot 2 set for 7200 bytes:

voice dsp 2 command history buffer control 7200

Related Commands

Command
Description

show voice dsp command history

Displays the contents of the voice DSP command history logs.

voice dsp command history enable

Enables voice DSP command history logging.

voice dsp command history max-logger-print

Enables the DSP command history logs to automatically print data that has been saved in the buffer when Cisco IOS call processing code detects DSP alarm or timeout conditions.


voice dsp command history enable

To enable voice DSP command history logging, use the voice dsp command history enable command in global configuration mode. To disable voice DSP command history logging, use the no form of this command.

voice dsp dsp_slot command history enable

no voice dsp dsp_slot command history enable

Syntax Description

dsp_slot

The slot that contains the digital signal processor (DSP).


Command Default

Voice DSP command information is not logged.

Command Modes

Global configuration.

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

The voice dsp command history enable command starts the logging of control and periodic messages to the DSP command history logs. Use the voice dsp command history buffer command to control the size of the buffer. Use the show voice dsp command history command to view the contents of the buffer.

Examples

The following example shows DSP command history logging being enabled on the DSP in slot 3:

voice dsp 3 command history enable

Related Commands

Command
Description

show voice dsp command history

Displays the contents of the voice DSP command history logs.

voice dsp command history buffer

Configures the buffer sizes for the voice DSP command history logs.

voice dsp command history max-logger-print

Enables the DSP command history logs to automatically print data that has been saved in the buffer when Cisco IOS call processing code detects DSP alarm or timeout conditions.


voice dsp command history max-logger-print

To enable the DSP command history logs to automatically print data that has been saved in the buffer when Cisco IOS call processing code detects DSP alarm or timeout conditions, use the voice dsp command history max-logger-print command in global configuration mode. To disable the automatic printing, use the no form of this command.

voice dsp dsp_slot command history max-logger-print max_logs

no voice dsp dsp_slot command history max-logger-print max_logs

Syntax Description

dsp_slot

The slot that contains the digital signal processor (DSP).

max_logs

The number of times the logs will print when a DSP alarm or timeout condition is encountered. Range is 1 to 1000. Default is 0.


Command Default

The number of automatic printings is set to zero.

Command Modes

Global configuration.

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

The voice dsp command history max-logger-print command causes the logs to be printed automatically when a DSP alarm or timeout occurs. The number of printings specified in the command are decremented each time a log is printed until it reaches zero, and no more logs are automatically printed.

Examples

The following example shows that the logs for errors on the DSP in slot 3 will be printed 50 times before the counter runs out:

voice dsp 3 command history max-logger-print 50

Related Commands

Command
Description

show voice dsp command history

Displays the contents of the voice DSP command history logs.

voice dsp command history buffer

Configures the buffer sizes for the voice DSP command history logs.

voice dsp command history enable

Enables voice DSP command history logging.


debug voice call trap

To enable mute call trapping, use the debug voice call trap command in privileged EXEC mode. To disable, use the no form of this command.

debug voice call trap {fsm}

no debug voice call trap {fsm}

Syntax Description

fsm

The finite state machine (FSM) is dumped if an abnormality is detected for the call.


Command Default

This command is not enabled.

Command Modes

Privileged EXEC

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

When call legs are conferenced together, the connection is noted in the call entry. When the call legs are disconnected, the packet statistics are collected and then compared to check if the expected number of packets between the two call legs is within the bounds of the configured deviation. If the expected number of packets has flowed, the call will not be flagged. If the number of packets falls outside of the expected number, the call is flagged as a potential mute call.

Examples

The following example **NEED MEANINGFUL DEBUG OUTPUT**:

Router# command example

Table 7 describes the significant fields shown in the display.

Table 7 debug xxx Field Descriptions 

Field
Description

<<B1_Body1 text>>

 

<<B1_Body1 text>>

 

Related Commands

Command
Description

voice call trap deviation

Configures parameters for trapping mute calls.


show voice dsp command history

To display the voice DSP messages logged in the buffers, use the show voice dsp command history command in Privileged EXEC mode.

show voice dsp command history dsp_slot

Syntax Description

dsp_slot

The slot that contains the digital signal processor (DSP).


Command Default

No default behavior or values

Command Modes

Privileged EXEC

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

Use the show voice dsp command history to show any messages captured in the DSP command history logs. The voice dsp command history enable command starts the logging of control and periodic messages to the DSP command history logs. Use the voice dsp command history buffer command to control the size of the buffer.

Examples

The following example shows a router with the Voice DSP Mini-Logger enabled when a DSP TIMEOUT occurs:

Router# show voice dsp command history 5

May 21 01:24:44.334: %VTSP-3-DSP_TIMEOUT: DSP timeout on event 0x6: DSP ID=0x61: DSP error 
stats (call mode=0)id=0x20097 state=S_WAIT_ERROR_STAT chan_id=1/0:23:131223 
Stack 0:

 
State Transitions: timestamp (state, event) -> ... 
26557.572 (S_SETUP_INDICATED, E_CC_PROCEEDING) -> 
26557.604 (S_PROCEEDING, E_TSP_DISCONNECT_IND) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_ALERT) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_BRIDGE) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_CONNECT) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_BRIDGE_DROP) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_DISCONNECT) -> 
Event Counts (zeros not shown): (event, count) 
(E_TSP_DISCONNECT_IND, 1) :(E_CC_CONNECT, 1) :(E_CC_ALERT, 1) :(E_CC_PROCEEDING, 1) 
(E_CC_BRIDGE, 1) :(E_CC_BRIDGE_DROP, 1) :(E_CC_DISCONNECT, 1) : 
State Counts (zeros not shown): (state, count) 
(S_SETUP_INDICATED, 1) :(S_PROCEEDING, 1) :(S_WAIT_HOST_DISC, 5) : 

 
May 21 01:24:44.334: , chnl info(1, 5, 0) 
May 21 01:24:44.334: Control message history for (1, 5, 1), call_id 0x0 
26556.800 > 0008 0001 0047 CB38 : 
26556.800 > 0008 0001 0044 CB39 : 
26556.800 > 0008 0001 0047 CB3A : 
26556.800 > 0008 0001 0044 CB3B : 
26556.800 > 0008 0001 004B CB3C : 
26557.272 > 0010 0001 004A CB4E 0000 0080 0000 0000 : 
26557.272 > 0026 0001 005C CB4F 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26557.272 > 0012 0001 004C CB50 0001 003C 0028 00C8 012C : 
26557.272 > 0008 0001 0043 CB51 : 
26557.272 > 000E 0001 0042 CB52 0000 FFEB 0007 : 
26557.272 > 000E 0001 0074 CB53 0000 0000 1770 : 
26557.272 > 000C 0001 005B CB54 0000 0000 : 
26557.300 > 000A 0001 006A CB5C 0000 : 
26557.572 > 0010 0001 004A CB5F 0000 0080 0000 0000 : 
26557.572 > 0026 0001 005C CB60 0002 0000 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26557.572 > 0012 0001 004C CB61 0001 003C 0028 00C8 012C : 
26557.572 > 0008 0001 0043 CB62 : 
26557.572 > 000E 0001 0042 CB63 0000 FFEB 0007 : 
26557.572 > 000E 0001 0074 CB64 0000 0000 1770 : 
26557.572 > 000C 0001 005B CB65 0000 0000 : 
26557.604 > 0008 0001 0044 CB76 : 
26557.604 > 0008 0001 0044 CB78 : 
26557.604 > 0010 0001 004A CB79 0000 0080 0000 0000 : 
26557.604 > 0026 0001 005C CB7A 0002 0014 0000 0000 0000 0000 0000 000D 0065 0000 0000 
0000 0000 0000 0065 : 
26557.604 > 0012 0001 004C CB7B 0001 003C 0028 00C8 012C : 
26557.604 > 0008 0001 0043 CB7C : 
26557.604 > 000E 0001 0042 CB7D 0000 FFEB 0007 : 
26557.604 > 000E 0001 0074 CB7E 0000 0000 1770 : 
26557.604 > 000C 0001 005B CB7F 0000 0000 : 
26557.604 > 0018 0001 0049 CB80 0001 00A0 00FA 0040 0001 0023 0002 0000 : 
26557.604 > 000E 0001 0074 CB81 0000 0000 1770 : 
26557.608 > 000A 0001 006A CB93 0000 : 
26557.608 > 000A 0001 006A CB94 0000 : 
26557.608 > 000A 0001 0006 0001 0001 : 
26557.616 < 002C 0001 00C6 0001 0000 0000 0000 0000 0022 0000 0000 0002 0000 0002 0002 
005B 0049 0074 006A 006A :
 
26561.608 > 0008 0001 0047 CC06 : 
26561.608 > 0008 0001 0044 CC07 : 
26561.608 > 0008 0001 0047 CC08 : 
26561.608 > 0008 0001 0044 CC09 : 
26561.608 > 0008 0001 004B CC0A :

Table 8 describes the significant fields shown in the display.

Table 8 show voice dsp command history Field Descriptions 

Field
Description
May 21 01:24:44.334: %VTSP-3-DSP_TIMEOUT: DSP timeout 
on event 0x6: DSP ID=0x61: DSP error stats (call 
mode=0)id=0x20097 state=S_WAIT_ERROR_STAT 
chan_id=1/0:23:131223 
Stack 0:

In the first entry, the DSP timeout was on event 0x6 (message type 6 is get_error_stats). This is the most common failure because it is the only one that has its response waited for at the end of a call. Therefore, the timeout was a result of an ISDN call (shown by chan_id=1/0:23) that IOS was expecting the stats from a call that disconnected. The DSP timed out waiting for the call either because the call was never sent or because it was beyond the wait for error stats timer. Therefore, in the finite state machine, the last state that IOS was in when the DSP timed out was state=S_WAIT_ERROR_STAT.

 
State Transitions: timestamp (state, event) -> ... 
26557.572 (S_SETUP_INDICATED, E_CC_PROCEEDING) -> 
26557.604 (S_PROCEEDING, E_TSP_DISCONNECT_IND) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_ALERT) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_BRIDGE) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_CONNECT) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_BRIDGE_DROP) -> 
26557.608 (S_WAIT_HOST_DISC, E_CC_DISCONNECT) -> 
Event Counts (zeros not shown): (event, count) 
(E_TSP_DISCONNECT_IND, 1) :(E_CC_CONNECT, 1) 
:(E_CC_ALERT, 1) :(E_CC_PROCEEDING, 1) 
(E_CC_BRIDGE, 1) :(E_CC_BRIDGE_DROP, 1) 
:(E_CC_DISCONNECT, 1) : 
State Counts (zeros not shown): (state, count) 
(S_SETUP_INDICATED, 1) :(S_PROCEEDING, 1) 
:(S_WAIT_HOST_DISC, 5) :

In the events that follow the State Transitions event, the IOS state machine shows that the call connected and disconnected at a DSP timestamp of 26557.608. The numbers to the left of the decimal point are counted in seconds, whereas the numbers to the right of the decimal are milliseconds and increment by ticks (for example, 4ms). The call was in a state of S_PROCEEDING when it received a disconnect event (E_TSP_DISCONNECT_IND). This put the call in a state S_WAIT_HOST_DISC. Up to this point it looks alright, but then the call is bridged ( E_CC_BRIDGE) and connected (E_CC_CONNECT) despite being in a state where it is expecting to be disconnected (S_WAIT_HOST_DISC). Finally, the disconnect event comes in (E_CC_DISCONNECT) and the call is disconnected. Oddly, this all happened in the same timestamp. The cause of the disconnect is not yet clear.

May 21 01:24:44.334: , chnl info(1, 5, 0) 
May 21 01:24:44.334: Control message history for (1, 
5, 1), call_id 0x0 
26556.800 > 0008 0001 0047 CB38 : 
26556.800 > 0008 0001 0044 CB39 : 
26556.800 > 0008 0001 0047 CB3A : 
26556.800 > 0008 0001 0044 CB3B : 
26556.800 > 0008 0001 004B CB3C : 
26557.272 > 0010 0001 004A CB4E 0000 0080 0000 0000 : 
26557.272 > 0026 0001 005C CB4F 0002 0000 0000 0000 
0000 0000 0000 000D 0065 0000 0000 0000 0000 0000 
0065 : 
26557.272 > 0012 0001 004C CB50 0001 003C 0028 00C8 
012C : 
26557.272 > 0008 0001 0043 CB51 : 
26557.272 > 000E 0001 0042 CB52 0000 FFEB 0007 : 
26557.272 > 000E 0001 0074 CB53 0000 0000 1770 : 
26557.272 > 000C 0001 005B CB54 0000 0000 : 
26557.300 > 000A 0001 006A CB5C 0000 : 
26557.572 > 0010 0001 004A CB5F 0000 0080 0000 0000 : 
26557.572 > 0026 0001 005C CB60 0002 0000 0000 0000 
0000 0000 0000 000D 0065 0000 0000 0000 0000 0000 
0065 : 
26557.572 > 0012 0001 004C CB61 0001 003C 0028 00C8 
012C : 
26557.572 > 0008 0001 0043 CB62 : 
26557.572 > 000E 0001 0042 CB63 0000 FFEB 0007 : 
26557.572 > 000E 0001 0074 CB64 0000 0000 1770 : 
26557.572 > 000C 0001 005B CB65 0000 0000 : 
26557.604 > 0008 0001 0044 CB76 : 
26557.604 > 0008 0001 0044 CB78 : 
26557.604 > 0010 0001 004A CB79 0000 0080 0000 0000 : 
26557.604 > 0026 0001 005C CB7A 0002 0014 0000 0000 
0000 0000 0000 000D 0065 0000 0000 0000 0000 0000 
0065 : 
26557.604 > 0012 0001 004C CB7B 0001 003C 0028 00C8 
012C : 
26557.604 > 0008 0001 0043 CB7C : 
26557.604 > 000E 0001 0042 CB7D 0000 FFEB 0007 : 
26557.604 > 000E 0001 0074 CB7E 0000 0000 1770 : 
26557.604 > 000C 0001 005B CB7F 0000 0000 : 
26557.604 > 0018 0001 0049 CB80 0001 00A0 00FA 0040 
0001 0023 0002 0000 : 
26557.604 > 000E 0001 0074 CB81 0000 0000 1770 : 
26557.608 > 000A 0001 006A CB93 0000 : 
26557.608 > 000A 0001 006A CB94 0000 : 
26557.608 > 000A 0001 0006 0001 0001 : 
26557.616 < 002C 0001 00C6 0001 0000 0000 0000 0000 
0022 0000 0000 0002 0000 0002 0002 005B 0049 0074 
006A 006A :

The information at the beginning of the Control message history entry is the DSP message dump for for channel 1 on DSP 5 on card 1 (Control message history for (1, 5, 1)). Look for the first message coming from the DSP indicated by the'<' after the time stamp. Note that this message, at timestamp 26557.616 with a 00C6 entry (MSG_TX_GET_ERROR_STAT), occurred two ticks (8 ms) after the disconnect of the call. At the previous message sent to the DSP (indicated by the '>' after the time stamp), Cisco IOS requests the error statistics (a 0x6 message) for the call that disconnected at 26557.608. This shows that the DSP responds with the error statistics of the disconnected call two ticks after it is requested by Cisco IOS. The VTSP_DSP_STATS_COLLECT_TIMER in IOS is four seconds, so the DSP responded well within timer expiry. It is likely that this message was dropped between the DSP and Cisco IOS. This implies that you should look for drops between the DSP and IOS in "test voice driver" (the show controller option). It has been established that this is not a DSP crash, rather only a DSP timeout.

26561.608 > 0008 0001 0047 CC06 : 
26561.608 > 0008 0001 0044 CC07 : 
26561.608 > 0008 0001 0047 CC08 : 
26561.608 > 0008 0001 0044 CC09 : 
26561.608 > 0008 0001 004B CC0A :

After the message from the DSP at 26557.616, the rest is normal call teardown.


Related Commands

Command
Description

voice dsp command history buffer

Configures the buffer sizes for the voice DSP command history logs.

voice dsp command history enable

Enables voice DSP command history logging.

voice dsp command history max-logger-print

Enables the DSP command history logs to automatically print data that has been saved in the buffer when Cisco IOS call processing code detects DSP alarm or timeout conditions.


show voice dsp error

To display the errors that have been recorded for DSPs, use the show voice dsp error command in Privileged EXEC mode.

show voice dsp error

Command Default

No default behavior or values

Command Modes

Privileged EXEC

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

DSP errors that appear in the logs range from timeouts encountered on specific DSPs to lost messages.

Examples

The following example **NEED MEANINGFUL SHOW OUTPUT**:

Router# command example

<<Table number>> describes the significant fields shown in the display.

Table 9 show xxx Field Descriptions 

Field
Description

<<B1_Body1 text>>

 

<<B1_Body1 text>>

 

show voice vtsp call fsm

To display the VTSP FSM information for active calls, use the show voice vtsp call fsm command in Privileged EXEC mode.

show voice vtsp call fsm call_id

Syntax Description

call_id

Identifier for the active call.


Command Default

No default behavior or values

Command Modes

Privileged EXEC

Command History

Release
Modification

12.4(X)T

This command was introduced.


Usage Guidelines

This command is used to display the current FSM status for either a specific call on the Cisco IOS router, or all of the calls on the router.

Examples

The following example **NEED MEANINGFUL SHOW OUTPUT**:

Router# command example

<<Table number>> describes the significant fields shown in the display.

Table 10 show xxx Field Descriptions 

Field
Description

<<B1_Body1 text>>

 

<<B1_Body1 text>>