Sunday, January 27, 2008

Couple of Things

I haven't blogged for a couple of weeks now and my typing finger is getting itchy. Please check out Post One as the reason for sharing my vast knowledge ( other than for the good of mankind of course!)I have been studying Gatekeeper off and on and almost ready to post my notes. In the mean time here are a couple of things I have run across the last couple of weeks to keep the blog active and useful.

First of all my daughter wishes to shout out that she has found a dress for her 8th grade dance! This of course will be the most important thing you read today so it is at the top.

We have implemented a couple of analog sites using H323 as opposed to MGCP. This was originally done to provide Caller ID to these sites since Caller ID using MGCP controlled FXO interfaces is not supported. What I have found is that H323 is quite easy to implement and I am seriously looking at using this instead of MGCP going forward. This will be a future blog subject on the differences between the two protocols and why I may chose to dump MGCP and use H323.

Clarus Systems makes a fine product that does many things that Call Manager does not do but should. You can use Clarus IPC to run reports on all aspects of Call Manager and run scripts to test your implementation. They also provide a tool to remotely control an IP Phone that comes in handy for troubleshooting. Clarus recently introduced an add on module to the product called Voice Monitor. This is advertised as a tool to monitor voice quality, service availability, and security conditions across the Call Manager environment. I installed it last week and what it is a GUI interface that provides SQL queries for Dummies functionality. Very useful if you have ever slogged through running SQL queries on Call Manager trying to find out who dialed 911 or may have had a bad VoIP experience. I think it can also be used as a 911 alerting tool instead of CER.

http://www.clarussystems.com/

Wednesday, January 9, 2008

Nortel/Cisco PRI Command Comparison

I was reading a article by Mike Skinner in the CIPTUG Insider Newsletter about his experiences going from being a voice guy focused on TDM technology, in particular Nortel, to an IPT guy working on Cisco telephony. Mike mentioned in his article that he would like to learn how to do some of the things he was able to do in the Nortel world on Cisco Gateways. such as tracing calls. Please check out Post One as the reason for sharing my vast knowledge (other than for the good of mankind of course!)

I share Mike's background. I worked on Nortel PBX systems for over 15 years before drinking the Kool-Aid. Here is an attempt to compare PRI platform status, troubleshooting techniques and call tracing. This assumes you know Nortel, are somewhat familiar with Cisco IOS commands for voice and have a basic understanding of PRIs and ISDN. There are numerous Nortel LD 60 and LD 96 commands I am only covering the most commonly used . Feel free to email me or post a comment if you have a question about some of the more esoteric Nortel commands.

Nortel - LD 60 STAT x
Cisco - sh voice call sum - shows all voice ports
sh voice call stat - shows active calls
sh voice port sum - also shows all voice ports with some different info

Nortel - LD 60 SSCK x
Cisco - sh network-clocks

Nortel - LD 60 LCNT x
Cisco - sh controller t1 x/x/x or just sh controller t1

Nortel - LD 96 STAT DCH x
Cisco - sh isdn stat
- sh int ser x/x/x:23

Guess I need to go into some more detail here. For Cisco you should determine if H.323 or MGCP is being used. In both cases Layer 2 Q.921 signaling messages are terminated at the gateway. On MGCP implementations the D-Channel Q.931 signaling (Layer 3) is backhauled across the WAN to the Call Manager on TCP port 2428. In either case you are looking for:

sh isdn stat
Q.931 is backhauled to CCM MANAGER 0x003 on DSL 1. Layer 3 output may not apply
ISDN Serial0/2/0:23 interface
dsl 1, interface ISDN Switchtype = primary-ni
L2 Protocol = Q.921 0x0000 L3 Protocol(s) = CCM MANAGER 0x0003
Layer 1 Status:
ACTIVE
Layer 2 Status:
TEI = 0, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED
Layer 3 Status:
0 Active Layer 3 Call(s)


Note that this is a MGCP connection since the PRI is backhauled.

Layer 1 is active so that indicates that the circuit is good from a connectivity standpoint - no flipped pairs!
Layer 2 shows MULTIPLE_FRAME_ESTABLISHED - this indicates the D-channel is communicating with the far end.

