Helpful Debugging Commands for Cisco UBEs
4 min read

Helpful Debugging Commands for Cisco UBEs

Show Dial-Peer Voice Summary

When deploying Cisco UBEs in High Availability (HA) mode, you will have different outputs depending on which UBE is active.

If the UBE is currently active within an HA Pair or your UBE is standalone, you will see the following assuming you are utilizing keepalives. Pay close attention to the OPER column, it will show you the UP or DOWN status of a Dial-Peer.

XX-XX-CUBE#show dial-peer voice summary
dial-peer hunt 0
             AD                                    PRE PASS SESS-SER-GRP\  OUT 
TAG    TYPE  MIN  OPER PREFIX    DEST-PATTERN      FER THRU SESS-TARGET    STAT PORT    KEEPALIVE    VRF
XXX    voip  up   up                                0  syst                                          NA                  
XXX    voip  up   up                                0  syst                                          NA                  
XXX    voip  up   up             map:XXX            1  syst ipv4:XXX.XXX.XXX.XXX          active     NA                  
XXX    voip  up   up             map:XXX            2  syst ipv4:XXX.XXX.XXX.XXX          active     NA                  
XXX    voip  up   up             map:XXX            3  syst ipv4:XXX.XXX.XXX.XXX          active     NA                  
XXX    voip  up   up                                0  syst                                          NA                  
XXX    voip  up   up             map:XXX            3  syst ipv4:XXX.XXX.XXX.XXX          active     NA                  
XXX    voip  up   up             map:XXX            4  syst ipv4:XXX.XXX.XXX.XXX          active     NA                  
XXX    voip  up   up             map:XXX            1  syst ipv4:XXX.XXX.XXX.XXX          active     NA

Test Voice Translation-Rule

I have the following translation rule, and I want to understand its effects on a presented number.

voice translation-rule 100
 rule 1 /^\([2-9].........$\)/ /\1/
 rule 2 /^1\([2-9].........$\)/ /\1/
 rule 3 /^\+1\([2-9].........$\)/ /\1/
 rule 4 /^9\([2-9].........$\)/ /\1/
 rule 5 /^91\([2-9].........$\)/ /\1/
 rule 6 /^9\+1\([2-9].........$\)/ /\1/

Let’s test it out. We want to find out how 912345678910 will be translated by rule 100. Note that the following test matches rule 5 of translation-rule 100.

XX-XX-CUBE#test voice translation-rule 100 912345678910
Matched with rule 5
Original number: 912345678910   Translated number: 2345678910
Original number type: none      Translated number type: none
Original number plan: none      Translated number plan: none

If you didn’t experience any matches, such as testing 9123456789100, the console will state such.

XX-XX-CUBE#test voice translation-rule 100 9123456789100
9123456789100 Didn't match with any of rules

Reloading a High Availability Cisco UBE Node

If you want to reload a High Availability Cisco UBE without causing an outage, you will use the following commands:

Reload the UBE you are currently logged into

redundancy application reload group 1 self

Reload the peer of the UBE you are currently logged into

redundancy application reload group 1 peer

Show Dialplan Number

If you want to know how a number will be routed based on the called number, you can perform a dialplan lookup. It will also show you what pattern map was utilized (if applicable). WARNING: This only applies to post-translation numbers. In that, if you have a rule that translates 91XXXXXXXXXX to XXXXXXXXXX you should perform a dialplan lookup on XXXXXXXXXX.

XX-XX-CUBE#show dialplan number 2345678910 
Macro Exp.: 2345678910

VoiceOverIpPeerXXX
        peer type = voice, system default peer = FALSE, information type = voice,
        description = `Dial-peer description',
        tag = XXX, destination-pattern = `',
        destination e164-pattern-map tag = XXX status = valid,
        voice reg type = 0, corresponding tag = 0,
        allow watch = FALSE
        answer-address = `', preference=1,
        CLID Restriction = None
        CLID Network Number = `'
        CLID Second Number sent 
        CLID Override RDNIS = disabled,
        rtp-ssrc mux = system
        source carrier-id = `', target carrier-id = `',
        source trunk-group-label = `',  target trunk-group-label = `',
        numbering Type = `unknown'
        group = XXX, Admin state is up, Operation state is up,
        incoming called-number = `',
