2 - VoIP Configuration
2 - VoIP Configuration
VoIP Configuration
This chapter explains how to configure VoIP on your router and contains the following sections:
• Prerequisite Tasks
• Configuration Tasks
• Configure IP Networks for Real-Time Voice Traffic
• Configure Number Expansion
• Configure Dial Peers
• Configure Voice Ports
• Additional VoIP Dial Peer Configurations
• Configure Frame Relay for VoIP
• Configure Microsoft NetMeeting for VoIP
Prerequisite Tasks
Before you can configure your router to use VoIP, you need to perform the following tasks:
• Establish a working IP network. For more information about configuring IP, refer to the
“IP Overview,” “Configuring IP Addressing,” and “Configuring IP Services” chapters in the
Network Protocols Configuration Guide, Part 1 for Cisco IOS Release 12.0T.
• Install the voice interface cards (VICs) in your router. For more information about installing a VIC
in your router, refer to the <Emphasis>Cisco WAN Interface Cards Hardware Installation Guide.
• Complete your company’s dial plan.
• Establish a working telephony network based on your company’s dial plan.
• Integrate your dial plan and telephony network into your existing IP network topology. Merging
your IP and telephony networks depends on your particular IP and telephony network topology. In
general, we recommend the following:
– Use canonical numbers wherever possible. Avoid situations where numbering systems are
significantly different on different routers or access servers in your network.
– Make routing and dialing transparent to the user—for example, avoid secondary dial tones
from secondary switches, where possible.
– Contact your PBX vendor for instructions about how to reconfigure the appropriate PBX
interfaces.
Configuration Tasks
To configure VoIP on your router, you need to perform the following steps:
Step 1 Configure your IP network to support real-time voice traffic. Refer to the following section for
information about selecting and configuring the appropriate QoS tool or tools to optimize voice traffic
on your network.
Step 2 (Optional) If you plan to run VoIP over Frame Relay, you need to consider certain factors so that VoIP
runs smoothly. For example, a public Frame Relay cloud provides no guarantees for QoS. Refer to the
“Configure Frame Relay for VoIP” section on page 2-24 for information about deploying VoIP over
Frame Relay.
Step 3 Use the num-exp command to configure number expansion if your telephone network is configured so
that you can reach a destination by dialing only a portion (an extension number) of the full E.164
telephone number. Refer to the “Configure Number Expansion” section on page 2-8 for information
about number expansion.
Step 4 Use the dial-peer voice command to define dial peers and switch to the dial-peer configuration mode.
Refer to the “Configure Dial Peers” section on page 2-9 and the “Additional VoIP Dial Peer
Configurations” section on page 2-21 for additional information about configuring dial peers and
dial-peer characteristics.
Step 5 Configure your router to support voice ports. Refer to the “Configure Voice Ports” section on page 2-14
for information about configuring voice ports.
Enable RSVP
To minimally configure RSVP for voice traffic, you must enable RSVP on each interface where priority
needs to be set.
By default, RSVP is disabled so that it is backwards compatible with systems that do not implement
RSVP. To enable RSVP for IP on an interface, use the following interface configuration command:
Router(config-if)# ip rsvp bandwidth [interface-kbps] [single-flow-kbps]
For G.729, the allocation works out to be 24,000 bps. For G.711, the allocation is 80,000 bps.
For more information about configuring RSVP, refer to the “Configuring RSVP” chapter of the Network
Protocols Configuration Guide, Part 1 for Cisco IOS Release 12.0T.
After enabling RSVP, you must also use the req-qos dial-peer configuration command to request an
RSVP session on each VoIP dial peer. Otherwise, no bandwidth is reserved for voice traffic.
Router(config)# dial-peer voice 211 voip
Router(config-dial-peer)# req-qos controlled-load
Multilink PPP support for interleaving can be configured on virtual templates, dialer interfaces, and
ISDN BRI or PRI interfaces. To configure interleaving, you need to complete the following tasks:
• Configure the dialer interface or virtual template, as defined in the relevant chapters of the Dial
Solutions Configuration Guide for Cisco IOS Release 12.0T.
• Configure multilink PPP and interleaving on the interface or template.
To configure multilink PPP and interleaving on a configured and operational interface or virtual
interface template, use the following interface configuration commands:
Note You can use the ip rtp reserve command instead of configuring RSVP. If you configure
RSVP, this command is not required.
For more information about multilink PPP, refer to the “Configuring Media-Independent PPP and
Multilink PPP” chapter in the Dial Solutions Configuration Guide for Cisco IOS Release 12.0T.
2 to 4 bytes
Payload
12076
You should configure RTP header compression if the following conditions describe your network:
• Links slower than 2 Mbps
• Need to save bandwidth
Note Do not use RTP header compression on links greater than 2 Mbps.
Perform the following tasks to configure RTP header compression for VoIP. The first task is required;
the second task is optional.
• Enable RTP Header Compression on a Serial Interface
• Change the Number of Header Compression Connections
If you include the passive keyword, the software compresses outgoing RTP packets only if incoming
RTP packets on the same interface are compressed. If you use the command without the passive
keyword, the software compresses all RTP traffic.
For more information about RTP header compression, see the “Configuring IP Multicast Routing”
chapter of the Network Protocols Configuration Guide, Part 1 for Cisco IOS Release 12.0T.
Custom Queuing and other methods for identifying high priority streams should be configured for these
port ranges. For more information about custom queuing, refer to the “Managing System Performance”
chapter in the Configuration Fundamentals Configuration Guide for Cisco IOS Release 12.0T.
17420
WAN IP cloud WAN
Voice 10.1.1.1 10.1.1.2
port Cisco 1750
0/1 Voice port Router 2
1/0
408 555-1003
Table 2-1 shows the number expansion table for this scenario.
Destination Num-Exp
Extension Pattern Command Entry Description
1... 14085551... num-exp 1... To expand a four-digit extension
14085551... beginning with the numeral 1 by prefixing
1408555 to it
2... 17295552... num-exp 2... To expand a four-digit extension
17295552... beginning with the numeral 2 by prefixing
1408555 to it
Destination Num-Exp
Extension Pattern Command Entry Description
3... 17295553... num-exp 3... To expand a four-digit extension
17295553... beginning with the numeral 3 by prefixing
1408555 to it
Note You can use a period (.) to represent variables (such as extension numbers) in a telephone
number. A period is similar to a wildcard, which matches any entered digit.
The information included in this example needs to be configured on both Cisco 1750 Router 1 and
Cisco 1750 Router 2. In this configuration, Cisco 1750 Router 1 can call any number string that begins
with the digits 17295552 or 17295553 to connect to Cisco 1750 Router 2. Similarly, Cisco 1750 Router
2 can call any number string that begins with the digits 14085551 to connect to Cisco 1750 Router 1.
Use the show num-exp command to verify that you have mapped the telephone numbers correctly.
After you have configured dial peers and assigned destination patterns to them, use the show dialplan
number command to see how a telephone number maps to a dial peer.
Source Destination
IP cloud
18944
Call leg for VoIP
dial peer 1 dial peer 2
Figure 2-4 Dial Peer Call Legs from the Perspective of the Destination Router
IP cloud
24418
Destination Source
There are basically two different kinds of dial peers with each voice implementation:
• POTS—(also known as “plain old telephone service” or “basic telephone service”) dial peer
associates a physical voice port with a local telephone device, and the key commands you need to
configure are the port and destination-pattern commands. The destination-pattern command
defines the telephone number associated with the POTS dial peer. The port command associates
the POTS dial peer with a specific logical dial interface, normally the voice port connecting your
router to the local POTS network.
• VoIP—dial peer associates a telephone number with an IP address, and the key commands you need
to configure are the destination-pattern and session target commands. The destination-pattern
command defines the telephone number associated with the VoIP dial peer. The session target
command specifies a destination IP address for the VoIP dial peer. In addition, you can use VoIP
dial peers to define characteristics such as IP precedence, additional QoS parameters (when RSVP
is configured), CODEC, and VAD.
Figure 2-5 Outgoing Calls from the Perspective of POTS Dial Peer 1
Source Destination
Router 1 Router 2
Voice port Voice port
17421
0/0 10.1.2.2 10.1.1.2 0/0
IP cloud
(310) 555-1000
(408) 555-4000
POTS call leg
dial peer 1 VoIP call leg
dial peer 2
To configure call connectivity between the source and the destination as illustrated in Figure 2-5, enter
the following commands on router 10.1.2.2:
Router(config)# dial-peer voice 1 pots
Router(config-dial-peer)# destination-pattern 14085554000
Router(config-dial-peer)# port 0/0
Figure 2-6 shows how to complete the end-to-end call between dial peer 1 and dial peer 4.
Figure 2-6 Outgoing Calls from the Perspective of POTS Dial Peer 2
Destination Source
Router 1 Router 2
Voice port Voice port
17422
Commands
Destination-
Router Dial Peer Tag Pattern Type Session Target CODEC QoS
Cisco 1750 10 1729555.... VoIP IPV4 10.1.1.2 G.729 Best effort
Router 1
Cisco 1750 11 1408555.... VoIP IPV4 10.1.1.1 G.729 Best effort
Router 2
The number value of the dial-peer voice pots command is a tag that uniquely identifies the dial peer.
(This number has local significance only.)
To configure the identified POTS dial peer, use the following dial peer configuration command:
Router(config-dial-peer)# destination-pattern string
The string value of the destination-pattern command is the destination telephone number associated
with this POTS dial peer.
The number value of the dial-peer voice voip command is a tag that uniquely identifies the dial peer.
To configure the identified VoIP dial peer, use the following dial peer configuration commands
:
Command Task
Step 1 destination-pattern string Define the destination telephone number associated with this
VoIP dial peer.
Step 2 session target Specify a destination IP address for this dial peer.
{ipv4:destination-address |
dns:host-name}
For additional VoIP dial peer configuration options, refer to the “VoIP Commands” chapter. For
examples of how to configure dial peers, refer to the “VoIP Configuration Examples” chapter.
Troubleshooting Tips
If you are having trouble connecting a call and you suspect the problem is associated with the dial-peer
configuration, you can try to resolve the problem by performing the following tasks:
• Ping the associated IP address to confirm connectivity. If you cannot successfully ping your
destination, refer to the “Configuring IP” chapter in the Network Protocols Configuration Guide,
Part 1 for Cisco IOS Release 12.0T.
• Use the show dial-peer voice command to verify that the operational status of the dial peer is up.
• Use the show dialplan number command on the local and remote routers to verify that the data is
configured correctly on both.
• If you have configured number expansion, use the show num-exp command to check that the
partial number on the local router maps to the correct full E.164 telephone number on the remote
router.
• If you have configured a CODEC value, there can be a problem if the VoIP dial peers on either side
of the connection have incompatible CODEC values. Make sure that both VoIP peers have been
configured with the same CODEC value.
Caution If you are not familiar with Cisco IOS debug commands, you should read the “Using
Debug Commands” section in the “VoIP Debug Commands” chapter before attempting
any debugging.
• Use the debug vpm spi command to verify the output string the router dials is correct.
• Use the debug cch323 rtp command to check RTP packet transport.
• Use the debug cch323 h225 command to check the call setup.
Required /
Command Optional Task
Step 1 configure terminal Required Enter the global configuration mode.
Step 2 voice-port slot-number/port Required Identify the voice port you want to
configure and enter the voice port
configuration mode.
Step 3 dial-type {dtmf | pulse} Required (For FXO ports only) Select the
appropriate dial type for out-dialing.
Step 4 signal {loop-start | Required Select the appropriate signal type for this
ground-start} interface.
Step 5 cptone country Required Select the appropriate voice call progress
tone for this interface.
The default for this command is us. For a
list of supported countries, refer to
Chapter 4, “VoIP Commands.”
Step 6 ring frequency {25 | 50} Required (For FXS ports only) Select the ring
frequency (in Hz) specific to the
equipment attached to this voice port and
appropriate to the country you are in.
Step 7 ring number number Required (For FXO ports only) Specify the
maximum number of rings before
answering a call.
Step 8 connection plar string Optional Specify the private line auto ringdown
(PLAR) connection if this voice port is
used for a PLAR connection. The string
value specifies the destination telephone
number.
Step 9 music-threshold number Optional Specify the threshold (in dB) for on-hold
music. Valid entries are from –70 to –30
db.
Step 10 description string Optional Attach descriptive text about this
voice-port connection.
Step 11 comfort-noise Optional If voice activity detection (VAD) is
activated, specify that background noise is
generated.
Troubleshooting Tips
If you are having trouble connecting a call and you suspect the problem is associated with the voice-port
configuration, you can try to resolve the problem by performing the following tasks:
• Ping the associated IP address to confirm connectivity. If you cannot ping your destination, refer to
the Network Protocols Configuration Guide, Part 1 for Cisco IOS Release 12.0T.
• Use the show voice-port command to make sure that the port is enabled. If the port is offline, use
the no shutdown command.
• Make sure the VICs are correctly installed. For more information about installing a VIC in your
router, refer to the <Emphasis>Cisco WAN Interface Cards Hardware Installation Guide.
Default
Command Task Valid Entries Values
Step 1 configure terminal Enter the global configuration
mode.
Step 2 voice-port slot-number/port Identify the voice port you
want to configure, and enter
the voice port configuration
mode.
Step 3 input gain value Specify (in dB) the amount of –6 to 14 dB 0 dB
gain to be inserted at the
receiver side of the interface.
Step 4 output attenuation value Specify (in dB) the amount of 0 to 14 dB 0 dB
attenuation at the transmit
side of the interface.
Note After you change any voice-port command, we recommend that you cycle the port by
using the shutdown and no shutdown commands.
Required /
Command Optional Task
Step 1 configure terminal Required Enter the global configuration mode.
Step 2 voice-port slot-number/port Required Identify the voice port you want to configure,
and enter the voice port configuration mode.
Step 3 dial-type {dtmf | pulse} Required Select the appropriate dial type for
out-dialing.
Step 4 signal {wink-start | immediate | Required Select the appropriate signal type for this
delay-dial} interface.
Step 5 cptone {australia | brazil | Required Select the appropriate voice call progress tone
china | finland | france | for this interface.
germany | japan |
northamerica |
unitedkingdom}
Step 6 operation {2-wire | 4-wire} Required Select the appropriate cabling scheme for this
voice port.
Step 7 type {1 | 2 | 3 | 5} Required Select the appropriate E&M interface type.
Type 1 is for the following lead configuration:
E—output, relay to ground
M—input, referenced to ground
Type 2 is for the following lead configuration:
E—output, relay to SG
M—input, referenced to ground
SB—feed for M, connected to –48V
SG—return for E, galvanically
isolated from ground
Type 3 is for the following lead configuration:
E—output, relay to ground
M—input, referenced to ground
SB—connected to –48V
SG—connected to ground
Type 5 is for the following lead configuration:
E—output, relay to ground
M—input, referenced to –48V.
Troubleshooting Tips
If you are having trouble connecting a call and you suspect the problem is associated with the voice-port
configuration, you can try to resolve the problem by performing the following tasks:
• Ping the associated IP address to confirm connectivity. If you cannot ping your destination, refer to
the Network Protocols Configuration Guide, Part 1 for Cisco IOS Release 12.0T.
• Use the show voice-port command to make sure that the port is enabled. If the port is offline, use
the no shutdown command.
• If you have configured E&M interfaces, make sure that the values pertaining to your specific PBX
setup, such as timing and type, are correct.
• Make sure the VICs are correctly installed. For more information, refer to the
<Emphasis>Cisco WAN Interface Cards Hardware Installation Guide.
Default
Command Task Valid Entries Values
Step 1 configure terminal Enter the global configuration
mode.
Step 2 voice-port slot-number/port Identify the voice port you
want to configure, and enter
the voice port configuration
mode.
Step 3 input gain value Specify (in dB) the amount of –6 to 14 dB 0 dB
gain to be inserted at the
receiver side of the interface.
Step 4 output attenuation value Specify (in dB) the amount of 0 to 14 dB 0 dB
attenuation at the transmit
side of the interface.
Step 5 echo-cancel enable Enable echo-cancellation of
voice that is sent out of the
interface and received back
on the same interface.
Step 6 echo-cancel coverage value Adjust the size (in 8, 16, 24, and 16 ms
milliseconds) of the 32 ms
echo-cancel.
Step 7 non-linear Enable nonlinear processing,
which shuts off any signal if
no near-end speech is
detected. (Nonlinear
processing is used with
echo-cancellation.)
Step 8 timeouts initial seconds Specify the number of 0 to 120 sec 10 sec
seconds the system will wait
for the caller to input the first
digit of the dialed digits.
Step 9 timeouts interdigit seconds Specify the number of 0 to 120 sec 10 sec
seconds the system will wait
(after the caller has input the
initial digit) for the caller to
input a subsequent digit.
Note After you change any voice-port command, we recommend that you cycle the port by
using the shutdown and no shutdown commands.
In IP precedence, the numbers 1 through 5 identify classes for IP flows; the numbers 6 through 7 are
used for network and backbone routing and updates.
For example, to ensure that voice traffic associated with VoIP dial peer 103 is given a higher priority
than other IP network traffic, enter the following:
Router(config)# dial-peer voice 103 voip
Router(config-dial-peer)# ip precedence 5
In this example, when an IP call leg is associated with VoIP dial peer 103, all packets transmitted to the
IP network via this dial peer will have their precedence bits set to 5. If the networks receiving these
packets have been configured to recognize precedence bits, the packets are given priority over packets
with a lower configured precedence value.
In this example, every time a connection is made through VoIP dial peer 108, an RSVP reservation
request is made between the local router, all intermediate routers in the path, and the final destination
router.
Note We recommend that you select controlled-load for the requested QoS. The
controlled-load service uses admission (or capacity) control to ensure that preferential
service is received even when the bandwidth is overloaded.
To generate a Simple Network Management Protocol (SNMP), use the following commands beginning
in global configuration mode:
Command Task
Step 1 dial-peer voice number voip Enter the dial peer configuration mode to configure a VoIP dial
peer.
Note RSVP reservations are only one-way. If you configure RSVP, the VoIP dial peers on either
side of the connection must be configured for RSVP.
Command Task
Step 1 dial-peer voice number voip Enter the dial peer configuration mode to
configure a VoIP dial peer.
Step 2 codec [g711alaw | g711ulaw | Specify the desired voice coder rate of
g729r8 | g729r8 pre-ietf ] speech.
The default for the codec command is g729r8; normally, the default configuration for this command is
the most desirable. However, if you are operating on a high bandwidth network and voice quality is of
the highest importance, you should configure the codec command for g711alaw or ulaw. Using this
value results in better voice quality, but it also requires higher bandwidth requirements for voice.
For example, to specify a CODEC rate of g711alaw for VoIP dial peer 108, enter the following:
Router(config)# dial-peer voice 108 voip
Router(config-dial-peer)# codec g711alaw
Note Prior to Cisco IOS Release 12.0(5)T, g729r8 is implemented in the pre-IETF format,
thereafter it is implemented in the standard IETF format. Whenever new images (Release
12.0(5)T or later) interoperate with older versions of VoIP (when the g729r8 codec was
not compliant with the IETF standard), users can hear garbled voices and ringback on
either side of the connection. To avoid this problem, configure the dial peers with the
g729r8 pre-ietf argument.
Command Task
Step 1 dial-peer voice number voip Enter the dial peer configuration mode to configure a VoIP dial
peer.
Step 2 vad Disable the transmission of silence packets .
The default for the vad command is enabled; normally, the default configuration for this command is
the most desirable. If you are operating on a high bandwidth network and voice quality is of the highest
importance, you should disable VAD. Using this value results in better voice quality, but it also requires
higher bandwidth requirements for voice.
For example, to enable VAD for VoIP dial peer 108, enter the following:
Router(config)# Dial-peer voice 108 voip
Router(config-dial-peer)# vad
• CIR equal to line rate—Make sure that the data rate does not exceed the CIR. This is accomplished
through generic traffic shaping.
Note When traffic bursts over the CIR, the output rate is held at the speed configured for the
CIR (for example, traffic will not go beyond 32 kbps if CIR is set to 32 kbps).
For more information about configuring Frame Relay for VoIP, refer to the “Configuring Frame Relay”
chapter in the Wide-Area Networking Configuration Guide for Cisco IOS Release 12.0T.
Step 1 From the Tools menu in the NetMeeting application, select Options. NetMeeting will display the
Options dialog box.
Step 2 Click the Audio tab.
Step 3 Select the “Calling a telephone using NetMeeting” check box.
Step 4 Enter the IP address of your router in the IP address field.
Step 5 Under General, click Advanced.
Step 6 Select the “Manually configured compression settings” check box.
Step 7 Select the CODEC value CCITT ulaw 8000Hz.
Step 8 Click the Up button until this CODEC value is at the top of the list.
Step 1 Click the Call icon from the NetMeeting application. Microsoft NetMeeting opens the call dialog box.
Step 2 From the Call dialog box, select call using H.323 gateway.
Step 3 Enter the telephone number in the Address field. (Enter 1 and the area code followed by the seven-digit
telephone number in the following format 1Nxx-Nxx-xxxx, with N = digits 2 through 9 and x = digits
0 through 9.)
Step 4 Click Call to initiate a call to your router from Microsoft NetMeeting.