The first place I would look if either Layer One was down or if the D-channel was not established is the T1 controller. This shows a status of the circuit and will display various alarms if present and all of the counters needed for problem determination. If Layer One is ok but the D-channel still will still not establish verify that your ISDN switch type is correct and that the proper network emulation is being used. In most cases the router should be the default which is "user". If connecting to a PBX the gateway may need to emulate the network side. The "isdn protocol-emulate network" command can be used under the PRI serial x/x/x:23 interface if need be.

sh controller t1
T1 0/2/0 is up.
Applique type is Channelized T1
Cablelength is short 133
Description: Verizon PRI
No alarms detected.
alarm-trigger is not set
Soaking time: 3, Clearance time: 10
AIS State:Clear LOS State:Clear LOF State:Clear
Version info Firmware: 20060711, FPGA: 13, spm_count = 0
Framing is ESF, Line Code is B8ZS, Clock Source is Line.
CRC Threshold is 320. Reported from firmware is 320.
Data in current interval (818 seconds elapsed):
0 Line Code Violations, 0 Path Code Violations
0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
Total Data (last 24 hours)
0 Line Code Violations, 0 Path Code Violations,
0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins,
0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs

Couple other items of note:

A Cisco T1 controller will come up to a hard loopback just like a Nortel PRI card.
Line Build Out (LBO) is controlled by the T1 Controller configlet as is framing and line coding.

Two other commands that I used to use a lot to troubleshoot PRI calling was ENL MSGI x and ENL MSGO x under LD 96. These commands by themselves or with options could be used to debug Layer 2 and Layer 3 messages on the PRI. On the Cisco gateway debug isdn q921 and debug isdn q931 commands can be issued. As with Nortel these commands should be used with caution on a busy gateway or you may overload the router or have difficulty turning them off.

Tracing call on a Nortel is a quick and easy way to see what is going on. It is not so easy on a voice gateway I am afraid. You can usually use a combination of these commands to try to accomplish this task and piece together what is going on

debug isdn q931
sh isdn active
sh voice call sum
sh voice call stat

Saturday, January 5, 2008

CCVP Notes - MGCP Protocol

The following are some notes on MGCP. These may be useful for CVoice and GW/GK studies. Please check out Post One as the reason for sharing my vast knowledge(other than for the good of mankind of course!)

MGCP is a Master/Slave protocol that allows a Call Agent such as Call Manager to track and to control the state of every voice port on a registered gateway. The Call Agent handles all aspects of call control and the gateway preforms the media translation function. MGCP support includes analog and digital interfaces. Gateways are divided into two categories:

Residential Gateway - analog or RJ11 interfaces to VoIP
Trunking Gateway - Digital or PSTN to VoIP

Of course a gateway could perform both functions so this distinction does not make a lot of sense.

There are a different versions of MGCP in use today:
Version 0.1 is supported by Call Manager
Version 1.x is supported by Gateways

Functionality extended by Packages. Use "mgcp package-capability ?" to view.

MGCP Pros
Ease of Configuration
Ease of Administration
Call Survivability for analog and T1 CAS trunks
Encryption support
QSIG support

MGCP Cons
Dependence on a centralized Call Agent - MGCP Fallback is used to alliveate.
No support for FAX signalling and negotiation - This may haved changed. See
http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a0080106902.html
No Call Survivability for PRI and BRI calls
No FXO Caller ID - I am looking at using H323 at analog locations to overcome this limitation.

MGCP Endpoint Addressing

Analog -
AALN/SLOTx/SUBUNITx/PORTx@Hostname
such as
AALN/S0/SU0/1@Branch223
AALN stands for Analog Access Line Endpoint

Digital - SLOTx/TRUNKTYPE-PORTx/ISDN
B-CHANNELx@Hostname
such as
S0/ds1-1/12@Branch747
TRUNKTYPE could be ds1, e1,e3 -PORT is the digital port on the VWIC card.

Hostname is the host name of the router not a DNS name.

MGCP Operations

SDP (Session Description Protocol) is used to provided detail of MGCP connections. Connections provide endpoint detail such as codec, ip addresses and bandwidth.

Endpoints generate events such as offhook or digits dialed.

The Call Agent then instructs the gateway to send signals such is dial tone or ringing.

MGCP Messages

CreateConnection(CRCX)
From Call Agent - contains call setup parameters gateway responds with a SDP Return Code.

