Monday, 29 September 2014

Pankaj Bhagchandani,G Pankaj Bhagchandani, G Pankaj Bhagchandani G, Pankaj G Bhagchandani G, Pankaj Bhagchandani G, Pankaj G Bhagchandani,

Filtering Troubleshooting Output


Revised: October 31, 2005
This chapter describes how to filter troubleshooting output. The methods for filtering this output are as follows:

Filtering Output from show and more Commands

In Cisco IOS Release 12.0(1)T and later releases, you can search and filter the output of show and more commands. This functionality is useful if you need to sort through large amounts of output or if you want to exclude output that you need not see.
To use this functionality, enter a show or more command followed by the vertical line character (|); one of the keywords begininclude, or exclude; and a regular expression on which you want to search or filter (the expression is case-sensitive):
command | [begin | include | excluderegular-expression
The output matches certain lines of information in the configuration file. The following example illustrates how to use output modifiers with the show interface command when you want the output to include only lines in which the expression "protocol" appears:
Router# show interface | include protocol

FastEthernet0/0 is up, line protocol is up
Serial4/0 is up, line protocol is up
Serial4/1 is up, line protocol is up
Serial4/2 is administratively down, line protocol is down
Serial4/3 is administratively down, line protocol is down

For more information on the search and filter functions, see the "Using the Command-Line Interface" chapter in the Cisco IOS Configuration Fundamentals Configuration Guide, Release 12.3.

Voice Call Debug Filtering on Cisco Voice Gateways

Use voice call debug filtering to get selected debugging traces for voice calls. This feature allows you to filter and trace voice call debug messages based on selected filtering criteria, reducing the volume of output for more efficient troubleshooting.
This section contains the following information:

Restrictions for Voice Call Debug Filtering

End-to-end filtering between gateways is not supported.
Filtering for CAS, IOS-AAA, IVR Version 1.0, media, and VoiceXML is not supported.
Matching conditions cannot be set for specific signaling protocols.
Matching conditions based on current DSP information are not supported.

Information About Voice Call Debug Filtering

Information from using debug commands for voice calls is crucial for troubleshooting, but the volume of raw data can be very large. In order to isolate the most valuable data, use the Voice Call Debug Filtering feature. This feature allows the debug output for the voice call to be filtered according to a variety of criteria, including:
Calling party number with prefix
Called party number with prefix
Carrier IDs
Dial peers
Local IP address
Remote IP address
Telephony interface or port
Trunk groups

Note Call filtering also works on IP-to-IP gateway connections using H.323.

The selected criteria are set on the gateway, and different sets of criteria can be stored.
To better understand the voice call debug filtering on Cisco voice gateways, see the following sections:

Debug Commands that Support Voice Call Filtering

When a call filter is applied, the filtering applies to all of the debugs affected by the call filter. Debug commands that support voice call debug filtering include the following:
debug cch323 h225
debug cch323 h245
debug cch323 preauth
debug cch323 session
debug ccsip all
debug ccsip calls
debug ccsip err
debug ccsip events
debug ccsip messages
debug ccsip preauth
debug ccsip states
debug mgcp all
debug mgcp endpoint
debug mgcp endptdb
debug mgcp errors
debug mgcp events
debug mgcp gcfm
debug mgcp inout
debug mgcp media
debug mgcp src
debug mgcp state
debug mgcp voipcac
debug voip aaa
debug voip ccapi error
debug voip ccapi inout
debug voip ipipgw
debug voip ivr all
debug voip ivr applib
debug voip ivr callsetup
debug voip ivr digitcollect
debug voip ivr dynamic
debug voip ivr error
debug voip ivr script
debug voip ivr settlement
debug voip ivr states
debug voip ivr tclcommands
debug voip rawmsg
debug vtsp all
debug vtsp dsp
debug vtsp error
debug vtsp event
debug vtsp port
debug vtsp rtp
debug vtsp send-nse
debug vtsp session
debug vtsp stats
debug vtsp vofr subframe
debug vtsp tone
debug vtsp vofr

Note See the Cisco IOS Debug Command Reference for detailed information about these debug commands.

Generic Call Filter Module

The debug commands described in the "Debug Commands that Support Voice Call Filtering" section support the following voice modules within the voice gateway:
CCAPI
Dial peers
H.323
ISDN
IVR (Version 2.0 only)
MGCP
SIP
SSAPP
TGRAM
Voice AAA
VTSP
The filtering for these modules is managed by the generic call filter module (GCFM). The filtering conditions are configured in the GCFM, and then the individual modules are informed when a call has to be filtered. The GCFM coordinates between multiple modules to handle filtering conditions.
All modules use the global unique identifier (GUID) to identify an individual call to GCFM. Each call is assigned a GUID and retains the same GUID throughout the entire network and over time. Gateway information and time stamp are embedded in the GUID. GUIDs identify an individual call among the multiple filtered-out calls so that the call can be isolated. For more information about GUIDs and the debug header, see the "Voice Debug Concepts" section on page 17.
Activity in the GCFM can be traced using the debug call filter detail and debug call filter inout commands. See the Cisco IOS Debug Command Reference for more information about these debug commands.

Calling and Called Number Strings

The string pattern for calling and called numbers can be either a complete telephone number or a partial telephone number with wildcard digits, represented by a period (.) character. Each "." represents a wildcard for an individual digit that the originating voice gateway expects to match. For example, if the calling and called number strings is defined as "555....", then any dialed string beginning with 555, plus at least four additional digits, matches this calling or called number.
Table 7 shows all of the wildcard symbols that are supported in the calling and called number strings.
Table 7 Symbols Used in Calling and Called Number Strings
Symbol
Description
.
Indicates a single-digit placeholder. For example, 555.... matches any dialed string beginning with 555, plus at least four additional digits.
[ ]
Indicates a range of digits. A consecutive range is indicated with a hyphen (-); for example, [5-7]. A nonconsecutive range is indicated with a comma (,); for example, [5,8]. Hyphens and commas can be used in combination; for example, [5-7,9].
Note Only single-digit ranges are supported. For example, [98-102] is invalid.
( )
Indicates a pattern; for example, 408(555). It is used in conjunction with the symbol ?, %, or +.
?
Indicates that the preceding digit occurred zero or one time. Enter ctrl-v before entering ? from your keyboard.
%
Indicates that the preceding digit occurred zero or more times. This functions the same as the "*" used in regular expression.
+
Indicates that the preceding digit occurred one or more times.
T
Indicates the interdigit timeout. The voice gateway pauses to collect additional dialed digits.


Note The period (.) is the only wildcard character that is supported for dial strings that are configured using the answer-address or incoming called-numbercommand.

Table 8 shows some examples of how these wildcard symbols are applied to the calling and called number strings and the dial string that results when dial string 4085550199 is matched to the calling or called number. The wildcard symbols follow regular expression rules.
Table 8 Number Matching Examples Using Wildcard Symbols 
Destination Pattern
Dial String Translation
String After Stripping 1
408555.+
408555, followed by one or more wildcard digits. This pattern implies that the string must contain at least seven digits starting with 408555.
0199
408555.%
408555, followed by zero or more wildcard digits. This pattern implies that the string must contain at least 408555.
0199
408555+
40855, followed by 5 repeated one or more times.
0199
408555%
40855, followed by 5 repeated zero or more times. Any explicitly matching digit before the % symbol is not stripped off.
50199
408555?
40855, followed by 5 repeated zero or one time. Any explicitly matching digit before the ? symbol is not stripped off.
50199
40855[5-7].+
40855, followed by 5, 6, or 7, plus any digit repeated one or more times.
50199
40855[5-7].%
40855, followed by 5, 6, or 7, plus any digit repeated zero or more times.
50199
40855[5-7]+0199
40855, followed by 5, 6, or 7 repeated one or more times, followed by 0199.
50199
408(555)+0199
408, followed by 555, which may repeat one or more times, followed by 0199.
5550199
1 These examples apply only to one-stage dialing, where DID is enabled on the inbound POTS dial peer. If the voice gateway is using two-stage dialing and collecting digits one at a time as dialed, then the call is routed immediately after a dial peer is matched and any subsequent dialed digits are lost.

In addition to wildcard characters, the following symbols can be used in the calling and called number strings:
Asterisk (*) and pound sign (#)—These symbols on standard touchtone dial pads can be used anywhere in the pattern. They can be used as the leading character (for example, *650), except on the Cisco 3600 series.
Dollar sign ($)—Disables variable-length matching. It must be used at the end of the dial string.

Exact and Partial Matching

The conditions under each set of call filters are inclusive, so if multiple conditions are specified under a filter, they are all matched. To compare different conditions, create additional filters.
Matching conditions are as follows:
Exact match—All related debug output is filtered until all conditions in the match list are explicitly met. This is the best choice for most situations because the output is the most concise.
Partial match—No related debug output is filtered until there is a single explicit match failure. As long as zero or more conditions are met, debug output is not filtered. This choice is useful in debugging call startup problems like digit collection, but is not ideal for many situations because of the large amount of debug output that might be generated before matches explicitly fail.

Media and Signaling Streams

Media streams carry voice, video, fax, and data. Examples of media streams are G.711 or G.723 encoded voice streams or fax data. With the voice call debug filter, the media streams are traced for the voice gateway receiving the media stream. Some traces associated with media streams can be filtered, such as SPI-level traces associated with opening and closing the media channels. However, media RTP/RTCP packet-level traces are not filtered.
Signaling streams include both address signaling and supervisory signaling. Examples of signaling streams include H.323 and SIP protocol streams. With the voice call debug filter, the signaling streams are traced for the gateway or endpoint for the signaling stream.

Configuring the Voice Call Debug Filter

To configure the voice call debug filter, perform the following tasks:

Configuring Call-Specific Conditions

Configure call-specific conditions to set the attributes that are filtered for voice calls.

SUMMARY STEPS

1. enable
2. configure terminal
3. call filter match-list number voice
4. incoming calling-number string
5. incoming called-number string
6. incoming secondary-called-number string
7. incoming port string
8. incoming signaling {local | remote} ipv4 ip_address
9. incoming media {local | remote} ipv4 ip_address
10. incoming dialpeer tag
11. source carrier-id string
12. source trunk-group-label group-number
13. outgoing calling-number string
14. outgoing called-number string
15. outgoing secondary-called-number string
16. outgoing port string
17. outgoing signaling {local | remote} ipv4 ip_address
18. outgoing media {local | remote} ipv4 ip_address
19. outgoing dialpeer tag
20. target carrier-id string
21. target trunk-group-label group-number
22. end

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 
call filter match-list numbervoice
Example:
Router(config)# call filter match-list 1 voice
Enters call filter match list configuration mode to define the filter conditions.
number—Numeric label that uniquely identifies the match list. Range is 1 to 16.
Note At least one of the following optional parameters (Step 4 to Step 21) for call filtering must be configured.
Step 4 
incoming calling-number string
Example:
Router(conf-call-filter-mlist)# incoming calling-number 408555
(Optional) Specifies the incoming calling number to be filtered.
string—Numeric string that identifies all or part of the incoming calling number.
Step 5 
incoming called-number string
Example:
Router(conf-call-filter-mlist)# incoming called-number 408555
(Optional) Specifies the incoming called number to be filtered.
string—Numeric string that identifies all or part of the incoming called number.
Step 6 
incoming secondary-called-numberstring
Example:
Router(conf-call-filter-mlist)# incoming secondary-called-number 408555
(Optional) Specifies the incoming secondary called number to be filtered.
The secondary called number is the number from the second stage in a two-stage scenario.
string—Numeric string that identifies all or part of the incoming secondary called number.
Step 7 
incoming port string
Example:
Router(conf-call-filter-mlist)# incoming port 1/0/0
(Optional) Specifies the incoming port to be filtered.
The telephony interfaces are defined for calls from the PSTN. The string value varies depending on the voice gateway.
string—Identifies the incoming port number. This value is platform-specific and varies between platforms.
Step 8 
incoming signaling {local |remote} ipv4 ip-address
Example:
Router(conf-call-filter-mlist)# incoming 
signaling local ipv4 192.168.10.255
(Optional) Specifies the incoming signaling IPv4 address.
local—Local voice gateway
remote—Remote IP device
ip-address—IP address of the local voice gateway.
Step 9 
incoming media {local | remote}ipv4 ip-address
Example:
Router(conf-call-filter-mlist)# incoming media local ipv4 192.168.10.255
(Optional) Specifies the incoming media IPv4 address.
local—Local voice gateway
remote—Remote IP device
ip-address—IP address of the local voice gateway.
Step 10 
incoming dialpeer tag
Example:
Router(conf-call-filter-mlist)# incoming dialpeer 14
(Optional) Specifies the incoming dial peer to be filtered.
tag—Digits that define a specific dial peer. Valid entries are 1 to 2147483647.
Step 11 
source carrier-id string
Example:
Router(conf-call-filter-mlist)# source carrier-id 4321
(Optional) Specifies the source carrier ID to be filtered.
string—Alphanumeric identifier for the carrier ID.
Step 12 
source trunk-group-label group-number
Example:
Router(conf-call-filter-mlist)# source trunk-group-label 20
(Optional) Specifies the source trunk group to be filtered.
group-number—A value from 0 to 23 that identifies the trunk group.
Step 13 
outgoing calling-number string
Example:
Router(conf-call-filter-mlist)# outgoing calling-number 408525
(Optional) Specifies the outgoing calling number to be filtered.
This number goes out after number translation and expansion are complete.
string—Numeric string that identifies all or part of the outgoing calling number.
Step 14 
outgoing called-number string
Example:
Router(conf-call-filter-mlist)# outgoing called-number 408525
(Optional) Specifies the outgoing called number to be filtered.
This number goes out after number translation and expansion are complete.
string—Numeric string that identifies all or part of the outgoing called number.
Step 15 
outgoing secondary-called-numberstring
Example:
Router(conf-call-filter-mlist)# outgoing 
secondary-called-number 408525
(Optional) Specifies the outgoing secondary called number to be filtered.
The secondary called number is the number from the second stage in a two-stage scenario.
string—Numeric string that identifies all or part of the outgoing secondary called number.
Step 16 
outgoing port string
Example:
Router(conf-call-filter-mlist)# outgoing port 1/0/0
(Optional) Specifies the outgoing port to be filtered.
The telephony interfaces are defined for calls from PSTN. The string value varies, depending on different voice gateways.
string—Identifies the outgoing port number. This value is voice gateway-specific and varies between voice gateways.
Step 17 
outgoing signaling {local |remote} ipv4 ip-address
Example:
Router(conf-call-filter-mlist)# outgoing signaling local ipv4 192.168.10.255
(Optional) Specifies the outgoing signaling IPv4 address for the gatekeeper managing the signaling.
local—Local voice gateway
remote—Remote IP device
ip-address—IP address of the local voice gateway.
Step 18 
outgoing media {local | remote}ipv4 ip-address
Example:
Router(conf-call-filter-mlist)# outgoing media local ipv4 192.168.10.255
(Optional) Specifies the outgoing media IPv4 address for the voice gateway receiving the media stream.
local—Local voice gateway
remote—Remote IP device
ip-address—IP address of the local voice gateway.
Step 19 
outgoing dialpeer tag
Example:
Router(conf-call-filter-mlist)# outgoing dialpeer 14
(Optional) Specifies the outgoing dial peer to be filtered.
tag—Digits that define a specific dial peer. Valid entries are 1 to 2147483647.
Step 20 
target carrier-id string
Example:
Router(conf-call-filter-mlist)# target carrier-id 4321
(Optional) Specifies the target carrier ID to be filtered.
string—Alphanumeric identifier for the carrier ID.
Step 21 
target trunk-group-label group-number
Example:
Router(conf-call-filter-mlist)# target trunk-group-label 20
(Optional) Specifies the target trunk group to be filtered.
group-number—A value from 0 to 23 that identifies the trunk group.
Step 22 
end
Example:
Router(conf-call-filter-mlist)#end
Exits to privileged EXEC mode.

Troubleshooting Tips

To verify the conditions that you have set, use the show call filter match-list command. This command displays the criteria set for the specified match list.

What to Do Next

After the conditions are set for the voice call debug, debug commands can be enabled. Proceed to the "Enabling Debug for the Set Filtering Conditions" section.

Enabling Debug for the Set Filtering Conditions

Use the debug command to enable the set conditions to get the filtered output.

Prerequisites

The conditions for the voice call debug filter must be set as described in the "Configuring Call-Specific Conditions" section.

SUMMARY STEPS

1. enable
2. debug condition match-list tag {exact-match partial-match}
3. debug cch323 {capacity | h225 | h245 | preauth | ras | rawmsg | session}
or
debug ccsip {all | calls | err | events | messages | preauth | states}
or
debug isdn q931
or
debug voip aaa
or
debug voip ccapi {error | inout}
or
debug voip ipipgw
or
debug voip ivr {all | applib | callsetup | digitcollect | dynamic | error | script | settlement | states | tclcommands}
or
debug voip rawmsg
or

debug vtsp {all | dsp | error | event | port | rtp | send-nse | session | stats | vofr subframe | tone | vofr}









































































No comments:

Post a Comment