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:
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**:
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**:
<<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**:
<<Table number>> describes the significant fields shown in the display.
Table 10 show xxx Field Descriptions
Field
|
Description
|
<<B1_Body1 text>>
|
|
<<B1_Body1 text>>
|
|
Copyright © 2005 Cisco Systems, Inc. All rights reserved.