CallManager on Non-MCS Equipment

July 17, 2007 at 9:15 pm | Posted in VoIP | Leave a comment

http://www.ciscoblog.com/archives/2006/06/callmanager_on.html

  

CallManager on Non-MCS Equipment

I did it. I finally did it. I’ve got a Cisco CallManager 4.1(3) server running natively on a Dell Optiplex 270GX. Now, I’m not talking about the old registry hack forcing you to install Windows 2000, hack the registry, and then put the Cisco CallManager software on top of it. Doing this causes a host of problems because the base windows operating system does not have the correct services running and permissions set.

I’m talking about a hack that allows you to install the Cisco CallManager Windows image straight from the CD-ROM, setting all the correct permissions and giving you a working Cisco CallManager on a non-MCS server. Here’s what I did:

Step 1: Download a Windows utility called FDIMAGE.EXE. This is typically used to create floppy boot disks from disk images for BSD/Linux. You can get this utility from here.

Step 2: Pop in in the CallManager Hardware Detect CD-ROM (Disk 1) into your PC – sorry, I can’t give this one out :o)

Step 3: Put in a blank floppy disk

Step 4: Open a command prompt and type “fdimage d:\bootimg.bin a:” this copies the boot image from the CD-ROM to the floppy disk

Step 5: On the floppy disk, edit the autoexec.bat file (I’m having flashbacks to the MS-DOS days)

Step 6: Find the line in the autoexec.bat file that says “s:\tools\systype s:\tools\sssksys.ini” This line is right before the boot process does the hardware check to see what sort of server you have

Step 7: Hit enter after the above line and add the following two lines:
set XIMAGE=x345
goto IBMx345

Step 8: Save the file

