Voice over IP
Description
Voice over Internet Protocol, also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol networks, such as the Internet.
Voice over Internet Protocol (VoIP), is a technology that allows you to make voice calls using a broadband Internet connection instead of a regular (or analog) phone line. Some VoIP services may only allow you to call other people using the same service, but others may allow you to call anyone who has a telephone number – including local, long distance, mobile, and international numbers. Also, while some VoIP services only work over your computer or a special VoIP phone, other services allow you to use a traditional phone connected to a VoIP adapter.
How VoIP / Internet Voice Works
VoIP services convert your voice into a digital signal that travels over the Internet. If you are calling a regular phone number, the signal is converted to a regular telephone signal before it reaches the destination. VoIP can allow you to make a call directly from a computer, a special VoIP phone, or a traditional phone connected to a special adapter. In addition, wireless “hot spots” in locations such as airports, parks, and cafes allow you to connect to the Internet and may enable you to use VoIP service wirelessly.
What Kind of Equipment Do I Need?
A broadband (high speed Internet) connection is required. This can be through a cable modem, or high speed services such as DSL or a local area network. A computer, adaptor, or specialized phone is required. Some VoIP services only work over your computer or a special VoIP phone, while other services allow you to use a traditional phone connected to a VoIP adapter. If you use your computer, you will need some software and an inexpensive microphone. Special VoIP phones plug directly into your broadband connection and operate largely like a traditional telephone. If you use a telephone with a VoIP adapter, you’ll be able to dial just as you always have, and the service provider may also provide a dial tone.
Is there a difference between making a Local Call and a Long Distance Call?
Some VoIP providers offer their services for free, normally only for calls to other subscribers to the service. Your VoIP provider may permit you to select an area code different from the area in which you live. It also means that people who call you may incur long distance charges depending on their area code and service.
Some VoIP providers charge for a long distance call to a number outside your calling area, similar to existing, traditional wireline telephone service. Other VoIP providers permit you to call anywhere at a flat rate for a fixed number of minutes.
If I have VoIP service, who can I call?
Depending upon your service, you might be limited only to other subscribers to the service, or you may be able to call anyone who has a telephone number – including local, long distance, mobile, and international numbers. If you are calling someone who has a regular analog phone, that person does not need any special equipment to talk to you. Some VoIP services may allow you to speak with more than one person at a time.
VOICE OVER IP CISCO CONFIGURATION
The Cisco uBR924 router uses packets to transmit and receive digitized voice over an IP network. Voice traffic is supported in both the DOCSIS-bridging and routing modes.
Note When the router is acting in DOCSIS-bridging mode, a voice call originating from the router’s Ethernet interface cannot terminate on another device attached to that same Ethernet interface; it must terminate on a device that is reached through the cable interface. The router must be operating in routing mode to allow calls to both originate and terminate on the Ethernet interface.
Voice signals are packetized and transported in compliance with the following protocols:
•H.323v2—Second version of an International Telecommunications Union (ITU) standard that specifies call signaling and control protocols for an IP data network. Supported on Cisco IOS Release 12.0(4)XI and higher voice images.
•Simple Gateway Control Protocol (SGCP) Version 1.1—A signaling protocol under review by the Internet Engineering Task Force (IETF). Supported on Cisco IOS Release 12.0(7)T and higher voice images.
•Media Gateway Control Protocol (MGCP) Version 0.1—A proposed IETF voice control protocol intended to eventually supersede the existing SCGP 1.1 protocol. Supported on Cisco IOS Release 12.1(3)T and higher voice images.
Note In Cisco IOS Release 12.1(3)T, the MGCP 0.1 and SGCP 1.1 protocols have been merged on the Cisco uBR924 router so that the router can respond efficiently to either protocol. The MGCP and SGCP protocols cannot be used if the H.323v2 protocol is used.
Figure 4-1 illustrates a broadband cable system that supports VoIP transmission.
Figure 4-1 Simplified VoIP Network
The CMTS at the headend routes IP telephony calls from the point of origination to the destination, transmitting them along with other traffic (both voice and data). To route voice calls across the local IP network to a destination on the Internet or the public switched telephone network (PSTN), the Cisco uBR924 router and CMTS deploy IP telephony as a local-loop bypass service. One of the following routing methods is then used, depending on the protocol being used:
•If using H.323v2, the Cisco uBR924 acts as the H.323v2 gateway that forwards the voice packets to the CMTS, which then sends them to a telephony gatekeeper. The gatekeeper transmits the packets to their ultimate destination.
•If using SGCP or MGCP, the Cisco uBR924 router acts as the residential gateway that forwards the voice packets to the CMTS, which then connects to the external call agent (SGCP or MGCP) or media gateway controller (MGCP). The call agent or controller determines how to transmit the call across the network to the trunking gateway that will be its ultimate destination.
The gateway at the destination typically interconnects the IP network to the public switched telephone network (PSTN) so that calls can be made to any phone, not just those that are part of the IP telephony network.
Voice calls are digitized, encoded, compressed, and packetized in an originating gateway; and then, decompressed, decoded, and reassembled in the destination gateway. A server maintains subscriber profiles and policy information. See the Cisco service provider voice documentation set if you have Cisco gatekeeper, gateway, or other applicable products.
Caution In certain countries, the provisioning of voice telephony over the Internet or use of these products may be prohibited and/or subject to laws, regulations or licenses, including requirements applicable to the use of the products under telecommunications and other laws and regulations; customer must comply with all such applicable laws in the country where the customer intends to use the product.
Voice Handling
With IP telephony, telephone calls can be delivered at rates as low as 8 kbps in a packet format using compression algorithms. Depending on the software release used, the Cisco uBR924 cable access router supports the following algorithms:
•G.711 A-Law—64000 bps PCM uncompressed encoding, using the A-Law standard used in most of the world except for North America and a few other countries.
•G.711 Mu-Law—64000 bps PCM uncompressed encoding, using the Mu-Law standard used in North America and a few other countries.
• G.729—8000 bps compressed CS-ACELP encoding (default for telephone calls).
Caution Because voice is delay-sensitive, a well-engineered network is critical. Fine-tuning your network to adequately support VoIP typically involves a series of protocols and features geared to support QoS.
To achieve acceptable voice quality and reduce network bandwidth usage, several voice processing techniques are used. Digital Signal Processors (DSPs) provide the stream-to-packet and packet-to-stream conversion, as well as voice processing capabilities. Typical voice processing services include echo cancellation, voice compression, Voice Activity Detection (VAD) or silence compression, and Dual Tone Multi-Frequency (DTMF) tone detection and generation.
Quality of Service Support
Data traffic typically is sent only on a “best effort” basis, and if a packet is lost or delayed, it can be easily retransmitted without significantly affecting the connection. Such delays and losses are unacceptable, however, for real-time traffic such as voice calls.
For this reason, the CMTS and Cisco uBR924 router assign separate service identifiers (SIDs) for the voice and data traffic flows. Each SID has a separate class of service (CoS) that determines how its traffic flow is handled, allowing voice traffic to have a higher priority than the data traffic.
The CMTS and router can use different traffic shaping mechanisms to ensure that the higher priority voice traffic always has the bandwidth it needs. This allows voice calls (and other real-time traffic) to share the same channel as data traffic, without the quality of the voice calls being degraded by bursty data transmissions.
Note Separate CoS flows are available only when the router is connected to a CMTS that supports multiple classes of service per router. In addition, the router’s configuration file must enable multiple classes of service.
The DOCSIS 1.0 specification does not support multiple CoS flows, so this flow technique is not available when the Cisco uBR924 router interoperates with a DOCSIS 1.0 CMTS. In this situation, voice and data traffic are both transmitted on a “best effort” basis. This may cause poorer voice quality and lower data throughput when calls are being made from the router’s telephone ports.
The Cisco uBR924 router supports the following service classes:
•The first CoS in the router’s configuration file is configured as the “Tiered Best Effort Type Class” and is the default CoS for data traffic. The class has no minimum upstream rate specified for the channel.
This service class is assigned to the primary SID for the router. In addition to being used for data traffic, the router uses this SID for all MAC message exchanges with the CMTS, as well as for SNMP management traffic.
All traffic using this SID is transmitted on a “best effort” basis, but data traffic within this class can be prioritized into eight different priority levels; although all data traffic still has lower priority than the voice traffic, this allows certain data traffic (such as MAC messages) to be given higher priority than other data traffic. The CMTS system administrator defines the traffic priority levels and must include the traffic priority fields in the configuration file downloaded to the Cisco uBR924.
•The second and third CoS are for the first and second voice ports, respectively, which are assigned to the secondary SIDs used for the voice ports. If using a Cisco IOS image that supports dynamic multi-SID assignment, these secondary SIDs are automatically created when a call is placed from one of the voice ports; when the call terminates, the secondary SID associated with it is deleted. If the Cisco IOS image does not support multi-SIDs, static SIDs are created for each of the voice ports during the power-on provisioning process, permanently reserving the bandwidth needed for the voice traffic.
The CMTS system administrator typically configures these secondary classes of service so that they have higher QoS classes for use by higher priority voice traffic. These classes should also have a minimum upstream data rate specified for the channel to guarantee a specific amount of bandwidth for the corresponding traffic flows. When static SIDs are used, that bandwidth is always reserved for voice calls; however, when dynamic multi-SID assignment is used, that bandwidth is reserved only when the voice calls are active.
H.323v2 Protocol
In architectures using the VoIP H.323v2 protocol stack, the session application manages two call legs for each call: a telephony leg managed by the voice telephony service provider and the VoIP leg managed by the cable system operator—the VoIP service provider. Use of the H.323v2 protocol typically requires a dial plan and mapper at the headend or other server location to map IP addresses to telephone numbers.
When both legs of the call have been setup, the session application creates a conference between them. The opposite leg’s transmit routine for voice packets is given to each provider. The CMTS router passes data to the gateway and gatekeeper. The H.323v2 protocol stack provides signaling via H.225 and feature negotiation via H.245.
Note For more information on using H.323v2, see the document H.323 Version 2 Support, available on CCO and the Documentation CD-ROM.
To make and receive H.323 calls, the Cisco uBR924 router must be configured for the following:
•The IP address of the gateway for the destination dialed—In Cisco uBR924 IOS Release 12.0(4)XI or higher interim builds, configure these IP addresses statically via the command-line interface (CLI) using voip dial peer group commands. When running Cisco IOS Release 12.0(5)T or higher interim images on Cisco gatekeeper products, the router obtains these addresses dynamically from the gatekeeper using the Registration, Admission, and Status (RAS) protocol.
•The telephone numbers of the attached devices—In Cisco IOS Release 12.0(4)XI or higher interim builds, you configure these IP addresses statically via the CLI pots port commands. When using Cisco Network Registrar (CNR) version 3.0 or higher with the relay.tcl and setrouter.tcl scripts, and Cisco gatekeeper products in your network running Cisco IOS Release 12.0(5)T or higher images, you can obtain these addresses dynamically from CNR. The telephone numbers of attached devices are then sent in DHCP response messages. When the Cisco uBR924 processes the DHCP response, it automatically creates the pots dial peer for each port, creates the voip dial peer for the RAS target, and starts the H.323v2 RAS gateway support.
Note To support voice configurations involving Cisco gatekeeper products using RAS, Cisco IOS Release 12.0(5)T or higher images with gatekeeper support are required. The headend must have IP multicast enabled. The cable interface must be designated as the default for RAS to discover the gatekeeper. The gatekeeper then resolves all dialed destinations sent to the RAS protocol.
SGCP and MGCP Protocol Stack
When using a Cisco IOS Release 12.0(5)T or higher image with voice support, the Cisco uBR924 router supports the Simple Gateway Control Protocol (SGCP). When using a Cisco IOS Release 12.1(3)T or higher image with voice support, the Cisco uBR924 router also supports the MGCP protocol, which is intended to eventually supersede the SGCP protocol. Both MGCP and SGCP are signaling protocols that interact with a remote call agent (CA) to provide call setup and teardown for VoIP calls.
Using the call agent, SGCP and MGCP communicate with the voice gateways, dynamically resolving and routing calls. This creates a distributed system that enhances performance, reliability, and scalability while still appearing as a single VoIP gateway to external clients.
The remote call agent also provides the signaling and feature negotiation that would otherwise be provided by the Cisco uBR924 router when using the H.323v2 protocol. Similarly, the call agent also provides the mapping of IP addresses to telephone numbers, eliminating the dial plan mapper and static configurations that are required on the router when using the H.323v2 protocol.
The SGCP and MGCP protocols implement the gateway functionality using both trunk and residential gateways. The Cisco uBR924 router functions in this mode as a residential gateway with two endpoints.
SGCP and MGCP can preserve Signaling System 7 (SS7) style call control information as well as additional network information such as routing information and authentication, authorization, and accounting (AAA) security information. SGCP and MGCP allow voice calls to originate and terminate on the Internet, as well as allowing one end to terminate on the Internet and the other to terminate on a telephone on the PSTN.
Note The Cisco uBR924 cable access router supports both H.323 and SGCP/MGCP call control, but only one method can be active at a time.
H.323v2 Static Bridging Configuration
When the Cisco uBR924 router is running in DOCSIS-bridging mode and using a Cisco IOS image with voice support, it can route voice calls using an H.323v2 static dialing map. This requires the following minimum configuration:
•Create a local dial peer for each voice port that will receive incoming calls. This requires configuring each voice port on the router with the phone numbers for the devices attached to those voice ports. The Cisco uBR924 router uses these numbers to determine which voice port should receive the call. Typically, the complete phone number or extension is specified for each port; when the Cisco uBR924 router receives an incoming call, all digits in the number are matched and stripped off, and the voice port is connected to the call.
Note The voice ports on the Cisco uBR924 router support only FXS devices.
•Configure a remote dial peer for each possible destination for outgoing calls. This requires specifying the phone number(s) for the destination devices. Use the following guidelines for what numbers to enter:
–For a single telephony device, such as a one-line phone or fax machine, enter the complete phone number or extension.
–To direct a group of numbers to a specific destination—such as the extensions used on a remote PBX—enter a pattern matching the prefix used for those lines; asterisks can be used to match any number of digits and a period matches a single digit. For example, “572*” matches any phone numbers starting with 572 while “572.” matches the numbers 5720-5729.
You must also specify the IP address for the destination host that will deliver the call to the telephony device (or if the destination device is an IP telephone, the IP address for that telephone). You can optionally specify an IP precedence level for the type of service (ToS) bits in the IP header to signify that these voice packets should be given higher priority in transit across the IP network.
If not being done by the CoS, you can also specify which coding/decoding (CODEC) algorithm should be used.
These functions are done using the dial-peer command, as shown in the following table:
Note The ID numbers assigned using the dial-peer voice command must be unique but they are local to the Cisco uBR924 router. These numbers are used only when configuring each particular dial peer and have no meaning when dialing numbers or routing calls.
The following example shows a Cisco uBR924 router set up to support bridging and a static H.323 dial map with the following characteristics:
•Voice port V1 is connected to a telephony device that receives calls for the number 4123.
•Voice port V2 is connected to a telephony device that receives calls for the number 4124.
•Outgoing calls to the numbers 6000—6999 are routed to the dial peer at IP address 10.1.71.65.
•Outgoing calls to the numbers 7000—7999 are routed to the dial peer at IP address 10.1.71.75. These calls are sent with an IP ToS precedence of “5” and using the G.711 Mu-law codec algorithm.
The commands that set up the H.323v2 dial map are shown in bold:
version 12.1
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
hostname ubr924
clock timezone - 3
ip subnet-zero
no ip routing
voice-port 0
input gain -3
voice-port 1
input gain -3
dial-peer voice 1 pots
destination-pattern 4123
port 0
dial-peer voice 2 pots
destination-pattern 4124
port 1
!
dial-peer voice 1001 voip
destination-pattern 6...
session target ipv4:10.1.71.65
dtmf-relay cisco-rtp h245-signal h245-alphanumeric
!
dial-peer voice 1002 voip
destination-pattern 7...
ip precedence 5
codec g711ulaw
session target ipv4:10.1.71.75
dtmf-relay cisco-rtp h245-signal h245-alphanumeric
!
!
interface Ethernet0
no ip directed-broadcast
no ip route-cache
bridge-group 59
bridge-group 59 spanning-disabled
!
interface cable-modem0
ip address dhcp
no ip directed-broadcast
no ip route-cache
cable-modem downstream saved channel 537000000 26
bridge-group 59
bridge-group 59 spanning-disabled
!
!
ip classless
no ip http server
no service finger
!
!
line con 0
exec-timeout 0 0
transport input none
line vty 0 4
login
end
H.323v2 Static Routing Configuration
When the Cisco uBR924 router is operating in routing mode, the configuration of an H.323v2 static dial map uses the same commands as those given in the “H.323v2 Static Bridging Configuration” section. The only difference is that calls can terminate and originate on the Ethernet interface, which is not possible in DOCSIS-bridging mode.
The following sample configuration shows a Cisco uBR924 router set up for a static H.323v2 dial map with the following characteristics:
•Local dial peer 1 specifies that voice port V1 is connected to a telephone or fax machine with the number 6101.
•Local dial peer 2 specifies that voice port V2 is connected to a telephone or fax machine with the number 6102.
•Remote dial peer 101 specifies that calls to numbers 6200-6299 should be routed to IP address 10.1.71.62.
•Remote dial peers 102 and 103 specify that calls to numbers 6101 and 6102 should be routed to IP address 24.1.61.5, which is the IP address for the Cisco uBR924 router’s Ethernet interface. This allows the router to complete calls between voice ports V1 and V2.
The commands related to the dial map are in bold.
version 12.1
no service pad
service timestamps debug uptime
service timestamps log uptime
!
hostname ubr924
!
!
!
class-map class-default
match any
!
!
!
clock timezone - 3
ip subnet-zero
!
!
!
!
voice-port 0
!
voice-port 1
!
dial-peer voice 1 pots
destination-pattern 6101
port 0
!
dial-peer voice 2 pots
destination-pattern 6102
port 1
!
dial-peer voice 101 voip
destination-pattern 62..
session target ipv4:10.1.71.62
dtmf-relay cisco-rtp
!
dial-peer voice 102 voip
destination-pattern 6101
session target ipv4:24.1.61.5
!
dial-peer voice 103 voip
destination-pattern 6102
session target ipv4:24.1.61.5
dtmf-relay cisco-rtp
!
!
interface Ethernet0
ip address 24.1.61.1 255.255.255.0
no ip directed-broadcast
no ip mroute-cache
!
interface cable-modem0
ip address dhcp
no ip directed-broadcast
no ip mroute-cache
cable-modem downstream saved channel 537000000 27
no cable-modem compliant bridge
!
router rip
version 2
network 10.0.0.0
network 24.0.0.0
no auto-summary
!
no ip classless
ip route 0.0.0.0 0.0.0.0 10.1.71.1
no ip http server
no service finger
!
!
line con 0
exec-timeout 0 0
transport input none
line vty 0 4
login
!
!
end
Note The above configuration assumes that the DHCP server assigns an IP address to the cable interface that is in the class A private network (10.0.0.0).
H.323v2 Dynamic Mapping Configuration
When using a Cisco IOS image that supports voice, the Cisco uBR924 router supports using the Registration, Admission, and Status (RAS) protocol to allow a remote gatekeeper to translate phone numbers (E.164 addresses) to the IP addresses of specific dial peers. This allows the gatekeeper to maintain a central database of dial peers, so that this information does not have to be entered into static dial maps on every router that is acting as a voice gateway.
Note The Cisco uBR924 router can use H.323v2 dynamic mapping in either DOCSIS-bridging mode or routing mode.
The example shown in this section assumes that Cisco Network Registrar (CNR) version 3.0 or higher is being used as the DHCP server. CNR assigns the E.164 addresses to local voice ports and uses DHCP to define the E.164 addresses-to-port assignments.
The gatekeeper can be a Cisco router, such as the Cisco 3620, with a Cisco IOS image that supports the gatekeeper function. The Cisco uBR924 router acts as the H.323v2 gateway and creates the dial peers, starts H.323 RAS gateway support, and registers the E.164 addresses with the gatekeeper. The gatekeeper resolves the remote peers’ IP addresses when the router sends a request using RAS.
Note Support for RAS and H.323v2 in Cisco gatekeeper products is found in Cisco IOS Release 12.0(5)T or higher. Support for multiple classes of service when using Cisco uBR7200 CMTS equipment is found in Cisco 12.0(4)XI or higher.
If you are not using CNR or Cisco gatekeeper products running Cisco IOS Release 12.0(5)T software, use a static dial-map as shown in the previous H.323 configurations (“H.323v2 Static Bridging Configuration” and “H.323v2 Static Routing Configuration”).
You must do the following to configure the Cisco uBR924 router for dynamic mapping:
•Configure the local dial-peers—This is done in the same way as for a static H.323v2 dial map.
•Configure the remote dial-peers—This is done in the same way as for a static H.323v2 dial map, except that instead of specifying a target IP address or host name, you specify ras as the target.
•Enable the VoIP gateway function using the gateway global configuration command.
•Configure the cable modem interface to be the gateway interface.
These functions are done using the commands shown in the following table:
What Are Some Advantages of VoIP?
Some VoIP services offer features and services that are not available with a traditional phone, or are available but only for an additional fee. You may also be able to avoid paying for both a broadband connection and a traditional telephone line.
What Are Some disadvantages of VoIP?
If you’re considering replacing your traditional telephone service with VoIP, there are some possible differences:
- Some VoIP services don’t work during power outages and the service provider may not offer backup power.
- Not all VoIP services connect directly to emergency services through 9-1-1. For additional information,
- VoIP providers may or may not offer directory assistance/white page listings.
DROP YOUR COMMENT