| ![]() |
|
Configuring Digital T1 Packet Voice
Trunk Network Modules on Cisco
2600 and 3600 Series Routers Printable Pdf
|
| Step | Command | Purpose |
| 1 | Router# configure terminal | Enter global configuration mode. |
| 2 | Router(config)# voice-card slot | Enter voice card interface configuration mode and specify the slot location by using a value from 0 to 5, depending upon your router. |
| 3 | Router(config-voice-ca)# codec complexity {high | medium} | Specify the codec complexity based on the codec standard
you are using. High-complexity codecs support lower call
density than do medium-complexity codecs. The number
of channels supported is based on the number of PVDMs
installed and the codec complexity. Here is a guideline: • When the digital T1 packet voice trunk network module is configured for high-complexity codec mode, up to six voice or fax calls can be completed per PVDM-12, using the following codecs: G.711, G.726, G.729, G.729 Annex B, G.723.1, G.723.1 Annex A, G.728, and fax relay. • When the digital T1 packet voice trunk network module is configured for medium-complexity codec mode, up to twelve voice or fax calls can be completed per PVDM-12, using the following codecs: G.711, G.726, G.729 Annex A, G.729 Annex B with Annex A, and fax relay All voice cards in a router must use the same codec complexity setting. The keyword that you specify for codec complexity affects the choice of codecs available using the codec dial-peer configuration command. See Step 7 in “Configuring Voice Dial Peers” on page 22. Note You cannot change codec complexity while DS0 groups are defined. If they are already set up, use the no ds0-group command before resetting the codec complexity. For more information about the ds0-group command, see Step 9. |
| 4 | Router(config)# controller T1 slot/ port | Enter controller configuration mode for the T1 controller at the specified slot/port location. Valid values for slot and port are 0 and 1. |
| 5 | Router(config-controller)# clock source {line [primary] | internal} | Configure controller T1 1/0 to specify the clock source.
The line keyword specifies that the clock source is derived
from the active line—rather than from the free-running
internal clock. This is the default setting and is generally
more reliable. These rules apply to clock sourcing on the
T1 controller ports: • When both ports are set to line clocking with no primary specification, port 0 is the default primary clock source and port 1 is the default secondary clock source. • When both ports are set to line and one port is set as the primary clock source, the other port is by default the backup or secondary source and is loop-timed. • If one port is set to clock source line or clock source line primary and the other is set to clock source internal, the internal port recovers clock from the clock source line port if the clock source line port is up. If it is down, then the internal port generates its own clock. • If both ports are set to clock source internal, there is only one clock source—internal. |
| 6 | Router(config-controller)# framing {sf | esf} | Set the framing according to your service provider’s instructions. Choose Extended Superframe (ESF) format or Superframe (SF) format. |
| 7 | Router(config-controller)# linecode {b8zs | ami} | Set the line encoding according to your service provider’s instructions. Bipolar-8 zero substitution (B8ZS) encodes a sequence of eight zeros in a unique binary sequence to detect line coding violations. Alternate mark inversion (AMI) represents zeros using a 01 during each bit cell, and ones are represented by 11 or 00, alternately, during each bit cell. AMI requires that the sending device maintain ones density. Ones density is not maintained independent of the data stream. |
| 8 | Router(config-controller)# cablelength long {gain26 |
gain36} {-15db | -22.5db | -7.5db | 0db} or cablelength short {133 | 266 | 399 | 533 | 655} |
(T1 interfaces only) The cable length setting must
conform to the actual cable length you are using. For
example, if you attempt to enter the cablelength short
command on a long-haul T1 link, the command is
rejected. To set a cable length longer than 655 feet for a T1 link, use the cablelength long command. The keywords are as follows: • gain26 specifies the decibel pulse gain at 26. This is the default pulse gain. • gain36 specifies the decibel pulse gain at 36. • -15db specifies the decibel pulse rate at -15 decibels. • -22.5db specifies the decibel pulse rate at -22.5 decibels. • -7.5db specifies the decibel pulse rate at -7.5 decibels. • 0db specifies the decibel pulse rate at 0 decibels. This is the default pulse rate. To set a cable length 655 feet or less for a T1 link, use the cablelength short command. There is no default for cablelength short. The keywords are as follows: • 133 specifies a cable length from 0-133 feet. • 266 specifies a cable length from 134-266 feet. • 399 specifies a cable length from 267-399 feet. • 533 specifies a cable length from 400-533 feet. • 655 specifies a cable length from 534-655 feet. If you do not set the cable length, the system defaults to a setting of cablelength long gain26 0db. |
| 9 | Router(config-controller)# ds0-group ds0-group-no timeslots timeslot-list type {e&m-immediate | e&m-delay |e&m-wink | fxs-ground-start | fxs-loop-start | fxo-ground-start | fxo-loop-start} | This command defines the T1 channels for use by
compressed voice calls as well as the signaling method
the router uses to connect to the PBX or CO. You should
set up DS0 groups after you have specified codec
complexity in voice-card configuration, as shown in Step
3. If you modify the codec complexity command
parameters, you must first remove any existing DS0
groups, then reinstate them after the change to the codec
complexity. ds0-group-no is a value from 0 to 23 that identifies the DS0 group. Note The ds0-group command automatically creates a logical voice port that is numbered as follows: slot/port:ds0-group-no. Although only one voice port is created, applicable calls are routed to any channel in the group. timeslot-list is a single number, numbers separated by commas, or a pair of numbers separated by a hyphen to indicate a range of timeslots. For T1, allowable values are from 1 to 24. To map individual DS0 timeslots, define additional groups. The system maps additional voice ports for each defined group. See Step 2 of “Configuring Voice Ports” on page 20. The signaling method selection for type depends on the connection that you are making: • The E&M interface allows connection for PBX trunk lines (tie lines) and telephone equipment. The wink and delay settings both specify confirming signals between the transmitting and receiving ends, whereas the immediate setting stipulates no special offhook/onhook signals. • The FXO interface is for connection of a central office (CO) to a standard PBX interface where permitted by local regulations; the interface is often used for off-premises extensions. • The FXS interface allows connection of basic telephone equipment and PBXs. |
| 10 | Router(config-controller)# tdm-group tdm-group-no timeslots timeslot-list type [e&m | fxs [loop-start | ground-start] fxo [loop-start | ground-start]] | (Optional) Use this command only when you need TDM
channel groups for the Drop-and-Insert (also called TDM
Cross-Connect) function with a two-port T1 multiflex
trunk interface card. tdm-group-no is a value from 0 to 23 that identifies the channel group. timeslot-list is a single number, numbers separated by commas, or a pair of numbers separated by a hyphen to indicate a range of timeslots. For T1, allowable values are from 1 to 24. The signaling method selection for type depends on the connection that you are making. The fxs and fxo options allow you to specify a ground-start or loop-start line. Choose a type based on the criteria described above in Step 9. Note The group numbers for controller groups must be unique. For example, a TDM group should not have the same ID number as a DS0 group. |
| 11 | Router(config-controller)# no shutdown | Activate the controller. |
| 12 | Router(config-controller)# exit | Exit controller configuration mode. Skip the next step if you are not setting up Drop and Insert. |
| 13 | Router(config)# connect id T1 slot/ port tdm-group-no-1 T1 slot/ port tdm-group-no-2 | (Optional) This global configuration command sets up the
connection between two T1 TDM groups of timeslots on
the trunk interfaces—for Drop and Insert. id is a name for the connection. Identify each T1 controller by its slot/port location. Valid values for slot and port are 0 and 1. tdm-group-no-1 and tdm-group-no-2 identify the TDM group numbers (from 0 to 23) on the specified controller. The groups were set up in Step 10. See the “Configuration Examples” section on page 33 for sample Drop and Insert configurations. |
To verify the configuration of voice card and controller settings, follow these steps:
| Step 1 | Enter the show running-config command to display the current voice-card setting. If no
codec complexity is shown, the default of medium complexity is set. The following
example shows an excerpt from the command output: Router# show running-config . . . hostname router-alpha voice-card 1 codec complexity high . . . |
| Step 2 | The privileged EXEC show controllers t1 command displays the status of T1 controllers
and displays information about clock sources and other settings for the T1 ports: Router# show controller T1 1/0 T1 1/0 is up. Applique type is Channelized T1 Cablelength is short 133 Description: T1 WIC card Alpha No alarms detected. Framing is ESF, Line Code is B8ZS, Clock Source is Line Primary. Data in current interval (1 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 |
| Step 3 | The privileged EXEC show connection all command displays the status of T1 or E1
TDM controller groups and how they are set up: Router# show connection all ID Name Segment 1 Segment 2 State ==================================== 1 Test -T1 1/0 01 -T1 1/1 02 ADMIN UP |
The way you set up serial and LAN interfaces depends on your application. To configure VoIP, you
must at least set up IP addresses for serial interfaces. When a user dials enough digits to match a
configured destination pattern, the telephone number is mapped to an IP host through the dial plan
mapper. The IP host has a direct connection to either the destination telephone number or a PBX that
completes the call to the configured destination pattern.
This document does not explain all possible serial interface configuration options, nor does it show
LAN interface configuration. For complete information, see the Cisco IOS Release 12.0 Cisco IOS
Interface Configuration Guide and the Cisco IOS Interface Command Reference.
The “Configuration Examples” section on page 33 shows a sample configuration that sets up VoIP
over Frame Relay. For more information about setting up voice networks, see Voice, Video, and
Home Applications Configuration Guide for Cisco IOS Release 12.0.
Note For information about monitoring serial interfaces in order to trigger a busyout condition on a voice port when an interface is down, see “Configuring Voice Ports” on page 20.
| Step | Command | Purpose |
| 1 | Router# configure terminal | Enter global configuration mode. |
| 2 | Router(config)# interface serial slot/ port: channel-group | Enter interface configuration mode for a serial interface that you specify by slot and port. The :channel-group portion of the command is only required for channelized T1 interfaces. (For setting up channelized T1 interfaces, see Dial Solutions Configuration Guide for Cisco IOS Release 12.0.) |
| 3 | Router(config-if)# ip address ip-address mask | Assign the IP address and subnet mask to the interface. |
To verify serial interface configuration, enter the privileged EXEC command showinterfaces serial,
which displays the status of all serial interfaces or of a specific serial interface, as shown in the
following example. You can use this command to check the encapsulation, IP addressing, and other
settings:
Router #show interface serial0/0:0
Serial0/0:0 is up, line protocol is up
Hardware is QUICC Serial
Internet address is 1.156.1.1/24
MTU 1500 bytes, BW 1536 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation HDLC, loopback not set
Keepalive not set
Last input 00:00:00, output 00:00:00, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0 (size/max/drops); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 0/1000/64/0 (size/max total/threshold/drops)
Conversations 0/1/256 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
5 minute input rate 1000 bits/sec, 1 packets/sec
5 minute output rate 1000 bits/sec, 1 packets/sec
637 packets input, 64736 bytes, 0 no buffer
Received 181 broadcasts, 0 runts, 5 giants, 0 throttles
3617 input errors, 1506 CRC, 1646 frame, 0 overrun, 0 ignored, 0 abort
682 packets output, 67213 bytes, 0 underruns
0 output errors, 0 collisions, 1070 interface resets
0 output buffer failures, 0 output buffers swapped out
13 carrier transitions
Timeslot(s) Used:1-24, Transmitter delay is 0 flags
Follow these steps to set up voice ports to support the local and remote stations. Not all possible commands are shown here. To learn more, see Voice, Video, and Home Applications Configuration Guide and Voice, Video, and Home Applications Command Reference for Cisco IOS Release 12.0.
| Step | Command | Purpose |
| 1 | Router# configure terminal | Enter global configuration mode. |
| 2 | Router(config)# voice-port slot/port:ds0-group-no | Enter voice-port configuration mode. slot is the router location where the voice module is installed. Valid entries are from 0 to 3. port indicates the voice interface card location. Valid entries are 0 or 1. Each defined DS0 group number is represented on a separate voice port. This allows you to define individual DS0s on the digital T1 card. For more information about DS0 groups, see Step 12 of “Configuring Voice Card and T1 Controller Settings” on page 13. Note This voice-port command syntax does not apply to analog voice network modules and voice interface cards. The latter are specified using slot/subunit/port, designating the router slot for the voice network module, the location of the voice interface card in the network module, and the port on the voice interface card |
| 3 | Router(config-voice-port)# busyout monitor interface interface number | (Optional) This command allows you to specify a LAN or
WAN interface that will be monitored, and, when it is
down, trigger a busyout (offhook) state on the voice port.
This allows rerouting of calls. For example, if you specify
Serial 1/0 as the interface and number, the voice port
sends a busyout signal when that interface is down. You
can issue the command repeatedly to specify as many
interfaces, virtual interfaces, and subinterfaces as are
required for a voice port. For example, if you issue the command three times so that three interfaces are monitored, the voice port only goes into busyout state when all three interfaces are down. When any one of the interfaces is operational, the busyout state is removed. |
| 4 | Router(config-voice-port)# comfort-noise | (Optional) This parameter is enabled by default. It creates subtle background noise to fill silent gaps during calls when VAD is enabled on voice dial peers. If comfort noise is not generated, the silence can be unsettling to callers. |
| 5 | Router(config-voice-port)# echo-cancel enable | (Optional) This setting is enabled by default. Echo cancellation adds to the quality of voice transmissions by adjusting the echo that occurs on the interface due to impedance mismatches. Some echo is reassuring; echo over 25 milliseconds can cause problems. |
| 6 | Router(config-voice-port)# echo-cancel coverage {16 | 24 |32 | 8} | (Optional) This command adjusts the echo canceller by the specified number of milliseconds; the default is 16. |
| 7 | Router(config-voice-port)# connection {plar |trunk} string | (Optional) This command sets up a connection mode for
the voice port. plar specifies a private line auto ring down (PLAR) connection, which rings a remote telephone when the dial peer goes off hook. trunk specifies a straight tie-line connection to a PBX. string specifies the remote telephone number or significant start digits of the number. See the “Configuration Examples” section on page 33 for sample PLAR and trunk configurations. |
| 8 | Router(config-voice-port)# timeouts interdigit seconds | (Optional) This command sets the number of seconds the
system waits—after the caller has input the initial
digit—for a subsequent digit of the dialed string. If the
timeout ends before the destination is identified, a tone
sounds and the call ends. The default value is 10 seconds,
and the timeout can be set from 0 to 120 seconds. Note Changes to the default for this command normally are not required. Other timing settings may also be needed. For more information, see the Cisco IOS Release 12.0 Voice, Video, and Home Applications Configuration Guide. |
| 9 | Router(config-voice-port)# exit | Exit voice-port configuration mode. Repeat Steps 2 through 9 for each DS0 group you create. |
Follow the procedure below to verify voice-port configuration. To learn more about these commands, see
Voice, Video, and Home Applications Command Reference for Cisco IOS Release 12.0.
Important command output is shown in bold.
To verify the voice-port configuration, enter the privileged EXEC show voice port slot/port:ds0-group
command. The following sample output from the command shows explanatory information after the “<<“
characters:
cisco-router# show voice port 1/0:1
receEive and transMit Slot is 1, Sub-unit is 0, Port is 1 << voice-port 1/0:1
Type of VoicePort is E&M
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
Music On Hold Threshold is Set to -38 dBm
In Gain is Set to 0 dB
Out Attenuation is Set to 0 dB
Echo Cancellation is enabled
Echo Cancel Coverage is set to 8 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
Region Tone is set for US
Follow these steps to set up voice dial peers to support the local and remote stations. Not all possible commands are shown here. To learn more, see Voice, Video, and Home Applications Configuration Guide and Voice, Video, and Home Applications Command Reference for Cisco IOS Release 12.0.
| Step | Command | Purpose |
| 1 | Router# configure terminal | Enter global configuration mode. |
| 2 | Router(config)# dial-peer voice number pots | Enter dial-peer configuration mode and define a local dial
peer that will connect to the plain old telephone service
(POTS) network. number is one or more digits identifying the dial peer. Valid entries are from 1 to 2147483647. pots indicates a peer using basic telephone service. |
| 3 | Router(config-dialpeer)# destination-pattern string [T] | Configure the dial peer's destination pattern so that the
system can reconcile dialed digits with a telephone
number. string is a series of digits that specify the E.164 or private dialing plan phone number. Valid entries are the digits 0 through 9 and the letters A through D. The plus symbol (+) is not valid. The following special characters can be entered: • The star character (*) that appears on standard touch-tone dial pads can be in any dial string but not as a leading character (for example, *650). • The period (.) acts as a wildcard character. • The comma (,) can be used only in prefixes and inserts a one-second pause. When the timer (T) character is included at the end of the destination pattern, the system collects dialed digits as they are entered—until the interdigit timer expires (10 seconds, by default)—or the user dials the termination of end-of-dialing key (default is #). Note The timer character must be a capital T. |
| 4 | Router(config-dialpeer)# prefix string | (Optional) Include a dial-out prefix that the system enters
automatically instead of people dialing it. string is a value from 0 to 9, and you can use a comma (,) to indicate a pause. Note There are other digit manipulation commands available to handle such situations as prefixes for special services, ignoring some digits, and dialing into remote PBXs as though they are local. |
| 5 | Router(config-dialpeer)# port slot/ port: ds0-group-no | This command associates the dial peer with a specific
logical interface. slot is the router location where the voice module is installed. Valid entries are from 0 to 3. port indicates the voice interface card location. Valid entries are 0 or 1. Each defined DS0 group number is represented on a separate voice port. This allows you to define individual DS0s on the digital T1 card. |
| 6 | Router(config)# dial-peer voice number voip | Enter dial-peer configuration mode and define a remote
VoIP dial peer. number is one or more digits identifying the dial peer. Valid entries are from 1 to 2147483647. voip indicates a VoIP peer using voice encapsulation on the IP network. |
| 7 | Router(config-dialpeer)# codec {g711alaw | g711ulaw | g723ar53 | g723ar63 | g723r53 | g723r63 | g726r16 | g726r24 | g726r32 | g728 | g729r8 [pre-ietf] | g729br8 } [ bytes] | The voice-card configuration codec complexity
command sets the codec options that are available when
you execute this command. See Step 3 of the
“Configuring Voice Card and T1 Controller Settings”
section on page 13. If you do not set codec complexity, g729r8 with IETF bit-ordering is used. If you set codec complexity to high, the following options are available: • g711alaw—G.711 A Law 64,000 bps • g711ulaw—G.711 u Law 64,000 bps • g723ar53—G.723.1 Annex A 5,300 bps • g723ar63—G.723.1 Annex A 6,300 bps • g723r53—G.723.1 5,300 bps • g723r63—G.723.1 6,300 bps • g726r16—G.726 16,000 bps • g726r24—G.726 24,000 bps • g726r32—G.726 32,000 bps • g728—G.728 16,000 bps • g729r8---G.729 8,000 bps (default) • g729br8—G.729 Annex B 8,000 bps If you set codec complexity to medium, the following options are valid: • g711alaw—G.711 A Law 64,000 bps • g711ulaw—G.711 u Law 64,000 bps • g726r16—G.726 16,000 bps • g726r24—G.726 24,000 bps • g726r32—G.726 32,000 bps • g729r8—G.729 Annex A 8,000 bps • g729br8—G.729 Annex B with Annex A 8,000 bps The optional bytes parameter sets the number of voice data bytes per frame. Acceptable values are from 10 to 240 in increments of 10 (for example, 10, 20, 30, and so on). Any other value is rounded down (for example, from 236 to 230). If you specify g729r8, then the IETF (Internet Engineering Task Force) bit-ordering is used. For interoperability with a Cisco 2600, 3600, or AS5300 router running a Cisco IOS release prior to Release 12.0(5)T or12.0(4)XH, you must specify the additional key word pre-ietf after g729r8. |
| 8 | Router(config-dialpeer)# vad | (Optional) This setting is enabled by default. It activates voice activity detection (VAD). VAD allows the system to reduce unnecessary voice transmissions caused by unfiltered background noise. |
| 9 | Router(config-dialpeer)# dtmf-relay [cisco-rtp] [h245-signal] [h245-alphanumeric] | (Optional) Dual-tone multifrequency (DTMF) describes
the tone that sounds in response to a keypress on a
touch-tone phone. DTMF tones are compressed at one
end of a call and decompressed at the other end. If a low-bandwidth codec, such as a G.729 or G.723, is used, the tones can sound distorted. The dtmf-relay command transports DTMF tones generated after call establishment out-of-band by using a method that transmits with greater fidelity than is possible in-band for most low-bandwidth codecs. Without DTMF relay, calls established with low-bandwidth codecs may have trouble accessing automated phone menu systems, such as voice mail and interactive voice response (IVR) systems. A signaling method is supplied only if the remote end supports it, and the options are: Cisco proprietary (cisco-rtp), standard H.323 (h245-alphanumeric), and H.323 standard with signal duration (h245-signal). |
| 10 | Router(config-dialpeer)# fax-rate {2400 | 4800 | 7200 | 9600 | 12000 | 14400 | disable | voice} | (Optional) Specify the transmission speed of a fax to be sent to this dial peer. disable turns off fax transmission capability, and voice specifies the highest possible fax speed supported by the voice rate. |
| 11 | Router(config-dialpeer)# destination-pattern string [T] | See Step 3 in this procedure. |
| 12 | Router(config-dialpeer)# session target {ipv4: destination-address | dns:[$s$. | $d$. | $e$. | $u$.] host-name} | Configure the IP session target for the dial peer.
ipv4:destination-address indicates IP address of the dial
peer. dns:host-name indicates that the domain name server will resolve the name of the IP address. Valid entries for this parameter are characters representing the name of the host device. There are also wildcards available for defining domain names with the keyword by using source, destination, and dialed information in the host name. For complete command syntax information, see Voice, Video, and Home Applications Command Reference for Cisco IOS Release 12.0. |
Follow the procedure below to verify dial-peer configuration. To learn more about these commands,
see Voice, Video, and Home Applications Command Reference for Cisco IOS Release 12.0.
Important command output is shown in bold.
Enter the privileged EXEC show dial-peer voice command. The following text is sample output
from the command for a POTS dial peer:
router# show dial-peer voice 1
VoiceEncapPeer1
tag = 1, dest-pat = \Q+14085551000',
answer-address = \Q',
group = 0, Admin state is up, Operation state is down
Permission is Both,
type = pots, prefix = \Q',
session-target = \Q', voice-port =
Connect Time = 0, Charged Units = 0
Successful Calls = 0, Failed Calls = 0
Accepted Calls = 0, Refused Calls = 0
Last Disconnect Cause is "10"
Last Disconnect Text is ""
Last Setup Time = 0
The following text is sample output from the show dial-peer voice command for a VoIP dial peer:
Router# show dial-peer voice 10
VoiceOverIpPeer10
tag = 10, dest-pat = \Q',
incall-number = \Q+14087',
group = 0, Admin state is up, Operation state is down
Permission is Answer,
type = voip, session-target = \Q',
sess-proto = cisco, req-qos = bestEffort,
acc-qos = bestEffort,
fax-rate = voice, codec = g729r8,
Expect factor = 10,Icpif = 30, VAD = disabled, Poor QOV Trap = disabled,
Connect Time = 0, Charged Units = 0
Successful Calls = 0, Failed Calls = 0
Accepted Calls = 0, Refused Calls = 0
Last Disconnect Cause is "10"
Last Disconnect Text is ""
Last Setup Time = 0
This section presents some useful show and debugging commands for understanding, maintaining, and troubleshooting your configuration.
| Table 1 | Debug and Show Commands for Maintaining and Troubleshooting Your Configuration |
| Command | Purpose |
| Router# show dialplan number number | Shows which dial-peer is matched by a called number. |
| Router# show call active voice | Shows statistics for currently active voice calls. |
| Router# show call active fax | Shows statistics for currently active fax calls. |
| Router# show call history voice | Shows statistics on previous voice calls. |
| Router# show call history fax | Shows statistics on previous fax calls. |
| Router# show connect {all | elements | name | id | port { T1 | E1 } slot/port }} | Shows the status of connections. See “Verifying Voice Card and Controller Settings” on page 18. |
| Router# show voice port | Shows the status of voice ports. See “Verifying Voice Ports” on page 21. |
| Router# show controller t1 slot/port | Shows the status of the T1 controller. See “Verifying Voice Card and Controller Settings” on page 18. |
| Router# debug vpm all | Debugs the T1 signaling. |
| Router# debug vtsp all | Debugs the digits received and sent. |
| Router# debug voip ccapi inout | Debugs the call setup process. |
The balance of this section shows the output of the commands listed in Table 1.
This section illustrates some of the privileged EXEC show commands that are useful for analyzing
your system. Note that important information appears in bold, and bold text preceded by the “<<“
characters explains the process.
The show dialplan number command provides information about the dial peer associated with a
specified dial-plan number. Notice that the dial peer is operational and that IP Precedence has been
configured to the preferred setting of 5.
The show call active voice command displays information about a current call:
cisco-router# show call active voice
GENERIC:
SetupTime=94523746 ms
Index=448
PeerAddress=##73072
PeerSubAddress=
PeerId=70000
PeerIfIndex=37
LogicalIfIndex=0
ConnectTime=94524043
DisconectTime=94546241
CallOrigin=1
ChargedUnits=0
InfoType=2
TransmitPackets=6251
TransmitBytes=125020
ReceivePackets=3300
ReceiveBytes=66000
VOIP:
ConnectionId[0x142E62FB 0x5C6705AF 0x0 0x385722B0]
RemoteIPAddress=171.68.235.18
RemoteUDPPort=16580
RoundTripDelay=29 ms
SelectedQoS=best-effort
tx_DtmfRelay=inband-voice
SessionProtocol=cisco
SessionTarget=ipv4:171.68.235.18
OnTimeRvPlayout=63690
GapFillWithSilence=0 ms
GapFillWithPrediction=180 ms
GapFillWithInterpolation=0 ms
GapFillWithRedundancy=0 ms
HiWaterPlayoutDelay=70 ms
LoWaterPlayoutDelay=30 ms
ReceiveDelay=40 ms
LostPackets=0 ms
EarlyPackets=1 ms
LatePackets=18 ms
VAD = disabled
CoderTypeRate=g729r8
CodecBytes=20
cvVoIPCallHistoryIcpif=0
SignalingType=cas
The show call history voice command shows statistics about previous calls:
sb1pbx-voip# show call history voice
GENERIC:
SetupTime=94893250 ms
Index=450
PeerAddress=##52258
PeerSubAddress=
PeerId=50000
PeerIfIndex=35
LogicalIfIndex=0
DisconnectCause=10
DisconnectText=normal call clearing.
ConnectTime=94893780
DisconectTime=95015500
CallOrigin=1
ChargedUnits=0
InfoType=2
TransmitPackets=32258
TransmitBytes=645160
ReceivePackets=20061
ReceiveBytes=401220
VOIP:
ConnectionId[0x142E62FB 0x5C6705B3 0x0 0x388F851C]
RemoteIPAddress=171.68.235.18
RemoteUDPPort=16552
RoundTripDelay=23 ms
SelectedQoS=best-effort
tx_DtmfRelay=inband-voice
SessionProtocol=cisco
SessionTarget=ipv4:171.68.235.18
OnTimeRvPlayout=398000
GapFillWithSilence=0 ms
GapFillWithPrediction=1440 ms
GapFillWithInterpolation=0 ms
GapFillWithRedundancy=0 ms
HiWaterPlayoutDelay=97 ms
LoWaterPlayoutDelay=30 ms
ReceiveDelay=49 ms
LostPackets=1 ms
EarlyPackets=1 ms
LatePackets=132 ms
VAD = disabled
CoderTypeRate=g729r8
CodecBytes=20
cvVoIPCallHistoryIcpif=0
SignalingType=cas
This section illustrates some of the EXEC mode debug commands that are useful when analyzing
and troubleshooting your system. Note that important information appears in bold, and bold text
preceded by the “<<“ characters explains the process.
The debug vpm all command displays information that allows you to troubleshoot T1 signaling:
cisco-router# debug vpm all
Apr 19 19:18:54 PDT: htsp_process_event: [1/0/16, 1.4 , 34]
em_onhook_offhookem_offhookem_onhookhtsp_setup_ind << port goes offhook
Apr 19 19:18:54 PDT: htsp_process_event: [1/0/16, 1.5 , 8]
Apr 19 19:19:01 PDT: htsp_process_event: [1/0/16, 1.5 , 10] htsp_alert_notify
Apr 19 19:19:01 PDT: htsp_process_event: [1/0/16, 1.5 , 11]
Apr 19 19:19:02 PDT: htsp_process_event: [1/0/16, 1.5 , 11]
Apr 19 19:19:15 PDT: htsp_process_event: [1/0/16, 1.5 , 22]
em_offhook_onhookem_stop_timers em_onhook << port goes onhook
Apr 19 19:19:15 PDT: htsp_process_event: [1/0/16, 1.4 , 7] em_onhook_releaseem_onhook
The debug vtsp all command displays information that allows you to troubleshoot digits received
and sent on a call:
cisco-router# debug vtsp all
Apr 19 19:21:55 PDT: dsp_cp_tone_on: [1/0:1 (9502)] packet_len=30 channel_id=1
packet_id=72 tone_id=3 n_freq=2 freq_of_first=350 freq_of_second=440 amp_of_first=4000
amp_of_second=4000 direction=1 on_time_first=65535 off_time_first=0
on_time_second=65535 off_time_second=0 << providing dialtone
Apr 19 19:21:59 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_BEGIN:
digit=2,rtp_timestamp=0xF2D37240
act_report_digit_begin
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_OFF: digit=2,
duration=102act_report_digit_end
Apr 19 19:22:00 PDT: dsp_cp_tone_off: [1/0:1 (9502)] packet_len=8 channel_id=1
packet_id=71
Apr 19 19:22:00 PDT: vtsp_timer: 34838705
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_BEGIN:
digit=3,rtp_timestamp=0xF2D37240
act_report_digit_begin
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_OFF: digit=3,
duration=92act_report_digit_end
Apr 19 19:22:00 PDT: dsp_cp_tone_off: [1/0:1 (9502)] packet_len=8 channel_id=1
packet_id=71
Apr 19 19:22:00 PDT: vtsp_timer: 34838724
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_BEGIN:
digit=1,rtp_timestamp=0xF2D37240 act_report_digit_begin
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_OFF: digit=1,
duration=92act_report_digit_end
Apr 19 19:22:00 PDT: dsp_cp_tone_off: [1/0:1 (9502)] packet_len=8 channel_id=1
packet_id=71
Apr 19 19:22:00 PDT: vtsp_timer: 34838744
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_BEGIN:
digit=9,rtp_timestamp=0xF2D37240
act_report_digit_begin
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_OFF: digit=9,
duration=102act_report_digit_end
Apr 19 19:22:00 PDT: dsp_cp_tone_off: [1/0:1 (9502)] packet_len=8 channel_id=1
packet_id=71
Apr 19 19:22:00 PDT: vtsp_timer: 34838768
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_BEGIN:
digit=8,rtp_timestamp=0xF2D37218
act_report_digit_begin
Apr 19 19:22:00 PDT: vtsp_process_dsp_message: MSG_TX_DTMF_DIGIT_OFF: digit=8,
duration=107act_report_digit_end
*** The Caller dialed the digits 23198 ***
The debug voip ccapi inout EXEC command traces the execution path through the call control API,
which serves as the interface between the call-session application and the underlying
network-specific software.
During the capabilities exchange shown in the command output, both sides agree on what
compression to use, and the debug voip ccapi inout output helps you determine what each side is
negotiating.
You can use the output from this command to understand how calls are being handled by the router.
This command shows how a call flows through the system. By using this debug level, you can see
the call setup and teardown operations performed on both the telephony and network call legs:
cisco-router# debug voip ccapi inout
Apr 19 19:23:11 PDT: sess_appl: ev(19=CC_EV_CALL_SETUP_IND), cid(9504), disp(0) << a
new call is originating
Apr 19 19:23:11 PDT: ccCallSetContext (callID=0x2520, context=0x61C0806C)
Apr 19 19:23:11 PDT: ccCallSetupAck (callID=0x2520)
Apr 19 19:23:11 PDT: ccGenerateTone (callID=0x2520 tone=8) << dialtone
Apr 19 19:23:18 PDT: cc_api_call_digit_begin (vdbPtr=0x61A1B1B4, callID=0x2520,
digit=2, flags=0x1, timestamp=0xCE2796D1, expiration=0x0) << digit 2 received
Apr 19 19:23:18 PDT: sess_appl: ev(10=CC_EV_CALL_DIGIT_BEGIN), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: ssaIgnore cid(9504), st(0),oldst(0), ev(10)
Apr 19 19:23:18 PDT: cc_api_call_digit (vdbPtr=0x61A1B1B4, callID=0x2520, digit=2,
duration=102)
Apr 19 19:23:18 PDT: sess_appl: ev(9=CC_EV_CALL_DIGIT), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: cc_api_call_digit_begin (vdbPtr=0x61A1B1B4, callID=0x2520,
digit=3, flags=0x1, timestamp=0xCE2796D1, expiration=0x0)
Apr 19 19:23:18 PDT: sess_appl: ev(10=CC_EV_CALL_DIGIT_BEGIN), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: ssaIgnore cid(9504), st(0),oldst(0), ev(10)
Apr 19 19:23:18 PDT: cc_api_call_digit (vdbPtr=0x61A1B1B4, callID=0x2520, digit=3,
duration=102) << digit 3 received
Apr 19 19:23:18 PDT: sess_appl: ev(9=CC_EV_CALL_DIGIT), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: cc_api_call_digit_begin (vdbPtr=0x61A1B1B4, callID=0x2520,
digit=1, flags=0x1, timestamp=0xCE2796D1, expiration=0x0)
Apr 19 19:23:18 PDT: sess_appl: ev(10=CC_EV_CALL_DIGIT_BEGIN), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: ssaIgnore cid(9504), st(0),oldst(0), ev(10)
Apr 19 19:23:18 PDT: cc_api_call_digit (vdbPtr=0x61A1B1B4, callID=0x2520, digit=1,
duration=92) << digit 1 received
Apr 19 19:23:18 PDT: sess_appl: ev(9=CC_EV_CALL_DIGIT), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: cc_api_call_digit_begin (vdbPtr=0x61A1B1B4, callID=0x2520,
digit=9, flags=0x1, timestamp=0xCE2796B9, expiration=0x0)
Apr 19 19:23:18 PDT: sess_appl: ev(10=CC_EV_CALL_DIGIT_BEGIN), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: ssaIgnore cid(9504), st(0),oldst(0), ev(10)
Apr 19 19:23:18 PDT: cc_api_call_digit (vdbPtr=0x61A1B1B4, callID=0x2520, digit=9,
duration=105) << digit 9 received
Apr 19 19:23:18 PDT: sess_appl: ev(9=CC_EV_CALL_DIGIT), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: cc_api_call_digit_begin (vdbPtr=0x61A1B1B4, callID=0x2520,
digit=8, flags=0x1, timestamp=0xCE279691, expiration=0x0)
Apr 19 19:23:18 PDT: sess_appl: ev(10=CC_EV_CALL_DIGIT_BEGIN), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: ssaIgnore cid(9504), st(0),oldst(0), ev(10)
Apr 19 19:23:18 PDT: cc_api_call_digit (vdbPtr=0x61A1B1B4, callID=0x2520, digit=8,
duration=100) << digit 8 received
Apr 19 19:23:18 PDT: sess_appl: ev(9=CC_EV_CALL_DIGIT), cid(9504), disp(0)
Apr 19 19:23:18 PDT: ssa: cid(9504)st(0)oldst(0)cfid(-1)csize(0)in(1)fDest(0)
Apr 19 19:23:18 PDT: ssaSetupPeer cid(9504) peer list: tag(20000)
Apr 19 19:23:18 PDT: ssaSetupPeer cid(9504), destPat(23198), matched(1), prefix(),
peer(61C04464) << matched dial-peer 20000 voip
Apr 19 19:23:18 PDT: peer_tag=20000 << matched dial-peer voip 20000
Apr 19 19:23:18 PDT: ccIFCallSetupRequest: (vdbPtr=0x61A25524, dest=, callParams
<< voip call setup
={called=23198, calling=+9.......T, fdest=0, voice_peer_tag=20000}, mode=0x0)
Apr 19 19:23:18 PDT: ccCallSetContext (callID=0x2521, context=0x61C12E18)
Apr 19 19:23:18 PDT: ccCallProceeding (callID=0x2520, prog_ind=0x0)
Apr 19 19:23:19 PDT: cc_api_call_alert(vdbPtr=0x61A25524, callID=0x2521, prog_ind=0x88,
sig_ind=0x1)
Apr 19 19:23:19 PDT: sess_appl: ev(7=CC_EV_CALL_ALERT), cid(9505), disp(0)
Apr 19 19:23:19 PDT: ssa:
cid(9505)st(1)oldst(0)cfid(-1)csize(0)in(0)fDest(0)-cid2(9504)st2(1)oldst2(0)
Apr 19 19:23:19 PDT: ccCallAlert (callID=0x2520, prog_ind=0x88, sig_ind=0x1)
Apr 19 19:23:19 PDT: ccConferenceCreate (confID=0x61A21670, callID1=0x2520,
callID2=0x2521, tag=0x0)
Apr 19 19:23:19 PDT: cc_api_bridge_done (confID=0x33, srcIF=0x61A25524,
srcCallID=0x2521, dstCallID=0x2520, disposition=0, tag=0x0)
Apr 19 19:23:19 PDT: cc_api_bridge_done (confID=0x33, srcIF=0x61A1B1B4,
srcCallID=0x2520, dstCallID=0x2521, disposition=0, tag=0x0)
Apr 19 19:23:19 PDT: cc_api_caps_ind (dstVdbPtr=0x61A25524, dstCallId=0x2521, sr
<< negotiating capabilities with the remote VoIP gateway
Apr 19 19:23:36 PDT: sess_appl: ev(8=CC_EV_CALL_CONNECTED), cid(9505), disp(0)
Apr 19 19:23:36 PDT: ssa:
cid(9505)st(4)oldst(1)cfid(51)csize(0)in(0)fDest(0)-cid2(9504)st2(4)oldst2(4)
<< the VoIP call is connected
Apr 19 19:23:54 PDT: sess_appl: ev(12=CC_EV_CALL_DISCONNECTED), cid(9505),disp(0)
<< the VoIP call is disconnected
Apr 19 19:23:54 PDT: ccCallDisconnect (callID=0x2520, cause=0x10 tag=0x0)
<< the VoIP call is disconnected by cause_code 0x10
Table 2 explains the codec negotiation values that appear—in hexadecimal format— during the
capabilities exchange portion of the command output.
| Table 2 | Codec Negotiation Values in debug voip ccapi inout |
| Negotiation Value in Decimal | Meaning |
| 1 | U-law PCM (g711ulaw) |
| 2 | A-law PCM (g711alaw) |
| 3 | A-law PCM (g711alaw) |
| 4 | 24k ADPCM (g726r24) |
| 5 | 16k ADPCM (g726r16) |
| 6 | CS-ACELP - pre-IETF (g729r8 pre-ietf) |
| 7 | low complexity CS-ACELP - pre-IETF (g729ar8 pre-ietf) |
| 8 | CS-ACELP with VAD (g729br8) |
| 9 | low complexity CS-ACELP with VAD (G.729abr8) |
| 10 | 16K LD-CELP (g728) |
| 11 | G.723.1 High Rate - 6300 bps (g723r63) |
| 12 | G.723.1 High Rate with VAD - 6300 bps (g723ar63) |
| 13 | G.723.1 Low Rate - 5300 bps (g723r53) |
| 14 | G.723.1 Low Rate with VAD - 5300 bps (g723ar53) |
| 19 | CS-ACELP - IETF standard (g729r8) |
| 20 | low complexity CS-ACELP - IETF standard (g729ar8) |
The information in this section helps you interpret the output from debug and show commands.
Table 3 shows Q.931 call disconnection causes. In the examples that follow, the disconnects are
caused by normal call clearing.
| Table 3 | Q.931 Call Disconnection Causes |
| Call Disconnection Cause Value | Meaning and Number |
| CC_CAUSE_UANUM = 0x1 | /* unassigned number. (1) */ |
| CC_CAUSE_NO_ROUTE = 0x3 | /* no route to destination. (3) */ |
| CC_CAUSE_NORM = 0x10 | /* normal call clearing. (16) */ |
| CC_CAUSE_BUSY = 0x11 | /* user busy. (17) */ |
| CC_CAUSE_NORS = 0x12 | /* no user response. (18) */ |
| CC_CAUSE_NOAN = 0x13 | /* no user answer. (19) */ |
| CC_CAUSE_REJECT = 0x15 | /* call rejected. (21) */ |
| CC_CAUSE_INVALID_NUMBER = 0x1C | /* invalid number. (28) */ |
| CC_CAUSE_UNSP = 0x1F | /* normal, unspecified. (31) */ |
| CC_CAUSE_NO_CIRCUIT = 0x22 | /* no circuit. (34) */ |
| CC_CAUSE_NO_REQ_CIRCUIT = 0x2C | /* no requested circuit. (44) */ |
| CC_CAUSE_NO_RESOURCE = 0x2F | /* no resource. (47) */ |
| CC_CAUSE_NOSV = 0x3F | /* service or option not available, |
| Unspecified. (63) */ |
| Table 4 | Tone Types and Their Meanings |
| Tone Type | Meaning |
| CC_TONE_RINGBACK | 0x1 - Ring Tone |
| CC_TONE_FAX | 0x2 - Fax Tone |
| CC_TONE_BUSY | 0x4 - Busy Tone |
| CC_TONE_DIALTONE | 0x8 - Dial Tone |
| CC_TONE_OOS | 0x10 - Out of Service Tone |
| CC_TONE_ADDR_ACK | 0x20 - Address Acknowledgement Tone |
| CC_TONE_DISCONNECT | 0x40 - Disconnect Tone |
| CC_TONE_OFF_HOOK_NOTICE | 0x80 - Tone indicating the phone was left off hook |
| CC_TONE_OFF_HOOK_ALERT | 0x100 /* A more urgent version of CC_TONE_OFF_HOOK_NOTICE*/ |
| CC_TONE_CUSTOM | 0x200 - Custom Tone - used when specifying a custom tone |
| CC_TONE_NULL | 0x0 - Null Tone |
These are codec capabilities bits that can appear in command output:
These are fax capabilities bits that can appear in command output. The numbers following “FAX_” refer to the fax speed (for example, “144” means 14,400 bps):
This section includes the following configuration examples:
These examples are not necessarily complete configurations. They are designed to illustrate specific tips and techniques, and only the relevant portions of the configurations are shown. Each configuration includes a brief introduction, side-by-side configurations for routers at either end, and explanations of key points.
Figure 6 Sample Configuration: Routed Digits

This example shows how to set up a Cisco 2600 or 3600 router to collect digits from either a PBX/PSTN or a phone and route a VoIP call based on the digits received. The commands used in the configurations are explained inline. Only relevant sections of the configuration are shown. The example assumes that the IP portion of the network is already in place.
| hostname router-alpha ! voice-card 1 codec complexity high ! dial-peer voice 1 voip codec g723r53 fax-rate 14400 destination-pattern 5.... session target ipv4:192.168.100.1 ! dial-peer voice 2 pots destination-pattern 4.... prefix 4 port 1/0:1 ! controller T1 1/0 framing esf linecode b8zs clock source line ds0-group 1 timeslots 1-24 type e&m-wink ! interface serial 0/0 ip address 192.168.100.2 255.255.255.0 |
hostname router-beta ! voice-card 1 codec complexity high ! dial-peer voice 1 voip codec g723r53 fax-rate 14400 destination-pattern 4.... session-target ipv4:192.168.100.2 ! dial-peer voice 2 pots destination-pattern 5.... prefix 5 port 1/0:1 ! controller T1 1/0 framing esf linecode b8zs clock source internal ds0-group 1 timeslot 1-24 type e&m-wink ! interface s0/0 ip address 192.168.100.1 255.255.255.0 |
In this configuration, the PBX seizes the T1 to the router, which expects to collect digits from the
PBX. Upon collecting those digits, the router tries to match a dial peer to route the call. If the router
receives the correct digits, it routes the call according to the configuration of the dial peer.
Here are some key points for consideration:
Figure 7 Sample Configuration: FRF.12 Switched VoIP Calls

This example shows how to configure a Cisco 2600 or 3600 router to support FRF.12 fragmentation and queuing in a voice over IP over Frame-Relay network. FRF.12 is a Frame Relay Forum standard mechanism for fragmenting data packets. This fragmentation helps eliminate the delays that occur when transmitting voice and data over the same network—large data packets can delay smaller voice packets from being transmitted into the IP network. FRF.12 is also supported on the MC3810 and 7200 routers, which can be used as tandem-nodes for VoIP networks.
| hostname router-alpha ! ipx routing ! voice-card 1 codec complexity high ! controller T1 1/0 framing esf linecode b8zs clock source line ds0-group 1 timeslot 1-24 type e&m-wink ! dial-peer voice 1 voip dtmf-relay h245-alpha codec g723r53 destination-pattern 5.... session target ipv4:192.168.100.2 ! dial-peer voice 2 pots destination-pattern 4.... prefix 4 port 1/0:1 ! interface serial 0/0 encapsulation frame-relay frame-relay traffic-shaping ! interface serial 0/0.1 point-to-point ip address 192.168.100.1 255.255.255.0 ipx network ABCD frame-relay interface-dlci 100 class cisco_frf12 ! map-class frame-relay cisco_frf12 frame-relay voice bandwidth 42000 frame-relay fragment 80 no frame-relay adaptive-shaping frame-relay cir 32000 frame-relay bc 1000 frame-relay mincir 64000 frame-relay fair-queue |
hostname router-beta ! ipx routing ! voice-card 1 codec complexity high ! controller T1 1/0 framing esf linecode b8zs clock source line ds0-group 1 timeslot 1-24 type e&m-wink ! dial-peer voice 1 voip dtmf-relay h245-alpha codec g723r53 destination-pattern 4.... session target ipv4:192.168.100.2 ! dial-peer voice 2 pots destination-pattern 5.... prefix 5 port 1/0:1 ! interface serial 0/0 encapsulation frame-relay frame-relay traffic-shaping ! interface serial 0/0.1 point-to-point ip address 192.168.100.2 255.255.255.0 ipx network ABCD frame-relay interface-dlci 101 class cisco_frf12 ! map-class frame-relay cisco_frf12 frame-relay voice bandwidth 42000 frame-relay fragment 80 no frame-relay adaptive-shaping frame-relay cir 64000 frame-relay bc 1000 frame-relay mincir 64000 frame-relay fair-queue |
Figure 8 Sample Configuration: Routing Calls through an H.323 Gatekeeper

Note With the introduction of Cisco IOS Release 12.0(5)T and subsequent releases, Cisco VoIP gateways support H.323v2 (H.323 Version 2), which is backwards-compatible with systems running H.323v1. However, H.323 Version 2 features do not interoperate with H.323 Version 1 features in Cisco IOS releases prior to 11.3(9)NA or 12.0(3)T. Earlier Cisco IOS versions contain H.323 Version 1 software that does not support protocol messages with an H.323 Version 2 protocol identifier. All systems must be running either Cisco IOS version 11.3(9)NA and later or releases Cisco IOS version 12.0(3)T and later releases to interoperate with H.323 Version 2. Gateway Resource Availability Indication (RAI) messages are currently not supported on the Cisco 2600 and 3600 series. (These are messages that are sent to the Gatekeeper to inform it about the status of a Gateway’s DSP or DS0 availability.)
The example in this section shows how to configure a Cisco 2600 or 3600 series router to route VoIP calls through an H.323 Gatekeeper. This setup shows calls being routed from a Gateway in Zone-Alpha, through the Gatekeeper, to a Gateway in Zone-Beta.
| Alpha Router hostname router-alpha ! voice-card 1 ! controller T1 1/0 framing esf linecode b8zs clock source internal ds0-group 1 timeslot 1-24 type e&m-wink ! voice-port 1/0:1 ! dial-peer voice 1 voip dtmf-relay h245-alpha destination-pattern 5.... tech-prefix 1# session target ras ! dial-peer voice 2 pots destination-pattern 4.... prefix 4 port 1/0:1 ! gateway ! interface ethernet 0/0 ip address 10.1.1.1 255.255.255.0 h323-gateway voip interface h323-gateway voip id alpha ipaddr 10.1.1.3 1719 h323-gateway voip h323-id router-alpha@alpha.com h323-gateway voip tech-prefix 1# Gatekeeper hostname router-gatekeeper ! gatekeeper zone local alpha alpha.com zone local beta beta.com no use-proxy alpha.com remote-zone beta.com no use-proxy beta.com remote-zone alpha.com zone prefix router-alpha 4.... zone prefix router-beta 5.... no shutdown ! interface ethernet 0/0 ip address 10.1.1.3 255.255.255.0 |
Beta Router hostname router-beta ! voice-card 1 ! controller T1 1/0 framing esf linecode b8zs clock source line ds0-group 1 timeslot 10-24 type e&m-wink ! voice-port 1/0:1 ! dial-peer voice 1 voip dtmf-relay h245-alpha destination-pattern 4.... tech-prefix 1# session target ras ! dial-peer voice 2 pots destination-pattern 5.... prefix 5 port 1/0:1 ! gateway ! interface ethernet 0/0 ip address 10.1.1.2 255.255.255.0 h323-gateway voip interface h323-gateway voip id beta ipaddr 10.1.1.3 1719 h323-gateway voip h323-id router-beta@beta.com h323-gateway voip tech-prefix 1# |
For complete documentation of H.323 gatekeeper functionality, refer to the IOS documentation on
CCO at these URLs:
http://www.cisco.com/univercd/cc/td/doc/product/software/ios
120/120newft/120t/120t3/mcmtcfg.
htm
http://www.cisco.com/univercd/cc/td/doc/product/software/ios
120/120newft/120t/120t3/mcmtcmd
.htm
Here are some key points for consideration:
Figure 9 Sample Configuration: PLAR

This example shows how to set up a Cisco 2600 or 3600 series router for a private-line
auto-ringdown (PLAR). PLAR is used to allow a station or DS0 to go off hook, and—without the
user dialing digits—have a call completed to the far end. PLAR can also provide dial tone from a
remote PBX for off-premises applications.
In this configuration, the phones off router Beta go off hook and receive dial tone from the PBX
connected to router Alpha. From there, users can dial any digits in to the PBX as if their stations are
directly connected to it.
Here are some key points for consideration:
| hostname router-alpha ! voice-card 1 ! ! controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslot 1 type fxo-loop ds0-group 2 timeslot 2 type fxo-loop ! dial-peer voice 1 voip dtmf-relay h245-alpha codec g729a destination-pattern 2.. session target ipv4:192.168.100.2 ! dial-peer voice 2 pots destination-pattern 101 port 1/0:1 ! dial-peer voice 3 pots destination-pattern 102 port 1/0:2 ! voice-port 1/0:1 connection plar 201 ! voice-port 1/0:2 connection plar 202 ! interface s0/0 ip address 192.168.100.1 255.255.255.0 |
hostname router-beta ! dial-peer voice 1 voip destination-pattern 1.. dtmf-relay h245-alpha codec g729a session target ipv4:192.168.100.1 ! dial-peer voice 2 pots destination-pattern 201 port 1/1 ! ! dial-peer voice 3 pots destination-pattern 202 port 1/2 ! voice-port 1/1 ! ! voice-port 1 / 2 ! ! interface serial 0/0 ip address 192.168.100.2 255.255.255.0 |
Figure 10 Sample Configuration: Connection Trunk Permanent VoIP Calls

This example shows how to configure a Cisco 2600 or 3600 router for a trunk connection. A trunk
connection is like a “wire” between the two routers. It is a transparent connection, so it allows
features such as hookflash (also called switchhook flash) or hoot ‘n’ holler (point-to-point) to pass.
This type of trunk configuration can also be used for OPXs (Off-Premise Extensions) that require
rollover to a centralized voice mail system when the user does not answer.
A trunk connection can only be used between E&M ports or with FXO-to-FXS connections.
| hostname router-alpha ! voice-card 1 ! controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslot 1 type e&m-wink ds0-group 2 timeslot 2 type e&m-wink clock source line ! voice-port 1/0:1 connection trunk 1111 ! voice-port 1/0:2 connection trunk 1112 ! dial-peer voice 1 voip dtmf-relay h245-alpha codec g729a destination-pattern 111. session target ipv4:192.168.100.2 ! dial-peer voice 2 pots destination-pattern 2221 port 1/0:1 ! dial-peer voice 3 pots destination-pattern 2222 port 1/0:2 ! interface serial 0/0 ip address 192.168.100.1 255.255.255.0 |
hostname router-beta ! voice-card 1 ! controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslot 1 type e&m-wink ds0-group 2 timeslot 2 type e&m-wink clock source line ! voice-port 1/0:1 connection trunk 2221 ! voice-port 1/0:2 connection trunk 2222 ! dial-peer voice 1 voip dtmf-relay h245-alpha codec g729a destination-pattern 222. session target ipv4:192.168.100.1 ! dial-peer voice 2 pots destination-pattern 1111 port 1/0:1 ! dial-peer voice 3 pots destination-pattern 1112 port 1/0:2 ! interface serial 0/0 ip address 192.168.100.2 255.255.255.0 |
In this configuration, a permanent and transparent path is set up between individual DS0s on each
router. It passes dial tone from the remote PBX and passes DTMF digits out of band.
The connection trunk command establishes the permanent trunk connection between the routers.
The digits after the command are passed internally within the router to match a dial-peer so that the
call can be set up.
Figure 11 Sample Configuration: Drop and Insert

Drop-and-Insert technology is one way to integrate old PBX technologies with VoIP. It allows you
to take 64Kb DS0 channels from one T1 and digitally cross-connect them to 64Kb DS0 channels on
another T1. Drop and Insert is sometimes called TDM Cross-Connect.
Drop and Insert allows individual 64Kb DS0 channels to be transparently passed, uncompressed,
between T1 ports without passing through a DSP. Using this method, the channel traffic is sent
between a PBX and Central Office switch (PSTN) or other telephony device, allowing the use, for
example, of some PBX channels for long-distance service through the PSTN while the router
compresses others for interoffice VoIP calls. In addition, Drop and Insert can cross-connect a
telephony switch (from the CO or PSTN) to a channel bank to provide external analog connectivity.
Note the following design requirements:
| hostname RTR-A ! voice-card 1 codec complexity high ! controller T1 1/0 clock source line framing esf linecoding b8zs ds0-group 1 timeslots 1-12 type e&m-wink tdm-group 2 timeslots 13-24 type e&m ! controller T1 1/1 clock source line primary framing esf linecoding b8zs tdm-group 3 timeslots 13-24 type e&m ! voice-port 1/0:1 ! dial-peer voice 1 voip destination-pattern 4.... codec g723r63 dtmf-relay h245-alpha session target ipv4:192.168.100.2 ! dial-peer voice 2 pots destination-pattern 5.... prefix 5 port 1/0:1 ! interface serial 0/0 encapsulation ppp ip address 192.168.100.1 255.255.255.0 ! connect tdm1 T1 1/0 2 T1 1/1 3 |
hostname RTR-B ! voice-card 1 codec complexity high ! controller T1 1/0 clock source line framing esf linecoding b8zs ds0-group 1 timeslots 1-12 type e&m-wink tdm-group 2 timeslots 13-24 type e&m ! controller T1 1/1 clock source line primary framing esf linecoding b8zs tdm-group 3 timeslots 13-24 type e&m ! voice-port 1/0:1 ! dial-peer voice 1 voip destination-pattern 5.... codec g723r63 dtmf-relay h245-alpha session target ipv4:192.168.100.1 ! dial-peer voice 2 pots destination-pattern 4.... prefix 4 port 1/0:1 ! interface serial 0/0 encapsulation ppp ip address 192.168.100.2 255.255.255.0 ! connect tdm1 T1 1/0 2 T1 1/1 3 |
Here are some key points for consideration:
This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command references.
To place a voice port into busyout monitor state, enter the busyout-monitor interface voice-port
configuration command. To remove the busyout monitor state on the voice port, use the no form of
this command.
busyout-monitor interface interface number
no busyout-monitor interface interface number
Syntax Description
interface The name of the associated interface or subinterface that will be monitored to
trigger a voice-port busyout, for example serial, atm, or ethernet.
number The slot and port position of the interface or subinterface, for example, 0/1,
1/1.0, and so on.
Default
The voice port is not in busyout monitor state.
Command Mode
Voice-port configuration
Command History
Release Modification
12.0(3)T This command was introduced for the Cisco MC3810.
12.0(5)XK and 12.0(7)T The command was modified for the Cisco 2600 and 3600 series.
Usage Guidelines
When you place a voice port in busyout monitor state, the voice port monitors the specified interface
and enters the busyout state when the interface is down. This forces rerouting of calls when an
interface is down.
If you specify more than one monitored interface for a voice port, all the monitored interfaces must
be down in order to trigger busyout on the voice port.
The command monitors only the up or down status of an interface—not end-to-end TCP/IP
connectivity.
When an interface is operational, a busied-out voice port returns to its normal state.
This feature can monitor LAN, WAN, and virtual interfaces, as well as subinterfaces.
Example
The following example configures the voice port to monitor two serial interfaces and an Ethernet
interface. When all these interfaces are down, the voice port is busied out. When at least one interface
is operating, the voice port is put back into a normal state.
voice-port 3/0:0
busyout monitor interface Ethernet0/0
busyout monitor interface Serial1/0
busyout monitor interface Serial2/0
To specify the voice coder rate of speech for a VoIP dial peer, enter the codec dial-peer configuration
command. Use the no form of this command to restore the default value.
codec {g711alaw | g711ulaw | g723ar53 | g723ar63 | g723r53 | g723r63 | g726r16 | g726r24 |
g726r32 | g728 | g729r8 [pre-ietf] | g729br8 } [bytes]
no codec
Syntax Description
| codec | The voice-card configuration codec complexity command sets the codec
options that you can use when you execute this command. If you set codec complexity to high, the following options are available: • g711alaw—G.711 A Law 64,000 bps • g711ulaw—G.711 u Law 64,000 bps • g723ar53—G.723.1 Annex A 5,300 bps • g723ar63—G.723.1 Annex A 6,300 bps • g723r53—G.723.1 5,300 bps • g723r63—G.723.1 6,300 bps • g726r16—G.726 16,000 bps • g726r24—G.726 24,000 bps • g726r32—G.726 32,000 bps • g728—G.728 16,000 bps • g729r8---G.729 8,000 bps (default) • g729br8—G.729 Annex B 8,000 bps If you set codec complexity to medium, the following options are valid: • g711alaw—G.711 A Law 64,000 bps • g711ulaw—G.711 u Law 64,000 bps • g726r16—G.726 16,000 bps • g726r24—G.726 24,000 bps • g726r32—G.726 32,000 bps • g729r8—G.729 Annex A 8,000 bps • g729br8—G.729 Annex B with Annex A 8,000 bps |
| bytes | (Optional) Specifies the voice data bytes per frame. Acceptable values are from 10 to 240 in increments of 10 (10, 20, 30 ... 220, 230, 240). Any other value is rounded down. |
| pre-ietf | Specifies pre-IETF (Internet Engineering Task Force) bit-ordering. This keyword is
valid only on the Cisco 2600, 3600, or AS5300 routers when the g729r8 codec is
specified. You must specify this keyword for connection to a Cisco 2600, 3600, or AS5300 router running a Cisco IOS release prior to 12.0(5)T or 12.0(4)XH. |
Default
The default is g729r8.
Command Mode
Dial-peer configuration
Command History
| Release | Modification |
| 11.3(1)T | This command was introduced as a Cisco 3600 VoIP dial-peer configuration command. |
| 12.0(4)T | This command was modified for VoFR dial peers. On the Cisco MC3810, this command was first supported as a dial-peer command. |
| 12.0(5)XK and 12.0(7)T | Additional codec choice and other options were added. |
Usage Guidelines
This command applies only to VoIP dial peers.
A specific codec type can be configured on the dial-peer as long as it is supported by the setting used
with the codec complexity voice-card configuration command.
The dial-peer configuration command is particularly useful when you must change to a
small-bandwidth codec. Large-bandwidth codecs, such as G.711, do not fit in a small-bandwidth
link. However, g711alaw and g711ulaw provide higher-quality voice transmission than other
codecs. g729r8, which provides near-toll quality with considerable bandwidth savings.
If codec values for the VoIP peers of a connection do not match, the call fails.
You can change the payload of each VoIP frame by using the byte setting. However, increasing the
payload size can add processing delay for each voice packet.
Example
The following example configures a dial peer to use the g723r53 (G.723.1 at 5,300 bps) codec type:
dial-peer voice 1 voip
codec g723r53
Related Commands
| Command | Description |
| codec complexity | This voice-card configuration command sets codec complexity and
call density. high supports the following services: G.711, G.726, G.729, G.729 Annex B, G.723.1, G.723.1 Annex B, G.728, and fax relay. medium supports G.711, G.726, G.729 Annex A, G.729 Annex B with Annex A, and fax relay. |
| show dial-peer voice | Displays the codec setting for dial peers. |
Based on the codec standard you are using, enter the codec complexity voice-card configuration
command to specify call density and codec complexity. High-complexity codecs support lower call
density than do medium-complexity codecs. The no form of the command resets the voice card to
the default.
codec complexity {high | medium}
no codec complexity
Syntax Description
high High-complexity codecs support the following services: G.711, G.726,
G.729, G.729 Annex B, G.723.1, G.723.1 Annex A, G.728, and fax relay.
medium Medium-complexity codecs support the following services: G.711, G.726,
G.729 Annex A, G.729 Annex B with Annex A, and fax rela
Default
The default is medium.
Command Mode
Voice-card configuration
Command History
| Release | Modification |
| 12.0(5)XK and 12.0(7)T | The command was introduced for the Cisco 2600 and 3600 series. |
Usage Guidelines
Codec complexity refers to the amount of processing required in order to perform compression.
Codec complexity affects the number of calls that can take place on a voice card’s digital signal
processors (DSPs), referred to as call density. The greater the codec complexity, the fewer calls are
handled. For example, G.711 requires less DSP processing than G.728, so that as long as the
bandwidth is available, more calls can be handled simultaneously by using the G.711 standard than
using G.728.
All voice cards in a router must use the same codec complexity. The voice-card codec complexity
setting affects the options available for the codec dial-peer configuration command.
To change codec complexity, you must first remove any configured CAS or DS0 groups, then
reinstate them after the change.
Example
The following example configures a voice card for high-complexity codecs:
voice-card 1
codec complexity high
Related Command
| Command | Description |
| ds0-group | Controller configuration command that defines the T1 channels for compressed voice calls and the signaling method by which the router connects to the PBX or PSTN. Before you can change codec complexity, you must remove any DS0 groups that are already configured; then, re-create them after making the change. |
To define connections between T1 or E1 controller ports for Drop and Insert (also called TDM
Cross-Connect), enter the connect global configuration command.
connect id {t1 | e1} slot/port-1 tdm-group-no-1 {t1 | e1} slot/port-2 tdm-group-no-2
no connect id {t1 | e1} slot/port-1 tdm-group-no-1 {t1 | e1} slot/port-2 tdm-group-no-2
Syntax Description
| id | A name for this connection |
| T1 | Specifies a T1 port. |
| E1 | Specifies an E1 port. |
| slot/port-1 | The location of the first T1 or E1 controller to be connected. Valid values for slot and port are 0 and 1. |
| tdm-group-no-1 | The number identifier of the time-division multiplexing (TDM) group associated with the first T1 or E1 controller port and created by using the tdm-group command. Valid values are from 0 to 23 for T1 and from 0 to 30 for E1. |
| slot/port-2 | The location of the second T1 or E1 controller port to be connected. Valid values for slot are from 0 to 5 depending on the platform. Valid values for port are 0 to 3 depending on the platform and the presence of a network module. |
| tdm-group-no-2 | The number identifier of the time-division multiplexing (TDM) group associated with the second T1 or E1 controller and created by using the tdm-group command. Valid values are from 0 to 23 for T1 and from 0 to 30 for E1. |
Default
There is no Drop-and-Insert connection between the ports.
Command Mode
Global configuration
Command History
| Release | Modification |
| 12.0(5)XK and 12.0(7)T | The command was introduced. |
Usage Guidelines
The connect command creates a named connect between two TDM groups associated with
Drop-and-Insert ports on T1 or E1 interfaces where the user has already defined the groups by using
the tdm-group command.
Example
The following example shows how two T1 TDM groups are set up and then connected:
Router(config)# controller T1 1/0
Router(config-controller)tdm-group 2 timeslots 13-24 type e&m
Router(config-controller)# controller T1 1/1
Router(config-controller)tdm-group 3 timeslots 13-24 type e&m
Router(config-controller)exit
Router(config)connect tdm1 T1 1/0 2 T1 1/1 3
Related Command
| Command | Description |
| show connect | This command shows the status of current Drop-and-Insert connections that have been set up by using the connect command. |
| tdm-group | This controller configuration command creates TDM groups that can be connected for Drop-and-Insert functionality. |
To define T1 channels for compressed voice calls and the channel-associated signaling (CAS)
method by which the router connects to the PBX or PSTN, enter the ds0-group controller
configuration command. The no form of the command removes the group and signaling setting.
ds0-group ds0-group-no timeslots timeslot-list type {e&m-immediate | e&m-delay |
e&m-wink | fxs-ground-start | fxs-loop-start | fxo-ground-start | fxo-loop-start}
no ds0-group ds0-group-no
Syntax Description
| ds0-group-no | A value from 0 to 23 that identifies the DS0 group |
| timeslot-list | timeslot-list is a single timeslot number, a single range of numbers, or
multiple ranges of numbers separated by commas. For T1, allowable values
are from 1 to 24. Examples are: • 2 • 1-15, 17-24 • 1-23 • 2, 4, 6-12 |
| type | The signaling method selection for type depends on the connection that you
are making. The E&M interface allows connection for PBX trunk lines (tie
lines) and telephone equipment. The FXS interface allows connection of
basic telephone equipment and PBXes. The FXO interface is for connecting
the central office (CO) to a standard PBX interface where permitted by local
regulations; it is often used for off-premises extensions. The options are as follows: • e&m-immediate specifies no specific offhook and onhook signaling. • e&m-delay specifies that the originating endpoint sends an offhook signal and then and waits for an offhook signal followed by an onhook signal from the destination. • e&m-wink specifies that the originating endpoint sends an offhook signal and waits for a wink signal from the destination. • fxs-ground-start specifies Foreign Exchange Station ground-start signaling support. • fxs-loop-start specifies Foreign Exchange Station loop-start signaling support. • fxo-ground-start specifies Foreign Exchange Office ground-start signaling support. • fxo-loop-start specifies Foreign Exchange Office loop-start signaling support. |
Default
There is no DS0 group.
Command Mode
Controller configuration
Command History
| Release | Modification |
| 11.3 MA | The command was introduced as the voice-group command for the Cisco MC3810 multiservice access concentrator. |
| 12.0(5)XK and 12.0(7)T | The command was introduced for the Cisco 2600 and 3600 series with a different name and some keyword modifications. |
Usage Guidelines
The ds0-group command automatically creates a logical voice port that is numbered as follows on
Cisco 2600 and 3600 series routers: slot/port:ds0-group-no. Although only one voice port is created
for each group, applicable calls are routed to any channel in the group.
Example
The following example configures ranges of T1 controller timeslots for FXS ground-start and FXO
loop-start signaling:
controller T1 1/0
framing esf
linecode b8zs
ds0-group 1 timeslot 1-10 type fxs-ground-start
ds0-group 2 timeslot 11-24 type fxo-loop-start
| Command | Description |
| codec complexity | To change codec complexity by |