NotificationRequest(RQNT)
From Call Agent - tells gateway what sort of events to monitor for. It also uses this message to instruct the gateway how to respond to an event.

Notify(NFTY)
From the gateway - Sends to the Call Agent when the gateway detects an event.

ModifyConnection(MDCX)
From the Call Agent - instructs the gateway to modify the connection.

DeleteConnection(DLCX)
From the Call Agent - instructs the gateway to terminate the connection. The gateway responds with a SDP message that contain call stats shuch as packet/byte tx/rx counts, average jitter, average delay and number of lost packets.

AuditEndpoint(AUEP)
From Call Agent - used to retrieve endpoint info and status

AuditConnection(AUCX)
From Call Agent - used to retrieve connection info and parameters

Endpoint Configuration(EPCF)
From Call Agent - configures endpoint parameters

RestartInProgress(RSIP)
From the gateway - indicates an endpoint is coming into service, going out of service or restarting. There is a graceful restart that will allow connections to finish, a forced that drops all connections or a restart that indicates the gateway is going to reboot.

MGCP PRI Backhaul

MGCP handles PRI in an interesting way. Layer 2 Q.921 messages are processed by the gateway but Layer 3 Q.931 messages are backhauled to the Call Manager using TCP port 2428. This accounts for the lack of Call Survivability for PRI/BRI using MGCP.

MGCP Fallback

MGCP Fallback should be implemented when MGCP is used. MGCP Fallback allows the router to revert to H323 mode if communication is lost to the Call Manager cluster and uses dial peers for the fallback dialplan.

MGCP DTMF Relay

DTMF is sent as RTP packets by default. Using compression could distort the tones. DTMF relay breaks out the tones and sends them differently. MGCP supports:

Cisco Proprietary

Named Service Event(NSE)

Named Telephony Event(NTE) - Gateway (NTE-GW) or Call Agent(NTE-CA) controlled

These methods still send the tones via RTP but they are coded differently so the receiver recognises them as DTMF.

Out of Band - DTMF is sent as MGCP control messages

Friday, January 4, 2008

CCVP Notes - Books to Have

Please check out Post One as the reason for sharing my vast knowledge (other than for the good of mankind of course!)I have been studying chapter 9 of the Cisco Voice Gateways and GateKeepers Book from Cisco Press. Excellent book, if you are not going to take the GW/GK class it is a must. I breezed thru the first 8 chapters, they are pretty much a rehash of CVoice. If you are just starting out going for a CCVP Cvoice is where you should start, especially if you are a data guy and have no idea of how voice works. Here is my recommended order of studying and testing with books I have used or going to use.

642-432 Cvoice - Cisco Voice over IP (CVoice) (Authorized Self-Study Guide) (2nd Edition)
This was a good basic book on IP Telephony and Telephony in general.

642-444 CIPT - Cisco IP Telephony (CIPT) (Authorized Self-Study) (2nd Edition)
Note this covers Call Manager 4.1. I do not think there is a book out yet that cover Release 5/6. I would use the SRND for CCM 5 and this book if I was was going to take the CIPT 5.0 (642-445) test.

642-453 GW/GK - Cisco Voice Gateways and Gatekeepers (Networking Technology) (Hardcover)
Reading this now. The first half was a re-hash of Cvoice but presented in a more readable writing style. I have no doubt I will pass this exam using this book as a reference.

642-642 QOS - Cisco QOS Exam Certification Guide (IP Telephony Self-Study) (2nd Edition)
I have not read this book yet but I hear it is excellent. The author (Wendall Odom) got me through the CCNA Intro and ICND exams. He is a good writer who manages to take some very dry subjects and make them interesting and entertaining.

TUC - Troubleshooting Cisco IP Telephony (Networking Technology)
This is an older book (2002) that could use some updating - still it is the only one I know of that addresses the subject matter.

Couple of other books I recommend if you are really serious about this:

Cisco CallManager Fundamentals (2nd Edition)
Provides a basic understanding of all facets of Call Manager. Excellent chapters on how the Call Manager dial plan works and how to design one.

Cisco Unity Deployment and Solutions Guide (Networking Technology)
A very deep read on Unity but somewhat entertaining. Jeff Lindborg is one of the authors. He helped create the original Active Voice product that was purchased by Cisco. He now works for Cisco and still answers questions on the Unified Communications Forum on CCO.