Step 9: Boot off the floppy disk and put the Hardware Detect CD into the drive. Follow the wizard to blow the Windows 2000 image onto the non-MCS machine. It will prompt you for the OS Disk 3 (I’m using DVDs – it’s DVD #2 of the OS install for me).

Step 10: After Windows comes online, you’ll have to install your platform specific video/netcard/etc… drivers

Step 11: Pop in the Cisco CallManager CDs and proceed as normal! This rocks!

Of course, this is only in a lab environment. The great Cisco powers that be would definitely frown upon a TAC support call from a Cisco CallManager running on a desktop PC.

Simple VoIP trouble-shooting commands

June 17, 2007 at 11:06 pm | Posted in VoIP | 1 Comment

show voice port (Check for configuration information, including loopstart or groundstart.)
show call history voice
show call history voice last 1
show call active voice
show ip route
show logging
show debugging
show dial-peer voice
show dialplan number
show dialplan (on both the local and remote routers—verify that the data is configured correctly.)
show num-exp (if number expansion is configured)—check that the partial number on the local router maps to the correct full E.164 telephone number on the remote router.
debug vpm signal (Collect debug information about signaling events, such as detection of a ring, a call connection, or a disconnect.)
debug vpm spi—verify the output string the router dials is correct. This is not availble on 124 IOS ???
debug cch323 rtp—check RTP packet transport.
debug cch323 h225—check the call setup.

CME1#show dialplan number 201
Macro Exp.: 201

VoiceEncapPeer101
        peer type = voice, information type = voice,
        description = `’,
        tag = 101, destination-pattern = `201′,
        answer-address = `’, preference=0,
        CLID Restriction = None
        CLID Network Number = `’
        CLID Second Number sent
        CLID Override RDNIS = disabled,
        source carrier-id = `’, target carrier-id = `’,
        source trunk-group-label = `’,  target trunk-group-label = `’,
        numbering Type = `unknown’
        group = 101, Admin state is up, Operation state is up,
        Outbound state is up,
        incoming called-number = `’, connections/maximum = 0/unlimited,
        DTMF Relay = disabled,
        URI classes:
            Destination =
        huntstop = disabled,
        in bound application associated: ‘DEFAULT’
        out bound application associated: ”
        dnis-map =
        permission :both
        incoming COR list:maximum capability
        outgoing COR list:minimum requirement
        Translation profile (Incoming):
        Translation profile (Outgoing):
        incoming call blocking:
        translation-profile = `’
        disconnect-cause = `no-service’
        advertise 0x40 capacity_update_timer 25 addrFamily 0 oldAddrFamily 0
        type = pots, prefix = `’,
        forward-digits default
        session-target = `’, voice-port = `2/1′,
        direct-inward-dial = disabled,
        digit_strip = enabled,
        register E.164 number with H323 GK and/or SIP Registrar = TRUE
        fax rate = system,   payload size =  20 bytes
        supported-language = ”

        Time elapsed since last clearing of voice call statistics never
        Connect Time = 0, Charged Units = 0,
        Successful Calls = 0, Failed Calls = 0, Incomplete Calls = 0
        Accepted Calls = 0, Refused Calls = 0,
        Last Disconnect Cause is “”,
        Last Disconnect Text is “”,
        Last Setup Time = 0.
Matched: 201   Digits: 3
Target:
CME1#sh voice port 2/0

Foreign Exchange Station 2/0 Slot is 0, Sub-unit is 2, Port is 0
 Type of VoicePort is FXS 
 Operation State is DORMANT
 Administrative State is UP
 No Interface Down Failure
 Description is not set
 Noise Regeneration is enabled
 Non Linear Processing is enabled
 Non Linear Mute is disabled
 Non Linear Threshold is -21 dB
 Music On Hold Threshold is Set to -38 dBm
 In Gain is Set to 0 dB
 Out Attenuation is Set to 3 dB
 Echo Cancellation is enabled
 Echo Cancellation NLP mute is disabled
 Echo Cancellation NLP threshold is -21 dB
 Echo Cancel Coverage is set to 64 ms
 Echo Cancel worst case ERL is set to 6 dB
 Playout-delay Mode is set to adaptive
 Playout-delay Nominal is set to 60 ms
 Playout-delay Maximum is set to 250 ms
 Playout-delay Minimum mode is set to default, value 40 ms
 Playout-delay Fax is set to 300 ms
 Connection Mode is normal
 Connection Number is not set
 Initial Time Out is set to 10 s
 Interdigit Time Out is set to 10 s
 Call Disconnect Time Out is set to 60 s
 Supervisory Disconnect Time Out is set to 750 ms
 Ringing Time Out is set to 180 s
 Wait Release Time Out is set to 30 s
 Companding Type is u-law
 Region Tone is set for AU

 Analog Info Follows:
 Currently processing none
 Maintenance Mode Set to None (not in mtc mode)
 Number of signaling protocol errors are 0
 Impedance is set to 600r Ohm
 Station name None, Station number None
 Translation profile (Incoming):
 Translation profile (Outgoing):

 Voice card specific Info Follows:
 Signal Type is loopStart
 Ring Frequency is 50 Hz
 Hook Status is On Hook
 Ring Active Status is inactive
 Ring Ground Status is inactive
 Tip Ground Status is active
 Digit Duration Timing is set to 100 ms
 InterDigit Duration Timing is set to 100 ms
 Hookflash-in Timing is set to max=1000 ms, min=150 ms
 Hookflash-out Timing is set to 400 ms
 No disconnect acknowledge
 Ring Cadence is defined by CPTone Selection
 Ring Cadence are [4 2] [4 20] * 100 msec
 Ringer Equivalence Number is set to 1

VoIP debug commands

June 3, 2007 at 1:09 am | Posted in VoIP | 1 Comment

We should timestamp the debug outputs with miliseconds, so that we can easily map the events shown on different Cisco devices.

CE1(config)#service timestamps debug datetime ?
  localtime      Use local time zone for timestamps
  msec           Include milliseconds in timestamp
  show-timezone  Add time zone information to timestamp
  year           Include year in timestamp
  <cr>

CE1(config)#service timestamps debug datetime msec

CE1#debug vtsp dsp
This CLI command is now ‘debug voip dsm dsp’
CE1#debug voip ?
  aaa           VoIP AAA
  ais           AIS (Application Information System)
  application   Application Framework library debugging
  avlist        avlist debugs
  call          Voice call debugging
  ccapi         Call Control API
  dcapi         Device Control API
  dialpeer      dialpeer debugging
  dsm           DSP Stream Manager Debugs
  dsmp          Distributed Streams Media Processor
  dspapi        Generic DSP API
  eddri         eddri debug
  enum          ENUM information
  event-log     Event logging
  hpi           HPI (54x) DSP messages
  profile       debug voip profile
  rawmsg        Raw Message
  register      voice-register debug information
  rtcp          Enable VOIP RTCP debugging trace
  rtp           Enable VOIP RTP debugging trace
  source-group  Source-group debugging
  srtcp         Enable VOIP SRTCP debugging trace
  srtp          Enable VOIP IOS SRTP debugging trace
  statistics    Voice Statistics
  translation   Debug translation rules
  tsp           Telephony Service information
  uri           Debug Voice URI
  vtsp          Voice Telephony Call Control information

CE1#debug voip dsm ?
  all      Enable All DSM debugging
  dsp      Enable dsp message trace
  error    Enable DSM error debugging
  session  Session Debugging
  stats    Stats Debugging
  tone     Tone Debugging

CE1#debug voip dsm dsp
DSP Stream Manager dsp debugging is on

Debug call legs, signalling information

CE1#debug voip ccapi ?
  all           Enable all debugs
  default       Enable default debugs
  detail        detail debug
  error         major call and software errors debug
  function      function debug
  individual    individual CCAPI debug
  inout         CCAPI Function in (enter) and out (exit)
  protoheaders  CCAPI protocol headers/bodies passing info
  service       service debug
  <cr>

CE1#debug voip ccapi inout
voip ccapi inout debugging is on
show dial-peer voice summary
CE1#sh dial-peer voice summary
dial-peer hunt 0
             AD                                    PRE PASS                OUT
TAG    TYPE  MIN  OPER PREFIX    DEST-PATTERN      FER THRU SESS-TARGET    STAT PORT
100    pots  up   up             200                0                      up   2/0
101    pots  up   up             201                0                      up   2/1
86868- voip  up   up             86868648           1  syst ipv4:202.86.50.100 
648  
Check what dial-peer a number will be matched to.

show dialplan number xxxxx

CE1#show dialplan number 201
Macro Exp.: 201

VoiceEncapPeer101
        peer type = voice, information type = voice,
        description = `’,
        tag = 101, destination-pattern = `201′,
        answer-address = `’, preference=0,
        CLID Restriction = None
        CLID Network Number = `’
        CLID Second Number sent
        CLID Override RDNIS = disabled,
        source carrier-id = `’, target carrier-id = `’,
        source trunk-group-label = `’,  target trunk-group-label = `’,
        numbering Type = `unknown’
        group = 101, Admin state is up, Operation state is up,
        Outbound state is up,
        incoming called-number = `’, connections/maximum = 0/unlimited,
        DTMF Relay = disabled,
        URI classes:
            Destination =
        huntstop = disabled,
        in bound application associated: ‘DEFAULT’
        out bound application associated: ”
        dnis-map =
        permission :both
        incoming COR list:maximum capability
        outgoing COR list:minimum requirement
        Translation profile (Incoming):
        Translation profile (Outgoing):
        incoming call blocking:
        translation-profile = `’
        disconnect-cause = `no-service’
        advertise 0x40 capacity_update_timer 25 addrFamily 0 oldAddrFamily 0
        type = pots, prefix = `’,
        forward-digits default
        session-target = `’, voice-port = `2/1′,
        direct-inward-dial = disabled,
        digit_strip = enabled,
        register E.164 number with H323 GK and/or SIP Registrar = TRUE
        fax rate = system,   payload size =  20 bytes
        supported-language = ”

        Time elapsed since last clearing of voice call statistics never
        Connect Time = 4733, Charged Units = 0,
        Successful Calls = 2, Failed Calls = 1, Incomplete Calls = 0
        Accepted Calls = 9, Refused Calls = 0,
        Last Disconnect Cause is “10  “,
        Last Disconnect Text is “normal call clearing (16)”,
        Last Setup Time = 15828582.
Matched: 201   Digits: 3
Target:
H.323

H.225 call setup, TCP port 1720, similar to A.931
H.245 capability exchange (Codec, Media, Channel etc), TCP pot 11000+
Media (UDP), RTP port 16384-32767 (Odd+Even ports per session)
debug ras

CE1#debug ras
H.323 RAS Messages debugging is on

show interaction with gatekeeper

VoIP Terminologies

May 27, 2007 at 8:20 pm | Posted in VoIP | Leave a comment

MLTS – Multiline Telephone System
PSAP – Public Safety Answering Point
LEC – Local Exchange Carrier
ANI – Automatic Number Identification
ALI – Automatic Location Identification

Dynamic ANI: ISDN-PRI, and CAMA
CAMA – Centralized Automatic Message Accounting
CPN – Calling Party Number

Static ANI: POTS line
ERL – Emergencey Response Location
AMIS – Audio Messaging Interchange Specification
SMDI – Station Message Detail Interface – the interface whereby a voice-mail system notifies a PBX to turn on/off the

message waiting indicator.

VAD – Voice Activity Detection
SID – Silence Insertion Descriptor

Network Alternate Route Selection (NARS, UDP, CDP)
RAS – Registration, Admission, and Status (RAS) H.225

H.323 Gatekeeper function

May 27, 2007 at 8:19 pm | Posted in VoIP | 2 Comments
http://www.iec.org/online/tutorials/h323/topic02.html  

The H.323 standard specifies four kinds of components, which, when networked together, provide the point-to-point and point-to-multipoint multimedia-communication services:

  • terminals
  • gateways
  • gatekeepers
  • multipoint control units (MCUs)

Gatekeepers

A gatekeeper can be considered the brain of the H.323 network. It is the focal point for all calls within the H.323 network. Although they are not required, gatekeepers provide important services such as addressing, authorization and authentication of terminals and gateways; bandwidth management; accounting; billing; and charging. Gatekeepers may also provide call-routing services.

Fax Passthough mode

May 22, 2007 at 7:26 pm | Posted in VoIP | Leave a comment
http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide_chapter09186a00800b5dd6.html

Information About Fax Pass-Through

Fax pass-through takes place when incoming T.30 fax data is not demodulated or compressed for its transit through the packet network. The two endpoints (fax machines or modems) communicate directly to each other over a transparent IP connection. The gateway does not distinguish fax calls from voice calls.

On detection of a fax tone on an established VoIP call, the gateways switch into fax pass-through mode by suspending the voice codec and loading the pass-through parameters for the duration of the fax session. This process, called upspeeding, changes the bandwidth needed for the call to the equivalent of G.711.

With pass-through, the fax traffic is carried between the two gateways in RTP packets using an uncompressed format resembling the G.711 codec. This method of transporting fax traffic takes a constant 64-kbps (payload) stream plus its IP overhead end-to-end for the duration of the call. IP overhead is 16 kbps for normal voice traffic, but when switching to pass-through, the packetization period is reduced from 20 ms to 10 ms, which means that half as much data can be put into each frame. The result is that you need twice as many frames and twice as much IP overhead. For pass-through, the total bandwidth is 64 plus 32 kbps, for a total of 96 kbps. For normal voice traffic, total bandwidth is 64 plus 16 kbps, for a total of 80 kbps.

Blog at WordPress.com.
Entries and comments feeds.