These techniques work on any Cisco IOS gateway with ISDN-2 or ISDN-30 interfaces, regardless of the protocol used to communicate with CallManager. (MGCP, SIP, etc)
First off, login to the IOS gateway, and enable terminal monitor:
# term mon
To view the layer two connectivity, use
debug isdn q921. This will show if you have basic connectivity working to the PSTN exchange.
To view ISDN signalling, use
debug isdn q931. Much of the information is fairly readable, but the cause codes are usually just displayed in hex. This Cisco document explains the meaning of the hex codes.
If you have a busy gateway (lots of calls or ISDN lines) there are a couple of techniques you can use to filter the calls.
First off, you can restrict the debugging to just one interface:
# debug isdn q931 int ser 0/0/0:15
Alternatively, you can filter based on calling or called number using the
debug cond options.
# debug cond calling 5551234
# debug cond called 5551234
You can enter multiple conditions and the gateway will “OR” them, showing the calls that match any of the conditions. Note that the numbers you enter into these debug conditions are the raw numbers seen by the gateway with its communication with the PSTN, before any alterations either by the gateway or CallManager.
I’d suggest configuring your debug conditions first, then enable the isdn q931 debugs – otherwise you’ll not be able to see what you’re typing.
sh debug cond will show you the conditions you’ve configured.
Once you’ve finished debugging, remember to issue a
no debug all to stop all debugging.
Another handy command is
sh voice calls active which, as its name suggest, shows all the current calls in progress through the gateway. BUT – this will not work on MGCP gateways.