connections/maximum = 7/unlimited,
        bandwidth/maximum = 560/unlimited,

Show Redundancy Application Group All

If you want to know the state of a High Availability UBE pair, perform the following. Please note the Role: Standby, this indicates the role of the UBE you are current logged into.

XX-XX-CUBE#show redundancy application group all
Faults states Group 1 info: 
        Runtime priority: [100]
                RG Faults RG State: Up. 
                        Total # of switchovers due to faults:           0
                        Total # of down/up state changes due to faults: 2

RG Protocol RG 1
------------------
        Role: Standby
        Negotiation: Enabled
        Priority: 100
        Protocol state: Standby-hot
        Ctrl Intf(s) state: Up
        Active Peer: address XXX.XXX.XXX.XXX, priority 150, intf Po1.795
        Standby Peer: Local
        Log counters:
                role change to active: 0
                role change to standby: 1
                disable events: rg down state 1, rg shut 0
                ctrl intf events: up 1, down 1, admin_down 0
                reload events: local request 0, peer request 0

Show Call Active Voice

If you want to view active calls you can utilize the following commands

Display the active calls in a compact easy to read view

XX-XX-CUBE#show call active voice compact
 <callID>  A/O FAX T<sec> Codec       type        Peer Address       IP R<ip>:<udp>        VRF
Total call-legs: 38
  12053203 ORG FAX T3374     t38         VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                
  12053202 ANS FAX T3374     t38         VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                  
  12055408 ORG FAX T247      t38         VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                  
  12055407 ANS FAX T247      t38         VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                   
  12056094 ORG     T42948746 g711ulaw    VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                 
  12056093 ANS     T42948746 g711ulaw    VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                   
  12056151 ORG     T42948638 g711ulaw    VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                  
  12056150 ANS     T42948638 g711ulaw    VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA                  
  12056169 ORG FAX T42948603 t38         VOIP        PXXXXXXXXXX   XXX.XXX.XXX.XXX:XXXXX    NA

Display the active call for a specific called number

XX-XX-CUBE#show call active voice called-number XXXXXXXXXX
Telephony call-legs: 0
SIP call-legs: 1
H323 call-legs: 0
Call agent controlled call-legs: 0
SCCP call-legs: 0
STCAPP call-legs: 0
Multicast call-legs: 0
Total call-legs: 1

 GENERIC:
SetupTime=2774975580 ms (17:48:06.669 EST Sun Nov 26 2023)
Index=1
PeerAddress=XXXXXXXXXX
PeerSubAddress=
PeerId=530

Display the active call for a specific calling number

XX-XX-CUBE#show call active voice calling-number XXXXXXXXXX 
Telephony call-legs: 0
SIP call-legs: 1
H323 call-legs: 0
Call agent controlled call-legs: 0
SCCP call-legs: 0
STCAPP call-legs: 0
Multicast call-legs: 0
Total call-legs: 1

 GENERIC:
SetupTime=2774975580 ms (17:48:06.669 EST Sun Nov 26 2023)
Index=1
PeerAddress=XXXXXXXXXX
PeerSubAddress=
PeerId=530

PCAP Capture

If you want capture a PCAP use the following commands. Please substitute CAPTUER_NAME with a description of the capture, INTERFACE_NAME with the name of the interface you'd like to capture, and DURATION with the amount of time in seconds to capture.

monitor capture CAPTURE_NAME interface INTERFACE_NAME both
monitor capture CAPTURE_NAME limit duration DURATION
monitor capture CAPTURE_NAME match ipv4 any any
monitor capture CAPTURE_NAME start
monitor capture CAPTURE_NAME export tftp://XXX.XXX.XXX.XXX/CAPTURE_NAME.pcap
monitor capture CAPTURE_NAME stop

Terminal Debugging

If you want to capture a good amount of logging, I use the following debugging commands

! Enable Debugging to Terminal
terminal monitor
! To disable terminal no monitor
undebug all
debug ccsip translate
debug ccsip message
debug ccsip error
debug ccsip info
debug voice ccapi inout
debug ccsip calls
! Optional if you are using an ISDN connection like a PRI/BRI/T1/E1 etc
! debug isdn q931
! Optional if you are using qsig 
! debug qsig
clear log