csim start: Using and Understanding
Call simulator (csim start) is an undocumented, extremely important tool and command in any Cisco voice engineer's arsenal. It allows debugging for call routing from voice gateways and CME devices. In this article, we examine some of the various resulting outputs of "csim start {number}".
The command "csim start {number}" is executed in enable mode on an IOS device (such as a voice gateway). It allows verification of dial-plan, routing configuration and, when used with ISDN, even carrier connectivity.
csim start is quite neat, in that it:
- bypasses class of restriction (COR).
- allows verification of dial-plan without worrying about superfluous elements like DTMF relay and codec selection.
csim start can only be executed on a device that has a dial plan configured. i.e., an intermediate router between a voice gateway and CUCM that has no voice configuration will be unable to "csim start" (but the voice gateway will... or should, as long as there are no issues!)
First, to generate sample output for review, from the local CME system, simulate a call to a local, registered device. Notice the unfortunately ambiguous "Invalid event ID ev(51)" - the ephone will ring for a short period of time, however can not be answered.
CME#csim start 5002
csim: called number = 5002, loop count = 1 ping count = 0
csim err:csim_do_test Invalid event ID ev(51), cid(35), disp(0)
csim: loop = 1, failed = 0
csim: call attempted = 1, setup failed = 0, tone failed = 0
The next example is another successful call, this time from the local CME system to a device registered to the remote CallManager. The communication is via H323. This will also work when the local system is a regular H323 voice gateway - it doesn't need to be running CME.
CME#csim start 1011
csim: called number = 1011, loop count = 1 ping count = 0
csim err csimDisconnected recvd DISC cid(34)
csim: loop = 1, failed = 1
csim: call attempted = 1, setup failed = 1, tone failed = 0
Now, lets try to simulate a call to a directory number that does not exist. This error is at least somewhat useful - the dial-peer is not found.
CME#csim start 5010
csim: called number = 5010, loop count = 1 ping count = 0
csim err:csim_do_test Error peer not found
In the following output, the dial-peer exists, however the device is not registered. The "csim: loop = 1, failed = 1" is important. It indicates that the call has failed (compare to the output above).
CME#csim start 5001
csim: called number = 5001, loop count = 1 ping count = 0
csim: loop = 1, failed = 1<
csim: call attempted = 1, setup failed = 1, tone failed = 0
Finally, an attempt to call a remote destination that does not exist is made. This error is unfortunately rather ambiguously similar to a successful local call - the important indicator is the ev(84) and cid(37) fields. The csim start command is well complimented by, example, a "debug voip ccapi inout".
CME#csim start 1099
csim: called number = 1099, loop count = 1 ping count = 0
csim err:csim_do_test Invalid event ID ev(84), cid(37), disp(0)
csim: loop = 1, failed = 0
csim: call attempted = 1, setup failed = 0, tone failed = 0