80
Cisco Confidential Copyright © 1998 Cisco Systems, Inc. All Rights Reserved. Page 1 of 80 DESIGN I MPLEMENTATION GUIDE Voice over IP by Jon Davidson ([email protected]) Network to User Business Unit—PME Abstract Telephony is the most pervasive of all technologies. There is no other technology that people are more comfortable and familiar with than a standard telephone handset. Many corporations are seeking nontraditional methods to reduce their voice costs while giving the user the same comfort level and familiarity. Cost reduction has fueled the convergence of data and voice networks. As more data and voice networks converge, careful design and planning must occur to assure that the quality and reliability of the voice network are not affected. This guide describes several technologies that have enabled packet telephony and specifically, voice over IP. Design issues are covered, as well as brief tutorials on voice, fax, H.323, and voice over IP. This guide is not meant as an in depth tutorial in voice technology; it gives you a basic understanding of voice technology as it applies in a packet environment. Commonly Used Terms in this Guide A-Law—ITU-T logarithmic pulse code modulation (PCM) standard (G.711) used in the conversion between analog and digital signals; used mainly in Europe Busy hour—Time period that has the greatest call volume; assists telephone companies with designing their network to a certain capacity Class of service (CoS)—Method of classifying different traffic flows into a category and applying a particular quality of service (QoS) for that flow Coder-decoder (CODEC)—Transforms analog voice into a digital bit stream and vice versa; also used to indicate the compression type (for example, G.729 CODEC) Compressed Real-Time Transfer Protocol (CRTP)—Specification for compressing Real-Time Transport Protocol (RTP) headers Delay—Time necessary to get from point A to point B Dual tone multifrequency (DTMF) tone detection—A method for touch-tone phones developed to make dialing an easier process; each digit corresponds to one of 16 combinations of pairs of sine waves chosen from eight different frequencies (example: the 7 digit is defined as the combination of 852 Hz and 1209 Hz)

Ref06 Voip Primer

Embed Size (px)

DESCRIPTION

f

Citation preview

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 1 of 80

DESIGN IMPLEMENTATION GUIDE

Voice over IPby Jon Davidson ([email protected])

Network to User Business Unit—PME

Abstract

Telephony is the most pervasive of all technologies. There is no other technology that people are more comfortable and familiar

with than a standard telephone handset. Many corporations are seeking nontraditional methods to reduce their voice costs while

giving the user the same comfort level and familiarity. Cost reduction has fueled the convergence of data and voice networks. As

more data and voice networks converge, careful design and planning must occur to assure that the quality and reliability of the

voice network are not affected.

This guide describes several technologies that have enabled packet telephony and specifically, voice over IP. Design issues

are covered, as well as brief tutorials on voice, fax, H.323, and voice over IP. This guide is not meant as an in depth tutorial in voice

technology; it gives you a basic understanding of voice technology as it applies in a packet environment.

Commonly Used Terms in this Guide

A-Law—ITU-T logarithmic pulse code modulation (PCM) standard (G.711) used in the conversion between analog and

digital signals; used mainly in Europe

Busy hour—Time period that has the greatest call volume; assists telephone companies with designing their network to a certain

capacity

Class of service (CoS)—Method of classifying different traffic flows into a category and applying a particular quality of service

(QoS) for that flow

Coder-decoder (CODEC)—Transforms analog voice into a digital bit stream and vice versa; also used to indicate the compression

type (for example, G.729 CODEC)

Compressed Real-Time Transfer Protocol (CRTP)—Specification for compressing Real-Time Transport Protocol (RTP) headers

Delay—Time necessary to get from point A to point B

Dual tone multifrequency (DTMF) tone detection—A method for touch-tone phones developed to make dialing an easier process;

each digit corresponds to one of 16 combinations of pairs of sine waves chosen from eight different frequencies (example: the 7

digit is defined as the combination of 852 Hz and 1209 Hz)

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 2 of 80

Ear and Mouth or REceive and TransMit (E&M)—Signaling technique used normally on trunk lines between private branch

exchange (PBX) equipment

Echo cancellation—Process in which the echo is removed from the line; echoes are usually caused by a mismatch in impedance in

the wiring of a telephone network; an echo canceller keeps a sample of the speech just sent and if it hears the inverse of that speech

coming back in the opposite direction, it subtracts the original speech from the inversed signal

Foreign exchange office (FXO)—Interface that mimics a standard telephone handset (that is, requires another device to provide

it dial tone)

Foreign exchange station (FXS)—Interface that mimics the Public Switched Telephone Network (PSTN); provides dial tone to

a standard telephone handset

Gatekeeper—Optional in an H.323 system, provides call control services to the H.323 endpoints; more than one gatekeeper may

be present, and they communicate with each other in an unspecified fashion; the gatekeeper is logically separate from the endpoints,

but its physical implementation may coexist with a terminal, multipoint conference unit (MCU), gateway, multipoint controller

(MP), or other non-H.323 LAN device

Gateway—An optional element in an H.323 conference; an H.323 gateway is an endpoint on the LAN that provides for real-time,

two-way communications between H.323 terminals on the LAN and other ITU terminals on a WAN, or to another H.323 gateway

H.323—ITU-T specification for real-time multimedia applications

Jitter—Variation of a interpacket arrival time

Latency—The time between when a device requests access to a network and when it is granted permission to transmit; one

component of latency; end-to-end latency is often used to describe the delay associated in a network

Maximum transmission unit (MTU)—Maximum packet size, in bytes, that a particular interface transmits

MU-Law—Northern American logarithmic PCM standard (also specified in ITU-T G,711) used in the conversion between analog

and digital signals

Multipoint control unit (MCU)—An endpoint on the LAN that provides the capability for three or more terminals and gateways

to = participate in a multipoint conference; may also connect two terminals in a point-to-point conference that may later develop

into a multipoint conference; the MCU generally operates in the fashion of an H.231 MCU, but an audio processor is not

mandatory; the MCU consists of two parts: a mandatory multipoint controller and optional multipoint processors (MPs). In the

simplest case, an MCU may consist of only an MC, with no MPs.

Multipoint controller—An H.323 entity on the LAN that provides for the control of three or more terminals participating in a

multipoint conference; may also connect two terminals in a point-to-point conference that may later develop into a multipoint

conference; provides for capability negotiation with all terminals to achieve common levels of communications; it also may control

conference resources such as who is multicasting video; does not perform mixing or switching of audio, video, and data

Multipoint processor—An H.323 entity on the LAN that provides for the centralized processing of audio, video, or data streams

in a multipoint conference; provides for the mixing, switching, or other processing of media streams under the control of the

MC; may process a single media stream or multiple media streams, depending on the type of conference supported

Quality of Service (QoS)—General term that describes a level of service necessary for a specific application

RAS (Registration/Admission/Status)—H.323 protocol that allows communication between a H.323 gatekeeper and a gateway

Real-Time Transport Protocol (RTP)—RFC 1889—Part of the ITU-T H.323 specification for streaming real-time applications

Resource Reservation Protocol (RSVP)—Protocol that defines the ability to dynamically reserve or allocate bandwidth and latency

to a particular traffic flow

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 3 of 80

T.4—ITU-T protocol that describes the formatting of page image data in fax transmission

T.30—ITU-T Fax Session Control Protocol that describes the formatting of nonpage data such as capabilities negotiation messages

in fax transmission

T.120—Portion of the ITU-T H.323 specification that relates to data-sharing applications (whiteboarding, and so on)

Type of Service (ToS)—Portion of the IP header that relates to the service level of the packet

Voice Activity Detection (VAD)—Allows for differentiation between speech and silence; packet-based networks take advantage

of VAD by not transmitting silence

Voice Primer

Voice technology has been with us for over one hundred years. The voice network has been evolving ever since the first phone call

was made. Many of the current acronyms and architectures of voice are decisions that were made several decades ago. The standard

PSTN is basically a large circuit-switched network. The telephony network is truly a ubiquitous one; it is simple to use, dependable,

and pervasive in our lives.

As with any large network, the numbering scheme is one of the most important issues. In North America, the North American

Numbering Plan (NANP) is used. This plan consists of an area code, office code, and station code. Area codes are assigned

geographically, office codes are assigned to specific switches, and station codes identify a specific port on that switch. The format

used is 1Nxx-NXX-XXXX, with N = 2 - 9 and X = 0 - 9. These numbering plans normally conform to the ITU-T E.164

recommendations, which cover the international dialing plan as well as many other recommendations.

For an international calling plan, each country is assigned a one- to three-digit country code; the country’s dialing plan follows

the country code.

To fully understand voice technology, both analog and digital transmission and signaling must be understood. Human

speech and everything we hear is in analog form. Up until several decades ago, the telephony network was based upon an analog

infrastructure as well.

The components of an early-generation analog phone call were a carbon microphone, a battery, an electromagnet, and an iron

diaphragm. Connecting these components produced a method of transporting voice.

While analog communication is ideal for human communication, analog transmission is neither robust nor efficient

at recovering from line noise. In the early telephony network, when analog transmission was passed through amplifiers to boost

the signal, not only did the voice get boosted, but the line noise was also amplified. This line noise resulted in an often-unusable

connection.

Digital samples are comprised of one and zero bits. It is much easier for digital samples to be separated from line noise.

Therefore, when signals are regenerated, a clean sound can be maintained. When the benefits of this digital representation

became evident, the telephony network migrated to pulse code modulation (PCM).

PCM converts analog sound into digital form by sampling the analog sound 8000 times per second and converting each sample

into a numeric code. The Nyquist theorem states that if you sample an analog signal at twice the rate of the highest frequency of

interest, you can accurately reconstruct that signal back into its analog form. Since most speech content is below 4000 Hz (4 kHz),

the sampling rate needed is 8000 times per second (125 microseconds between samples).

After the waveform is sampled, it is converted into a discrete digital form. This sample is represented by a code that indicates

the amplitude of the waveform at the instant the sample was taken. The telephony form of PCM uses 8 bits for the code and a

logarithm compression method that assigns more bits to lower-amplitude signals. The transmission rate is obtained by multiplying

8000 samples per second times 8 bits per sample, giving 64,000 bits per second, the standard transmission rate for one channel of

telephone digital communications.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 4 of 80

Two basic variations of 64-kbps PCM are commonly used: MU-law and A-law. The methods are similar in that they both use

logarithmic compression to achieve 12 to 13 bits of linear PCM quality in 8 bits, but are different in relatively minor compression

details (MU-law has a slight advantage in low-level signal-to-noise ratio performance). Usage has historically been along country

and regional boundaries, with North America using MU-law and Europe using A-law modulation. It is important to note that when

making a long-distance call, any required MU-law to A-law conversion is the responsibility of the MU-law country.

Another compression method often used is adaptive differential pulse code modulation (ADPCM). A commonly used instance

of ADPCM, ITU-T G.726 encodes using 4-bit samples, giving a transmission rate of 32 kbps. Unlike PCM, the 4 bits do not directly

encode the amplitude of speech, but the differences in amplitude as well as the rate of change of that amplitude, employing some

very rudimentary linear prediction.

PCM and ADPCM are examples of “waveform” CODECS—compression techniques that exploit redundant characteristics of

the waveform itself. New compression techniques have been developed over the past 10 to 15 years that further exploit knowledge

of the source characteristics of speech generation. These techniques employ signal processing techniques that compress speech by

sending only simplified parametric information about the original speech excitation and vocal tract shaping, requiring less

bandwidth to transmit that information. These techniques can be grouped together generally as “source” CODECS, and include

variations such as linear predictive coding (LPC), Code Excited Linear Prediction (CELP), and multipulse, multilevel quantization

(MP-MLQ).

CELP, MP-MLQPCM, and ADPCM coding schemes are standardized by the ITU-T in its G-series recommendations. The most

popular voice coding standards for telephony and packet voice include:

• G.711, which describes the 64-kbps PCM voice coding technique outlined earlier; G.711 encoded voice is already in the correct

format for digital voice delivery in the public phone network or through PBXs

• G.726, which describes ADPCM coding at 40, 32, 24, and 16 kbps; ADPCM voice may also be interchanged between packet

voice and public phone or PBX networks, provided that the latter has ADPCM capability

• G.728, which describes a 16-kbps low-delay variation of CELP voice compression; CELP voice coding must be transcoded to a

public telephony format for delivery to or through telephone networks

• G.729, which describes CELP compression that enables voice to be coded into 8-kbps streams; two variations of this standard

(G.729 and G.729 Annex A) differ largely in computational complexity, and both generally provide speech quality as good as that

of 32-kbps ADPCM

• G.723.1, which describes a compression technique that can be used for compressing speech or other audio signal components of

multimedia service at a very low bit rate, as part of the overall H.324 family of standards; this coder has two bit rates associated

with it—5.3 and 6.3 kbps; the higher bit rate is based on MP-MLQ technology and has greater quality; the lower bit rate is based

on CELP, gives good quality, and provides system designers with additional flexibility

As CODECS rely more and more on subjectively tuned compression techniques, standard objective quality measures such as total

harmonic distortion and signal-to-noise ratios have less correlation with perceived CODEC quality. A common benchmark for

quantifying the performance of the speech CODEC is the mean opinion score (MOS). Since voice quality and sound in general is

subjective to the listener, it is important to get a wide range of listeners and sample material. MOS tests are given to a group of

listeners who give each sample of speech material a rating of 1 (bad) to 5 (excellent). The scores are then averaged to get the mean

opinion score. MOS testing is also used to compare how well a particular CODEC works under varying circumstances, including

differing background noise levels, multiple encodes and decodes, and so on. This data can then be used to compare against other

CODECS.

MOS scoring for several ITU-T CODECS is illustrated in (Table 1). This table shows the relationship between several low-bit

rate coders and standard PCM.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 5 of 80

With the cost of maintaining and creating the infrastructure necessary to sustain today’s toll-quality network, it might appear

to be easier and cheaper to convert all calls to low-bit rate coders to save on infrastructure costs. There are, however, drawbacks to

compressing voice. As shown in Table 1, one of the main drawbacks is signal distortion due to multiple codings and decodings (also

known as tandem encodings). When a G.729 voice signal is compressed, many times the signal can degrade from a MOS score of

3.92 (very good) down to 2.68 (normally unacceptable) after three tandem encodings.

To understand how a high MOS score is achieved with a low bit rate CODEC such as G.726, it is important to understand

fully how these CODECS work. Studies of our speech patterns have shown that a significant percentage of our voice calls are silent,

with remaining speech bursts being highly correlated and repetitive. Understanding this study makes it possible to take advantage

of speech patterns by using a mathematical model to predict the next sound your voice will make, based upon previous speech

samples. By using the same predictor model on both the coder side and the decoder side, the only information that needs to be

transmitted is the difference between what is expected and what actually occurred in the speech. G.726 (ADPCM) using 32 kbps is

often accepted to be as good as toll-quality 64-kbps PCM. With these types of coders, any signal that falls within the 4-kHz voice

bandwidth can be converted to digital signals and transported. Unfortunately, using lower bit rates (24, 16 kbps) for ADPCM causes

significant drops in MOS scoring.

In order to drop to even lower-bit rate CODECS such as G.729 and G.723.1 (known as very low-bit rate coders) and still

maintain an acceptable voice quality “waveform” or PCM, coding had to be abandoned. With advances in processing power (digital

signal processor [DSP]) and cost (million instructions per second [MIP]), as well as the advances in voice technology, it has become

realistic to use large-scale compressed speech. One of the most interesting facts of LPC and other hybrid coders is that actual speech

is not transmitted across the network. LPCs synthesize the vocal tract (vocal cords, lungs) and a filter synthesizes other components

(mouth, tongue, lips, and so on). Sounds or excitations are sent to the filter, and out comes the synthesized voice. This scenario

represents a very large improvement in required bits compared to PCM. For example, LPCs are synthesized or sampled every 20

milliseconds, compared to PCM, which would have sampled 160 times in the same 20 milliseconds. Thus in the same time period

a LPC would transmit 40 bits per second while a standard PCM coder would send 1280 bits per second.

Hybrid coders such as CELP built upon LPC technology and added improved speech analysis and synthesis techniques that

removed much of the robotic nature of first-generation LPC vocoders. Hybrid coders required more-complex synthesizers. These

synthesizers have 8 to 10 key parameters, which are typically updated every 20 milliseconds. In optimizing quality for speech, CELP

may demonstrate significantly lower quality transmission of nonspeech signals such as music-on-hold.

1. Mip Processing power given for Texas Instruments 54x DSP’s

Table 1 Compression Methods and their Respective MOS Scores

Compression Method Bit Rate (kbps) Processing1 (MIPS) Framing Size MOS Score

G.711 PCM 64 0.34 0.125 4.1

G.726 ADPCM 32 14 0.125 3.85

G.728 LD-CELP 16 33 0.625 3.61

G.729 CS-ACELP 8 20 10 3.92

G.729 x2 Encodings 8 20 10 3.27

G.729 x3 Encodings 8 20 10 2.68

G.729a CS-ACELP 8 10.5 10 3.7

G.723.1 MPMLQ 6.3 16 30 3.9

G.723.1 ACELP 5.3 16 30 3.65

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 6 of 80

With these new coders comes a few trade-offs in design. Tandem encodings have already been discussed, but it is also important

to discuss other issues that revolve around very low-bit rate coders such as coder delay, bandwidth/quality trade-offs, echo, and

total end-to-end delay.

While compressing voice packets down to 8 kbps seems ideal, with that gained bandwidth come quality trade-offs. Customers

should exercise some additional care in designing voice networks with low-bit rate compression. One of the most important of the

design criteria is minimizing total one-way end-to-end delay. This total delay has been found to be acceptable as long as it remains

within 150 to 200 milliseconds. This total delay includes CODEC-introduced delay as well as network, speed of light, and other

factors. While your specific customer may require less or more delay, it is important to understand what network delay is (somewhat

manageable) and what CODEC-introduced delay is (relatively constant).

Delay

Two types of delay are inherent in today’s telephony networks: propagation delay and handling delay. Propagation delay is caused

by the speed of light in fiber- or copper-based networks. Handling delay, also known as serialization delay, is caused by devices that

handle the voice information by devices along the voice path.

The speed of light in a vacuum is 186,000 miles per second, and electrons travel 100,000 miles per second in copper. A fiber

network halfway around the world (13,000 miles) would induce a one-way delay of about 70 milliseconds. Although this delay

is almost imperceptible to the human ear, propagation delays in conjunction with handling delays can cause noticeable

speech degradation.

Handling delays can impact traditional phone networks, but they are a larger issue in packetized environments. The following

paragraphs discuss the different handling delays and how they affect voice quality.

G.729 has an algorithmic delay of about 20 milliseconds. In the Cisco IOS™ voice over IP product, the DSP generates a frame

every 10 milliseconds. Two of these speech frames are then placed within one packet; the packet delay is, therefore, 20 milliseconds.

Vendors can decide how many frames they want to send in one packet. Cisco has given the DSP as much of the responsibility for

packetization as possible to keep the router overhead low. For example, the RTP header is put on the frame in the DSP instead of

giving the router that task.

There are other causes of delay in a packet-based network: the time necessary to move the actual packet to the output queue,

and queue delay. Cisco IOS software is quite good at moving and determining the destination of a packet. (This fact is mentioned

because other packet-based solutions [PC based, and others] are not as good at determining packet destination and moving the

actual packet to the output queue.) The actual queue delay of the output queue is another cause of delay. This factor should be kept

to under 10 milliseconds whenever possible by using whatever queuing methods are optimal for that network. This subject is

covered in greater detail in the “Quality of Service” section.

Table 2 shows that different CODECS introduce different amounts of delay.

Table 2 CODEC-Introduced Delay

Compression Method Bit Rate (kbps) Compression Delay (ms)

G.711 PCM 64 0.75

G.726 ADPCM 32 1

G.728 LD-CELP 16 3–5

G.729 CS-ACELP 8 10

G.729a CS-ACELP 8 10

G.723.1 MPMLQ 6.3 30

G.723.1 ACELP 5.3 30

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 7 of 80

Two additional issues affect delay. The absolute delay can interfere with the standard rhythm of a phone call, and delay

variation or jitter can also impact speech quality. Absolute delay can cause breaks in the rhythm or cadence of a phone call and

if the delay is great enough, can make the call CB-like, with talkers having to take turns talking and ending with a keyword instead

of silence to denote the end of a talker’s turn.

Jitter is the variation from when a packet was expected to be received and when it actually is received. Voice devices have

to compensate for jitter by setting up a playout buffer to play back voice in a smooth fashion and avoid discontinuity in the

voice stream.

From the user’s perspective, the configuration of the playout control is quite simple. With RTP encapsulation, an adaptive

(default) or a nonadaptive playout-delay mode can be selected. In either mode, an initial value called nominal delay needs to be

specified (with a default value of 60 msec). For nonadaptive mode, this is the fixed value for jitter (variable component of the

network delay) compensation that is used for the duration of the call. For adaptive mode, the maximum delay also needs to be

specified (with a default of 200 msec, this scenario ensures that for terrestrial connections, the end-to-end delay for G.729 will

be less than 300 msec, an important mark). Thus the adaptive playout delay will be capped by this value. There are two reasons

for this. First, the maximum delay is limited by DSP memory resources allocated for the jitter buffer. In the current firmware release,

this memory resource is 200 msec for 64K CODECS and 1360 msec for 8K CODECS. Second, it allows for setting an upper limit

on this component, in many cases the major contributor to the end-to-end delay. In many applications it may be preferable to have

the system or the user terminate the call rather than to allow an arbitrarily large delay. The data received with jitter outside this

limit will show up in the playout statistics as buffer overflows. There is no need to configure minimum delay. The ideal value is 0;

it is a design parameter, which is currently set to 2 msec.

The receive delay consists of the playout delay for jitter compensation plus the average expected delay after the frame is

available for playout to the decoder, set to 5 msec for PCM and ADPCM CODECS and 10 msec for the G.729 CODEC. Adding

the delays from the end points to the CODECS at both ends, the encoder delay, the packetization delay, and the fixed portion of the

network delay gives the end-to-end delay for the connection. The encoder delay includes 5 msec of voice activity detection (VAD)

delay and processing time for echo cancellation. It should be noted that a good estimate of these other components of the end-to-end

delay is not difficult to make if the end-to-end signal/data paths, the CODEC, and the payload size are known. For example, for a

campus network, where the fixed component of the network delay and the endpoint connection delays are almost zero, a voice over

IP call using the G.729 CODEC and payload size of 20 bytes (two frames of 10 msec each) will result in 20 msec of encoder delay

plus 20 msec of packetization (waiting for the second frame) delay. Thus adding 40 msec to the receive delay should give a fairly

good estimate of the end-to-end delay. In this example, if there is no contending data traffic, then the end-to-end delay should

average to approximately 50 msec, with a range of 45 to 55 msec. For the receive delay, the current, the low-water mark, and the

high-water mark statistics are available.

When data is not received within the time window of the current playout delay, or is lost, this scenario contributes to playout

errors. The missing data contributes to two types of errors—missing frames in the middle of a talkspurt and miscues about the end

of the talkspurt. Depending upon the contiguous duration of the missing data, the missing frames are replaced by prediction from

the past frames (usually the last frame only), followed by silence if the condition persists (for example, more than 30 to 50 msec).

This scenario is referred to as concealment. Buffer overflow and concealment statistics are available, and they give a good indication

of the effect of the network on the quality of the audio.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 8 of 80

Playout Adaptation

The details of playout-delay adaptation and various statistics can be found in the source code and the following references. A brief

description of the playout-delay adaptation follows.

The delay of an incoming packet is measured relative to a reference delay, which equals the minimum delay packet within

the time window of the recent past with exponentially decreasing weight farther in the past when such a packet was received.

The purpose is to avoid being locked to an absolute minimum that occurred a long time ago, for example, 500 to 1000 packets ago.

In practice, multiple packets arrive within a narrow band of the minimum delay within an interval of 1000 packets. If the incoming

packet has delay lower than the current reference and if the packet arrives in sequence, the reference delay is reset.

At any given instance a variable, delay_Now, which is the actual depth of the jitter buffer, exists, as well as another variable,

delay_update, which is updated on arrival of a new packet. This scenario causes the depth of jitter buffer to adapt over time in a

desired manner. Most of the time the variable (delay_Now) is set to delay_update at the beginning of a talkspurt. This adjustment

also occurs when delay_update is off by more than 25% of delay_Now. The latter accounts for times when VAD is inoperative as

well as times when rapid changes in the jitter characteristics occur. It would be undesirable for delay_Now to diverge too much from

delay_update.

If the delay of an incoming packet is 50 to 75 percent of the delay_update, no update is necessary. If this situation continues

for a long enough time, the reference delay would adjust such that the delay would fall outside this range, and delay_update would

adapt until it settled at a new value, except in the case where the delay_update is the same as the minimum playout delay. Therefore,

the only condition in which no adaptation is assured is if the jitter is less than the minimum playout delay.

The delay_update is incremented upward at the rate of 1/64 of delay_update for the delay range of 75 to 100 percent and at

a very rapid rate of 25 percent for delay exceeding 100 percent. It is clear that the adaptation upward is very aggressive as very

few packets are desired (less than 1 percent for most network variations) to fall outside the current jitter buffer depth. The upward

adjustment to delay_update is capped by the maximum playout delay.

The adaptation of delay_update downward is done for delays below 50 percent of delay_update and it is much slower than

the upward adaptation, with a time constant of 200 to 300 packets. This time constant translates to 4 to 6 seconds for a 20-msec

packet duration, and approximately 750 packets, or 15 seconds for 20-msec packets, to fully converge from maximum delay to the

minimum delay if the network jitter falls to less than a packet duration. For example, it takes approximately six ring cycles

(approximately 15 seconds of active audio) to converge to a minimum delay of 2 msec from the initial delay (nominal_delay) of

100 msec when there is no network traffic. Because of the exponential nature of the convergence, it would not take too much longer

to converge from a much higher value.

Echo

In a traditional toll network, echo is normally caused by a mismatch in impedance from the four-wire network switch conversion

to the two-wire local loop. Hearing your own voice in the receiver while you are talking is common and reassuring to the speaker.

Hearing your own voice in the receiver longer than ~25 milliseconds, however, can cause interruptions and breaks in the

conversation. Echo in the standard PSTN network is controlled with echo cancellers and a tight control on impedance mismatches

at the common reflection points. In today’s packet-based networks, echo cancellers are built into the low-bit rate CODECS and

are operated on each DSP. To understand how echo cancellers work, where the echo comes from must first be understood.

For example, user A is talking to user B. The speech of user A to user B is called G. When G hits an impedance mismatch

or other echo-causing environments, it is bounced back to user A. User A can then hear the delay several milliseconds after user A

has actually spoken.

To remove the echo from the line, the device user A is talking through (router A) keeps an inverse image of user A’s speech for

a certain amount of time. This is called inverse speech, –G. This echo canceller listens for the sound coming from user B and

subtracts the speech –G to remove any echo.

Echo cancellers are limited by design by the total amount of time they will wait for the reflected speech to be received,

a phenomenon known as an echo trail. The echo trail is normally 32 milliseconds. Cisco has configurable echo tails of 16, 24,

and 32 milliseconds.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 9 of 80

Signaling

There are various types of in-band and out-of-band signaling methods used in today’s telecommunication networks. A common

method of in-band signaling is using single or multifrequency tones. A common method for out-of-band signaling is Integrated

Services Digital Network (ISDN), which uses the D channel for call setup. Out-of-band signaling is exactly that; it uses a separate

channel for signaling outside of the voice band.

Another form of signaling is to determine when a line has gone off hook or on hook; it requires some level of service (that is,

dial tone). There are two common methods of providing this basic signal on a user or residential basis. The two most common

techniques are loop start and ground start.

Loop start is by far the most common technique for access signaling in a standard PSTN end-loop network. When a handset

is picked up or goes off hook, this action closes the circuit that draws current from the telephone company’s central office (CO) to

indicate a change in status. This change in status usually signals the CO to provide dial tone. An incoming call is signaled from the

CO to the handset by sending a 20- or 25-Hz at 90 VAC (20 Hz in North America and 25 Hz or 50 Hz in Europe) signal in a

standard on/off pattern, which causes the phone to ring.

Ground start is another signal method to indicate on-hook and off-hook indications to the CO or other connected telephony

device (that is, PBX, key system). Ground start is typically used on trunks or tie-lines between PBXs. Ground start signaling works

by using ground and current detectors. This arrangement allows for the network to indicate off hook (seizure) of an incoming call,

independent of the ringing signal.

In order to determine which signal method is best in your environment, the caveats inherent with each signaling method must

be explored. The problem that these signaling methods are attempting to address is known as glare. Glare is when both ends attempt

to seize the line at the same time. Older loop-start interfaces on CO equipment are used to share a common ringing generator, with

a common cadence across all ports. If a port was selected during the off portion of the cadence, the line would be idle, with a call

pending for up to 2 seconds. During that 2-second period, the other end could have attempted to place a call because it didn’t know

that an inbound call was there!

Ground start is intended to provide a positive indication of far-end disconnect from the CO (FXS) side to the customer premises

equipment (CPE) (FXO: PBX, KEY, pay phone, and so on) and to minimize glare.

Modern loop-start lines provide far-end disconnect in the form of calling party control (CPC). CPC allows the CO side of the

line momentarily powers down the interface to indicate that the far end terminated the call. Glare on loop start is also minimized

by providing “ringing on seize.”

Cisco’s voice implementation offers CPC and ringing on seize on its FXS interface when in loop-start mode. If the end-user

(FXO) equipment supports CPC when in loop-start mode, Cisco recommends use of that mode, as the interface is easier (and usually

cheaper) to provision. Also, while loop start is not sensitive to line polarity, ground start is. It is much easier to misprovision and

harder to debug a ground start line during installation.

Another signaling technique used mainly between PBXs or other network-to-network telephony switches (5 Electronic

Switching system [5ESS], DMS-100, and so on.) is known as E&M. E&M is commonly referred to as ear and mouth or receive and

Transmit. There are five types of E&M signaling, as well as two different wiring methods (two wire and four wire). Table 3 shows

that several of the E&M signaling types are similar.

Table 3 E&M Signaling

E&M Lead Signaling

Type M Lead E Lead

Off hook On hook Off hook On hook

I Battery Ground Ground Open

II Battery Open Ground Open

III Loop current Ground Ground Open

IV Ground Open Ground Open

V Ground Open Ground Open

SSDC5 Earth on Earth off Earth on Earth off

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 10 of 80

Types I and II are the most popular E&M signaling in the Americas. Type V is used in the United States, but is very popular in

Europe. Similar to type V, SSDC5A differs in that on and off hook states are backward to allow for fail-safe operation: if the line

breaks, the interface defaults to off hook (busy). Of all the types, only II and V are symmetrical (can be back to back using a

crossover cable). SSDC5 is most often found in England. The Cisco 3600 currently supports types I, II, III, V utilizing both two and

four-wire implementations.

For E&M wiring diagrams, see Appendix A.

Other signaling techniques often used are delay, immediate, and wink start. Wink start is an in-band technique where the

originating device waits for an indication from the called switch before sending the dialed digits. Wink start normally is not used

on trunks that are controlled with message-oriented signaling schemes such as ISDN or Signaling System 7 (SS7).

Fax Primer

Before fax over a packet-based network is explored, how fax works across today’s PSTN must be explained. Fax machines in

common use today implement the ITU recommendations T.30 and T.4 protocols. The T.30 protocol describes the formatting of

nonpage data, such as messages that are used for capabilities negotiation. The T.4 protocol describes formatting of page image data.

A white paper that discusses how fax transmission is currently handled through today’s PSTN can be found in Appendix B.

Fax over IP

Fax over IP or any other packetized means is simply a way to utilize available bandwidth in a more flexible manner. This can be

accomplished through using real-time fax or through store-and-forward fax.

In today’s PSTN, the fax machines synchronize their transmissions (T.30 engines) end to end and negotiate page by page. Using

real-time fax in a packet-based network, the T.30 engines are decoupled and demodulated by the Cisco router. The Cisco router can

“spoof” the fax machine and allow for delays inherent in a packet-based network.

For more information on fax over packet-based networks, see Appendix B.

The other fax alternative is known as store-and-forward fax. This technology works around most of the problems inherent

in a packet-based network. To implement this solution, the customer must be willing to accept fax delays that range from seconds

to hours, depending upon the particular method of deployment.

Users of fax transmissions normally do not notice a delay of several minutes when receiving their transmission. Store-and-

forward fax allows for fax transmissions to be stored and transmitted across a packet-based network in a bulk fashion. This setup

allows for PSTN charges to be avoided and fax transmissions to use a least-cost routing path for faxes. Also, faxes can be stored

and transmitted when toll charges are more favorable in a particular country or province. Fax machines are less of a problem in

this configuration as they no longer need to be spooled by the Cisco router.

Figure 1 shows a fax transmission from the Austin, Texas, site to a location near London. The PBX routes the fax transmission

through the packet-based gateway to the fax gateway located in Austin. The fax gateway answers the fax transmission and stores

the fax. The Least-Cost Routing algorithm in the fax gateway tells it to send the Simple Mail Transfer Protocol (SMTP) transmission

to the London fax gateway in two hours, when general network traffic is usually lower. When the fax gateway in London receives

the SMTP transmission, it looks at its Least-Cost Routing algorithm to determine the best time to transmit the fax. To transmit

the fax, the fax gateway uses the Cisco packet gateway to place a local PSTN call. When the fax gateway in London receives

confirmation that the fax transmission was successful, it forwards the confirmation to the fax gateway in Austin.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 11 of 80

Figure 1 Store-and-Forward Fax

H.323 Primer

H.323 is an ITU-T specification for transmitting multimedia (voice, video, and data) across a local-area network that does not

guarantee a quality of service. This packet-based network can be IP, IPX, or almost any other protocol. H.323 allows for

standards-based interoperability with other vendors’ H.323-compatible equipment.

Under the umbrella of H.323 is H.323 terminals, H.323 MCUs, H.323 gateways, and H.323 gatekeepers. It is not in the scope

of H.323 to specify any type of QoS. H.323 describes terminals, equipment, and services for multimedia communication over LANs.

Any H.323-compliant terminal is required to carry voice, while video, and data are optional.

The Cisco 3600 acts as an H.323 gateway as well as assumes some of the functionality of a gatekeeper. An H.323 gatekeeper

is required to perform address translation, admission control, bandwidth management, and zone management. An H.323 gateway

can provide a gate between the IP world and the PSTN, H.320 terminals, V.70 terminals, H.324 terminals, and other speech

terminals.

The H.323 protocol is composed of audio, video, data applications, and system control. Recommended audio CODECS

include G.711, G.722, G.723, G.723.1, G.728, and G.729. As better CODECS are developed, the marketplace will determine which

CODECS are specified. Currently the voice over IP forum has recommended G.723.1 for its applications. Recommended video

CODECS include H.261 and H.263. Data conferencing utilizes the T.120 specification for applications such as workgroup

collaboration.

Other components required for H.323 terminals are H.245, H225.0, Registration/Admission/Status (RAS), and RTP/RTP

Control Protocol (RTCP). H.245, H.225.0, and RAS are known as the system control.

S&F FAXTokyo

London

Atlanta

Raleigh

San Diego

S&F FAX

S&F FAX

S&F FAX

PSTN

PBX/PABX

.4

.5EO

5300

Austin/4700

S&F FAX

192.

168.

121.

0/29

S&F FAX

T1 PPP

T1 PPP

V

V

V

V

V

V

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 12 of 80

The H.245 control channel provides in-band reliable transport for capabilities exchange, mode preference from the receiving

end, logical channel signaling, and control and indication. TCP is used for voice over IP to provide the reliable transport. H.245

allows H.323 devices to deliver its capabilities to the other H.323 devices. Part of these capabilities are CODECS available. It should

be remembered that this scenario is not a negotiation, and the particular CODEC that they list in their capabilities does not have

to be used.

H.225.0 utilizes a scaled-down version of q.931 to set up the connection between two H.323 endpoints.

RAS is used to communicate with the H.323 gatekeeper by the H.323 gateway. A gatekeeper is not required in an H.323

network, but must be used if it is present. The H.323 recommendation does not specify where the gatekeeper is to reside. Each

vendor must decide where to put the gatekeeper functionality.

The RTP and RTCP are specified in the H.323 specification. After the H.323 call setup and control process is completed, audio

and video packets are sent via User Datagram Protocol (UDP) (see Table 4). To assist with streaming audio and video, the

specification calls for a RTP header. A RTP header contains a time stamp and sequence number, allowing the receiving device to

buffer as much as necessary to remove jitter and latency by synchronizing the packets to play back a continuous stream of sound.

The RTP specification states that RTP traffic is to use an even port number, while RTCP is to use the next available odd number.

RTCP, used to control RTP, gathers reliability information and periodically passes this information onto session participants.

RTCP cannot use more than five percent of the session bandwidth used by RTP.

Packet Voice

Having introduced voice, fax, and H.323, the guide now discusses different packet voice applications, legalities, and how to design

these next-generation telephony networks for optimal voice quality. To fully understand how to set up these networks, the

applications must be understood, as well as caveats or legalities to be aware of when designing a specific network.

Many countries have been quite interested in voice over IP because it represents a fundamental change in the approach to

offering telephony services. Some countries have banned IP telephony completely for fear of competition to the local exchange

carriers. In the United States, there is currently no decree from the Federal Communications Commission, although there are certain

configurations that should be avoided to keep from bypassing local access and transport area (LATA) boundaries and breaking the

“spirit” of the law. Asked if the FCC should regulate Internet telephony in August 1996, Chairman Reed Hundt of the FCC

responded, “We need to write rules that open up the local telephone market to competition, and I hope the FCC will do so in August

of this year.

But there are other rules I am not convinced we should write.

“The FCC has received a petition from the America’s Carriers’ Telecommunications Association asking that we restrict the sale

of Internet phone software, because the providers of that software do not comply with the rules that apply to telecommunications.

“I am strongly inclined to believe that the right answer at this time is not to place restrictions on software providers, or to

subject Internet telephony to the same rules that apply to conventional circuit-switched voice carriers. On the Internet, voice traffic

is just a particular kind of data, and imposing traditional regulatory divisions on that data is both counterproductive and futile.

“More importantly, we shouldn’t be looking for ways to subject new technologies to old rules. Instead, we should be trying

to fix the old rules so that if those new technologies really are better, they will flourish in the marketplace.

Table 4 UDP Port Numbers

From To Application Priority

0 16383 Not specified Lowest

16384 32767 Audio Highest

32768 49151 Whiteboard Medium

49152 65535 Video Low

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 13 of 80

“Internet telephony may well become, in time, a competitive alternative to traditional circuit-switched voice telephony. After

all, as the growth of the cellular industry demonstrates, people are willing to give up a significant level of quality in exchange for

other benefits. In the cellular case, the benefit is the ability to make a call from virtually anywhere; in the case of Internet telephony,

the benefit is a vastly lower price. This is especially true, for example, for international telephone calls.”

While Chairman Hundt and the FCC have currently made no specific regulations regarding packet telephony, certain

restrictions still need to be followed within the U.S. In most countries, telecommunications is regulated by an arm of the

government, or “telephony jurisdiction.” Before deploying a packet telephony network, it is always a good idea to check with each

country to determine which telephony network the packet will traverse. The following is a list of rules of thumb for designing a

packet-based network. These rules are subject to change at any time, and specific regulation should be researched before deploying

a packet telephony network.

• Within a telephony jurisdiction, it is almost always proper for a business to employ packet telephony to support its own voice

calling within its own sites. This rule of thumb is contingent upon the calls staying within the “user group,” which consists of

employees of the company, contractors for that company, or employees of a secondary business with which the original company

has close ties.

• Business-to-business calling over IP telephony is usually tolerated, as long as the companies have a close business relationship and

the calls remain within the user group.

• In certain applications, calls originating from the PSTN and then traversing the packet voice network to a member of the user

group or business into which the call was placed is normally accepted, as long as “telephony jurisdictional” bounds are not crossed

(that is, the call does not traverse into another country).

• When a packet telephony network is used to connect the public network phone to another public network phone, the packet voice

provider is generally seen as a telephony carrier, subject to restrictions and regulation of that telephony jurisdiction.

• If the originating leg of the call was from a PC-based application (netmeeting), some telephony jurisdictions see this scenario as

nontelephony and not subject to regulation, even if the call somehow crosses over to the public network through a gateway of

some sort. This scenario is likely to change, and it should be researched before deploying a network of this type.

Given the previous rules and recommendations, companies can employ a packet voice network anywhere a traditional leased-line,

PBX-to-PBX tie-line can legally be deployed. It is, therefore, a good idea to design and deploy a packet telephony network using

a tie-line network as a model.

Applications

One of the top issues that drive packet telephony is cost savings. Currently, most companies’ IS budgets remain constant while their

communications/infrastructure costs are rapidly growing. Corporations need to find ways to save money wherever possible. One

of the ways that corporations are fighting this budgetary battle is to merge their voice and data networks. It no longer makes fiscal

or technological sense to maintain two separate networks. Companies that are truly considering data/voice integration have done

the research to show the possible cost savings achieved by integrating their two networks. Many alternatives are available

to corporations that want to accomplish data/voice integration. Companies have a choice between voice over Frame Relay, voice

over Asynchronous Transfer Mode (ATM), and voice over IP. All these offer a specific solution for specific issues that surround

voice/data integration.

Toll Bypass

Toll bypass will be the most common application that corporations will look for to deploy voice over IP networks. Toll bypass

allows corporations to replace their tie-lines that currently hook up their PBX-to-PBX networks and route voice calls across their

existing data infrastructure (see Figure 2). Corporations will also use voice over IP to replace smaller key systems at remote offices

while maintaining larger-density voice over IP equipment at the sites with larger voice needs. Another benefit to using voice over IP

is that real-time fax relay can be used on an interoffice basis. Studies have shown that a large portion of long-distance minutes is

fax traffic. In fact, up to 60 percent of long-distance minutes to Japan are faxes.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 14 of 80

Figure 2 Toll Bypass in a Large Corporation

Next-Generation Telephony Carriers

Currently, most Internet service providers (ISPs) are having a difficult time making a profit when they charge only $20 a month to

each residential subscriber. Also, only a limited number of business clients allow for higher margins. ISPs need to find a method to

attract new subscribers as well as offer additional pay services. Many service providers are planning to offer telephony services based

upon voice over IP to leverage their existing infrastructure. (Many already do.) There is a good reason for this interest, as the voice

market is a trillion-dollar industry and the domestic long-distance market is 700 billion minutes. If an ISP had only 0.1 percent of

the market at 7.25 cents a minute, it would gain a significant amount of revenue.

Most ISPs have spent a great deal of capital to build a high-speed IP infrastructure. If QoS features are deployed and different

levels of service can be achieved, new applications based upon these levels of service can be sold. By far, the most interesting of these

new services is voice.

For example, assume that you are sitting at home in California and would like to call your grandmother in Boston. If your

grandmother is a technology junkie, you can have her use Microsoft Netmeeting and try to do an Internet chat, but because this is

grandma, you have to use the existing telephony network. Or do you? If an ISP provided packetized telephony services, you could

access its network in one of two ways.

First, you can use your existing dialup connection and begin an H.323-compatible application (Microsoft Netmeeting, see

Figure 3) and tell your application that you want to use the gateway at your ISP. When the ISP verifies who you are, it permits access

to its packet voice gateway and allows you to place a telephony call to grandma. Grandma doesn’t know that you are placing a

packetized voice call, since she receives the call on her telephone.

The second method for ISPs to allow for packetized voice is to offer an 800-number service similar to 1 800 COLLECT, in

which a user has an account for billing or a card available for x number of minutes. You dial an 800 number, enter an access code,

and then you have access to the packetized voice network.

It is important to note that in both of these scenarios, the ISP has become a next-generation telephony company that is subject

to all the laws and tariffs of standard telephony carriers.

PSTN

WAN

V V

KeyTelephone

System

36205300

Remote Site

Headquarters

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 15 of 80

Call Centers of the Future and other Beneficial Applications

Assume that you are browsing the Web from Oregon. You see something that you are interested in from a company in Florida. You

would like to buy the product, but you have one more question before you are willing to purchase, and that question is not answered

on the Web page. This small company has no 800 number, and you don’t want to close your dialup connection anyway. What if

you could click on a button on the company’s Web page to launch your Netmeeting application and connect immediately to a

customer service representative? This representative answers your question and takes your order. No hassle, no fuss, and both the

consumer and the company are happy. The corporation saves on 800-number calls, and you save time and money by not having to

call from Oregon to Florida.

Of course, for all these applications to become useful, there needs to be a level of service and a set expectation of quality. With

Packet Voice, consumers will learn that great cost savings can be achieved while maintaining an acceptable level of voice quality.

For example, consumers are willing to pay more in spite of reduced quality when using a cell phone, as long as they have the ability

to call from anywhere. A problem facing the packet telephony industry is the perception of poor-quality with IP based telephony.

The true culprit of this perception is the lack of QoS on today’s Internet and the PC based I-phone applications. Customers must

be shown that a QoS network in conjunction with a well designed voice router can provide a high level of voice quality.

Nuts and Bolts

Next the paper examines Cisco’s voice over IP implementation. It describes the path of processing a voice packet from the two-wire

loop to the analog phone out to a fully packetized sample of speech. In addition, it explains Cisco’s approach to voice activity

detection (VAD), H.323 negotiation, and call setup.

The general steps to connect a packet voice telephone call through a Cisco IOS voice over IP router follow. This example is not

a specific call flow, but it gives a high-level view of what happens when you make a phone call work over a packet voice network.

The general flow of a two-party voice call is the same in all cases, and generally follows these steps:

1. The user picks up the handset, signaling an off-hook condition to whatever the local loop is connected to (for example, PBX,

PSTN central office switch, signaling application in Cisco router).

2. The session application issues a dial tone and waits for the user to dial a phone number.

3. The user dials the number, which is accumulated by the session application.

4. The number is mapped via the dial plan mapper to an IP host, which talks either to the destination phone directly or to a PBX,

which finishes completing the call.

5. The session applications run a session protocol (H.323—See Figure 3) to establish a transmission and a reception channel for

each direction over the IP network. Meanwhile, if there is a PBX involved at the called end, it finishes completing the call to the

destination phone.

6. If using RSVP, the RSVP reservations are put in place to achieve the desired QoS over the IP network.

7. The voice CODECs/compressors/decompressors are turned on for both ends, and the conversation proceeds using RTP/UDP/IP

as the protocol stack.

8. Any call-progress indications and other signals that can be carried in-band (for example, remote phone ringing, line busy, and

so on) are cut through the voice path as soon as an end-to-end audio channel is up. Signaling that can be detected by the voice

interfaces (for example, in-band dial tone multifrequency [DTMF] digits after the call is complete) is also trapped by the session

application at either end and is carried over the IP network encapsulated in RTCP using the RTCP APP extension mechanism.

9. When either end hangs up, the RSVP reservations are torn down (if RSVP is used), and the session ends, with each end going

idle waiting for another off-hook.

When the dial plan mapper determines the necessary IP address to reach the destination telephone number, a session is invoked.

This session can utilize any protocol, but for Cisco IOS software, H.323 is the current session application. Figure 3 shows a

breakdown of the steps taken to form the H.323 session.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 16 of 80

Figure 3 H.323 Session

The initial TCP connection is usually made on port 1720 to negotiate the H.225 portion of the H.323 session. During the

H.225 portion of the H.323 session, the TCP port number for the H.245 portion of the H.323 session is passed back to the calling

unit.

During the H.245 portion of the H.323 session, the RTP and RTCP addresses are passed between the calling unit and the called

unit. The RTP address used is in the range of 16384 plus four times the amount of channels available on the calling device. After

all portions of the H.225 and H.245 session are complete, the audio is then streamed over RTP/UDP/IP.

Studies have shown that over 50 percent of a phone call can be made up of wasted bandwidth because no one is talking. While

traditional PSTN networks must dedicate a full 64-kbps channel per phone call, packetized voice can take advantage of these

periods of silence by detecting when there is no speech and stopping transmission of packets.

As shown in Figure 4, the VAD works by detecting the magnitude of speech (in dB) and deciding when to cut off the voice

packetization. VAD has certain inherent problems with determining when speech has ended and when it has begun, and

distinguishing speech from background noise.

TCP connection (H.225)

TCP connection

(RTCP and RTP addresses)

RTP stream

RTP stream

RTCP stream

H.245 Messages

Open Logical Channels(RTCP address)

(RTCP and RTP addresses)

(RTCP address)

SETUP

CONNECT(H245 Address) Q.931H.323

H.245

Media

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 17 of 80

Figure 4 Voice Activity Detection

Typically, when the VAD detects a drop off of speech amplitude, it waits a fixed amount of time until packetization of speech

stops. This fixed amount of time is known as hangover, and is typically 200 ms. Another inherent problem with VAD is detecting

when speech has begun. Typically the beginning of a sentence is cut off or clipped. This phenomenon is known as front-end speech

clipping.

Voice Tuning

The ITU-T has recommendations set to allow you to plan your voice network with certain impairments. ITU-T recommendation

G.113 covers several factors to let you know what quality of speech can be expected in various scenarios, ITU-T puts these factors

into a numerical value known as the total impairment value, which can be shown as follows.

The total impairment value Itot is the sum of individual impairment factors.

Itot = Io + Iq + Idte + Idd + Ie

Where

Io Represents impairments caused by nonoptimum overall loudness rating or high circuit noise1

Iq Represents impairment caused by PCM-type quantizing distortion1

Idte Represents impairments caused by talker echo2

Idd Represents speech communication difficulties caused by long one-way transmission times2

Ie Represents transmission impairments caused by special equipment in the connection, in particular, nonwaveform low-bit

rate CODECS

A major point in voice tuning is first to design your network to account for latency, jitter, and total delay. Also, when planning

a voice network, loss should be accounted for.

Another factor to design into your voice network is loss. In a telephony environment, certain levels of loss should be

implemented to maintain voice quality.

EIA/TIA-464 specifies that there must be loss configured from port to port. Loss requirements differ by interface, and some

interfaces are configured with a predetermined loss to satisfy FCC requirements.

The telephone industry accounts for adjusting levels at an analog interface in two ways:

• Transmission-level point (TLP)—A term used mostly by trunking equipment such as channel banks; what it means:

– 0 dB TLP The line is nominally at 0 dBm

– –3 dB TLP The line is nominally at –3 dBm

1. Io and Iq are caused by impairments that occur simultaneously with speech.2. Idte and Idd are caused by impairments that appear delayed with regard to the voice signal.

Speech Magnitude (dB)

Front-endSpeech Clipping

Front-endSpeech Clipping

Sentence 1

Noise Floor

time

Speech Detected Hang-Over

Signal-to-NoiseThreshold

Typically fixedat 200 ms

Sentence 2

Speech Detected Hang-Over

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 18 of 80

– +3 dB TLP The line is nominally at +3 dBm

• Gain/pad—Refers to how much gain or attenuation is added to the line to get the signal back to 0 dBm (nominal); that is,

– 0 dB gain No attenuation; line is at 0 dBm

– –3 dB pad or –3 dB gain 3 dB of attenuation; line is +3 dBm hot

– –3 dB gain or –3 dB pad 3 dB of amplification; line is –3 dBm weak

The Cisco 3600 voice over IP analog interfaces utilize the gain method. Different interfaces (FXO, FXS, E&M) have different

default levels, which are “built in” to the Cisco IOS code; they can be adjusted with the Cisco IOS command-line interface (CLI).

Although these values are there, the show commands do not currently show the true output of the interface (for example, the FXS

TLP output gain is set to –3 dB for that interface, but the show command shows 0 dB as a reference point).

Built-in values for various interfaces:

FXS_TLP_INGAIN 0

FXS_TLP_OUTGAIN (–3)

FXO_TLP_INGAIN 0

FXO_TLP_OUTGAIN (–3)

E&M_TLP_INGAIN 0

E&M_TLP_OUTGAIN 0

Depending upon your application, the values should be adjusted to achieve maximum voice quality. Normally, this means that

if you are connecting to a PBX, you should allow the PBX to modify the gain or attenuation as necessary, but if the Cisco 3600 is

acting like the PBX, then you should configure the Cisco IOS router to modify the gain or attenuation, as necessary.

If the Cisco 3600 acts like a CO device, then the gain/attenuation should be adjusted to get as close as possible to the following

levels:

FXS_TLP_INGAIN 0

FXS_TLP_OUTGAIN (–6)

FXO_TLP_INGAIN (–2)

FXO_TLP_OUTGAIN (–3)

E&M_TLP_INGAIN 0

E&M_TLP_OUTGAIN 0

In an analog network, the switch that originates the call should insert 2 dB of loss into the transmit and receive sides of the

trunk connection. The switch that terminates the call should insert 2 dB of loss on both the transmit and receive trunks. This

scenario gives the connection a total of 4 dB of end-to-end loss.

There are formulas for calculating typical end-to-end loss in most telephony networks; they are widely available in various

telephony guides.

The Cisco 3600 allows for adjusting the input/output gain and attenuation on a specific voice part so that the received gain

can be adjusted to the proper levels. When a call passes through the PSTN, the voice level can be attenuated by several dB. The

Cisco 3600 allows you to adjust the gains to the proper levels through the Cisco IOS software CLI.

Output attenuation needs to be set only when an FXS port is not connected to a PBX. For that case, the output attenuation

should be set to 6 dB.

The best way to properly adjust the gain is to have a tone generator that can generate a reference –dB value. One of the more

popular units for generating this reference tone is a Metro Tel MT-139. In the absence of a tone generator, a standard handset can

be used. Most standard handsets generate a –6 dB tone when one DTMF digit is used, and a –3 dB tone when two digits are used.

Remember when setting the gain on the router that this is a best-effort approach. The Cisco 3600 can introduce only –6 to 14

dB loss onto a specific port. If more than 14 dB of loss is needed, then 14 dB will have to be entered. Also keep in mind that this

loss is on a per-port basis, so each interface (E&M, FXO, FXS) can be configured independently of the others.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 19 of 80

One example (Scenario 1) is a scenario where an FXO is connected across an IP network to another FXO interface. These FXO

interfaces can be connected directly to the PSTN or to a PBX. As shown in Figure 5, the input gain for the FXO port on router A

needs to be adjusted so that the attenuation from phone A is reduced to only 2 dB. The gain on the FXO port on router B should

not be adjusted; that adjustment should be made by the PBX. If the PBX is unable to adjust the gain, then the gain should be adjusted

on the Cisco router.

Figure 5 FXO to FXO through a PBX and PSTN

Tip: Before beginning, verify that input/output (I/O) gain and attenuation are set to 0 dB on the Cisco 3600.

Step 1. Attach test unit (Metro Tel MT-139) so that a call can be placed to router A (calling device) through the PSTN. From there

the call will proceed over IP to router B.

Step 2. Attach test unit to analog interface on PBX attached to router B (called device).

Step 3. Set test unit A to send a 1004 Hz-at-0 dB tone so that it is received by test unit B. If test unit is unavailable, see tip.

Step 4. On router A, type “show call active voice.” Hang up phone call. Note the “InSignalLevel” value. This value should be –2

dB. If the value is not –2 dbm, the input gain should be adjusted on that port.

For example, the value displayed by InSignalLevel is –1. Change the gain input on that port to –1, which will result in a

net loss of –2 dB. If the value displayed by InSignalLevel is less than –16 dBm, change the gain input on that port to 14

dB, which is the maximum configurable gain.

Step 5. Repeat steps until gain is as close to –2 dB as possible. Save the configuration.

Step 6. Since router B is attached to a PBX, the PBX is allowed to adjust the gain/attenuation as necessary. (Note: Certain PBXs

require provision of a certain signal level; in that case, adjust the levels according to the PBX recommendations.)

Scenario 2 involves a router connected with an FXS interface directly to a handset. The second router is then connected from an

FXO port directly to the PSTN. As shown in Figure 6, the FXO port should be configured the same as in Scenario 1 (that is, adjust

the digital input gain at the router so that the transmission loss from phone A to the FXO port of router A is 2 dB). The digital

output attenuation at FXO should be set to 0. If the FXO interface is connected directly to a PBX instead of the PSTN, the same

procedures would be used as in Scenario 1.

Phone A

Phone BPBX/PABXRouter B

Router A

IPCloud

PSTNFXO

FXO

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 20 of 80

Figure 6 FXO to FXS through the PSTN

Step 1. Verify that router B is configured to provide 6 dB of output attenuation on the FXS interfaces. (The FXS interface is

hard-coded with 3 dB of attenuation, so only 3 dB of attenuation needs to be configured through the Cisco IOS CLI.)

Step 2. Connect your test units so that a connection can be made through router A to router B.

Step 3. Place a test call from router A to router B. Configure the test unit attached to router A to send a 1004-Hz tone at 0 dB.

Step 4. Type “show call active voice” at router A. Hang up phone call. Note the InSignalLevel value. This value should be-2 dB.

If the value is not-2 dBm, the input gain should be adjusted on that port.

For example, the value displayed by InSignalLevel is-1. Change the gain input on that port to-1, which will result in a net

loss of-2 dB. If the value displayed by InSignalLevel is less than-16 dBm, change the gain input on that port to 14 dB, which

is the maximum configurable gain.

Step 5. Verify that the input gain is as close to-2 dB as possible, adjusting the gain when necessary by repeating Steps 3 and 4.

Step 6. Save the configuration.

Note: When configuring E&M interfaces, follow the same procedures noted in Scenarios 1 and 2.

The following output is the “show running” and show call active voice from Scenario 1. Note the change in InSignalLevel after

the input gains are modified.

Router A Running Configuration (before gain change)

hostname Router A!!dial-peer voice 9 voip

destination-pattern +9session target ipv4:10.1.1.1!dial-peer voice 8 pots

destination-pattern +8port 1/0/0

!!voice-port 1/0/0!voice-port 1/0/1!end

Router A portion of show call active voice (before gain change)

OutSignalLevel=-18InSignalLevel=-22

Phone A

Phone BRouter B

Router A

IPCloud

PSTNFXO

FXS

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 21 of 80

Router A Running Configuration (after gain change)

hostname Router A!dial-peer voice 9 voip

destination-pattern +9session target ipv4:10.1.1.1

!dial-peer voice 8 pots

destination-pattern +8port 1/0/0

!!voice-port 1/0/0

input gain 14!voice-port 1/0/1!end

Router A show call active voice (after gain change)

OutSignalLevel=-18InSignalLevel=-8

Router B Running Configuration (before gain change)

hostname Router B!dial-peer voice 9 pots

destination-pattern +9port 1/1/0

!dial-peer voice 8 voip

destination-pattern +8session target ipv4:11.1.1.1

!!voice-port 1/1/0!voice-port 1/1/1!end

Router B—portion of show call active voice (before gain change)

OutSignalLevel=-27InSignalLevel=-14

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 22 of 80

Router B Running Configuration (after gain change)

hostname Router B!dial-peer voice 9 pots

destination-pattern +9port 1/1/0

!dial-peer voice 8 voip

destination-pattern +8session target ipv4:163.179.16.94

!voice-port 1/1/0

input gain 12!voice-port 1/1/1!end

Router B show call active voice (after gain change)

OutSignalLevel=-27InSignalLevel=-2

Quality Issues

As noted previously, the ideal end-to-end delay in a packet voice network is between 150 and 200 ms. This guide has shown that

the delay introduced by CODECS and packetization between two routers is between 50 and 60 milliseconds. Now the guide shows

how to set up a network to provide the necessary delay and jitter while using only 100 to 140 ms to transmit a packet from point

A to point B.

Quality of service, class of service (CoS), and type of service (ToS) are broad terms that have been both incorrectly and overly

used. The basic idea is to achieve the necessary bandwidth and latency necessary for any particular application. The tools for

implementing these services are not as important as the end result achieved. In other words, do not focus on one QoS tool to solve

all your QoS problems, but look at the network as a whole to determine which tools, if any, go in what portions of your network.

It is important to remember that the more granular the approach to queuing and control, the slower the forwarding packet rate

will be.

A well-engineered network separates edge functions and backbone functions. It is important to separate these functions to

achieve the best QoS available. Cisco offers many tools for implementing QoS. In some scenarios, not using any of the QoS tools

may achieve the QoS for your network. Each network has individual problems which may be solved with one or more of the

following Cisco tools.

Edge Functions

Compressed Real-Time Transport Protocol

RTP is the Internet-standard protocol for the transport of real-time data, including audio and video. The compression algorithm

defined in this document draws heavily upon the design of TCP/IP header compression as described in RFC 1144. It can be used

for media on demand as well as interactive services such as Internet telephony. RTP consists of a data part and a control part,

called RTCP.

The data part of RTP is a thin protocol that provides support for applications with real-time properties such as continuous

media (for example, audio and video), including timing reconstruction, loss detection, and content identification.

RTCP provides support for real-time conferencing of groups of any size within an internet. This support includes source

identification and support for gateways such as audio and video bridges as well as multicast-to-unicast translators. It offers QoS

feedback from receivers to the multicast group, as well as support for the synchronization of different media streams.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 23 of 80

Compressed Real-Time Transport Protocol, or CRTP, is used on a link-by-link basis to compress the IP/UDP/RTP from 40 bytes

to 2–4 bytes most of the time. In a packet voice environment when framing speech samples every 20 milliseconds, this scenario

generates a payload of 20 bytes. The total packet size comprises an IP header (20 bytes), a UDP header (8 bytes), and an RTP header

(12 bytes) combined with a payload of 20 bytes. It is evident that the size of the header is twice the size of the payload. When

generating packets every 20 milliseconds on a slow link, the header consumes a large portion of the bandwidth.

To avoid the unnecessary consumption of available bandwidth, CRTP is used on a link-by-link basis. This compression scheme

reduces the IP/UDP/RTP header to 2 bytes most of the time when no UDP checksums are being sent, or 4 bytes when UDP

checksums are used.

In TCP header compression, the first factor-of-two reduction in data rate comes from the fact that half of the bytes in the IP

and TCP headers remain constant over the life of the connection.

For RTP header compression, some of the same techniques may be applied. However, the big gain comes from the fact that

although several fields change in every packet, the difference from packet to packet is often constant and, therefore, the second-order

difference is zero. By maintaining both the uncompressed header and the first-order differences in the session state shared between

the compressor and the decompressor, all that must be communicated is an indication that the second-order difference was zero. In

that case, the decompressor can reconstruct the original header without any loss of information, simply by adding the first-order

differences to the saved, uncompressed header as each compressed packet is received.

Just as TCP/IP header compression maintains shared state for multiple, simultaneous TCP connections, this IP/UDP/RTP

compression must maintain state for multiple session contexts. A session context is defined by the combination of the IP source

and destination addresses, the UDP source and destination ports, and the RTP synchronization source (SSRC) field. A compressor

implementation might use a hash function on these fields to index a table of stored session contexts. The compressed packet carries

a small integer, called the session context identifier, or CID, to indicate which session context that packet should be interpreted in.

The decompressor can use the CID to index its table of stored session contexts.

CRTP can compress the 40 bytes of header down to 2–4 bytes most of the time. At times, the IP/UDP/RTP header cannot be

compressed, because of a change in a field that is normally constant. For example, if a particular field (such as the payload type

field) changes, then an uncompressed header must be sent.

CRTP should be used on any WAN interface where bandwidth is a concern and there is a high portion of RTP traffic.

The range of port numbers used in Cisco’s implementation is 16384 plus four times the number of available channels on

the device. (For example, a Cisco 3600 populated with 12 voice channels uses the port range of 16384 to 16432).

CRTP CaveatsCRTP should not be used on any high-speed interfaces; the tradeoffs are unnecessary. While high-speed is a relative term, normally

anything over T1 speed does not need CRTP while in some networks 512 kbps may qualify as high-speed.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 24 of 80

CRTP Syntax

Leased line!interface serial 0

ip address 192.168.121.18 255.255.255.248no ip mroute-cacheip rtp header-compressionencapsulation ppp

!Frame Relay!interface Serial0/0

ip 192.168.120.10 255.255.255.0encapsulation frame-relayno ip route-cacheno ip mroute-cacheframe-relay ip rtp header-compression

!

RSVPRSVP is the first significant industry-standard protocol for dynamically setting up end-to-end QoS across a heterogeneous network.

RSVP runs over IP, both Versions 4 and 6. RSVP provides transparent operation through nodes (routers) that do not support RSVP.

Explained simply, RSVP is the ability for an end station or host to request a certain level or QoS across a network. RSVP carries

the request through the network, visiting each node that the network uses to carry the stream. At each node, RSVP attempts to make

a resource reservation for the data stream.

RSVP is designed to utilize the robustness of current IP routing algorithms. This protocol does not perform its own routing;

instead, it uses underlying routing protocols to determine where it should carry reservation requests. As routing changes paths to

adapt to topology changes, RSVP adapts its reservation to the new paths wherever reservations are in place. This modularity does

not rule out RSVP from using other routing services. Current research within the RSVP project is focusing on designing RSVP to

use routing services that provide both alternate and fixed paths.

RSVP works in conjunction with, not in place of, current queuing mechanisms. RSVP requests the particular QoS, but it is up

to the interface queuing mechanism (Weighted Fair Queuing [WFQ], Weighted Random Early Detection [WRED]) to implement

the reservation.

To make a resource reservation at a node (router), the RSVP daemon communicates with two local decision modules, admission

control and policy control. Admission control determines whether the node has sufficient available resources to supply the requested

QoS; policy control determines whether the user has administrative permission to make the reservation. If either check fails, the

RSVP program returns an error notification to the application process that originated the request. If both checks succeed, the RSVP

daemon sets parameters in a packet classifier and packet scheduler to obtain the desired QoS. The packet classifier determines the

QoS class for each packet, and the scheduler orders packet transmission to achieve the promised QoS for each stream.

Two types of dynamic reservations can be made with RSVP: controlled load and guaranteed services. According to the RSVP

RFC, controlled load is defined as follows:

The end-to-end behavior provided to an application by a series of network elements that provide controlled-load service tightly

approximates the behavior visible to applications that receive best-effort service under unloaded conditions, or conditions not

heavily loaded or congested. It does not mean the absence of all other traffic from the same series of network elements. If the

network functions correctly, these applications may assume that:

• A very high percentage of transmitted packets will be successfully delivered by the network to the receiving end nodes (the

percentage of packets not successfully delivered must closely approximate the basic packet error rate of the transmission medium)

• The transit delay experienced by a very high percentage of the delivered packets will not greatly exceed the minimum transmit

delay experienced by any successfully delivered packet (this minimum transit delay includes speed-of-light delay plus the fixed

processing time in routers and other communications devices along the path)

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 25 of 80

To ensure that these conditions are met, clients who request controlled-load service provide the intermediate network elements with

an estimation of the data traffic they will generate, the TSpec. In return, the service ensures that network element resources adequate

to process traffic falling within this descriptive envelope will be available to the client. If the client’s traffic generation properties fall

outside of the region described by the TSpec parameters, the QoS provided to the client may exhibit characteristics indicative

of overload, including large numbers of delayed or dropped packets. The service definition does not require that the precise

characteristics of this overload behavior match those that would be received by a best-effort data flow traversing the same path

under overloaded conditions.

Guaranteed service is defined as follows:

The end-to-end behavior provided by a series of network elements that conform to this document is an assured level of

bandwidth that, when used by a policed flow, produces a delay-bounded service with no queueing loss for all conforming datagrams

(assuming no failure of network components or changes in routing during the life of the flow).

The end-to-end behavior conforms to the fluid model (described later) in that the delivered queuing delays do not exceed the

fluid delays by more than the specified error limits.

Note: While the per-hop error terms needed to compute the end-to-end delays are exported by the service module (see Exported

Information), the mechanisms needed to collect per-hop bounds and make the end-to-end quantities Ctot and Dtot known to the

applications are not described in this specification. These functions are provided by reservation setup protocols, routing protocols,

or other network management functions, and they are outside the scope of this document.

The maximum end-to-end queueing delay (as characterized by Ctot and Dtot) and bandwidth (characterized by R) provided

along a path are stable; that is, they do not change as long as the end-to-end path does not change.

Guaranteed service does not control the minimal or average delay of datagrams, merely the maximum queueing delay.

Furthermore, to compute the maximum delay that a datagram will experience, the latency of the path must be determined and

added to the guaranteed queueing delay. (However, a conservative bound of the latency can be computed by observing the delay

experienced by any one packet.)

This service is subject to admission control.

In other words, you may in either service request a certain bit rate to be allocated to you. WFQ or WRED, with preferential

weights, will be used to assure you bounded latency. The latency bound is not specified, however; the controlled-load service merely

promises “good service,” and the guaranteed service gives you information from which you may calculate the actual delay bounds.

The reason for this scenario is obvious. The delay bound is not as simple as “19 kbps with 500-ms delay.” If it is 19 kbps out

of an E1, 500 ms is a ridiculously long time—your delay bound will be more on the order of 20 ms or less. If it is out of a 64-kbps

link, you are probably working with a transmission queue of two buffers and given preferential queuing after that, to achieve

a typical delay bound of about 400 ms. Similarly, 19 kbps out of a 19.2-kbps link, would achieve a delay bound on the order of

a second.

RSVP Caveats

While RSVP is an important tool in the arsenal of QoS, this protocol does not solve all the necessary problems related to QoS. RSVP

has several drawbacks: scalability, admission control, and the time it takes to set up end-to-end reservation.

RSVP has yet to be deployed in a large-scale environment. A worst-case scenario for RSVP would be for a backbone router

to have to manage several thousand RSVP reservations and queue each flow according to that reservation.

The unknown scalability issues that surround RSVP will relegate RSVP toward the edges of the network and will force use

of other QoS tools for the backbone network.

Another issue with RSVP is the ability to verify that a user has the proper authorization to request a specific reservation. There

is currently no ability to authorize or authenticate a particular user.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 26 of 80

RSVP works on the total size of the IP packet and does not account for any compression schemes, cyclic redundancy checks

(CRCs), or line encapsulation (Frame Relay, Point-to Point Protocol [PPP], High-Level Data Link Control [HDLC]). For example,

when using RSVP and G.729 for voice over IP, the reservation Cisco IOS software request is 24 kbps, compared to the actual value

of ~11 kbps when using RTP header compression. In other words, on a 56K link, only two 24-kbps reservations will be permitted,

even though there is enough bandwidth for three 11-kbps voice over IP flows.

A workaround can be used as long as the network is properly engineered and there is control over network flows. You

can oversubscribe the available bandwidth of the link to allow RSVP to reserve more bandwidth than is actually available. The

bandwidth statement can be used on a particular interface to allow the reservation to be made. For example, on a 56-kbps link,

the bandwidth statement is used to tell the interface that there is actually 100 kbps of bandwidth. You can then use RSVP to allow

for 75 percent of the available bandwidth to be used for RSVP traffic. This scenario allows RSVP to reserve the necessary bandwidth

for three voice over IP G.729 calls. The inherent danger is evident, because if CRTP is not used, the link is oversubscribed.

The Syntax of RSVP Follows:

ip rsvp bandwidth

To enable RSVP for IP on an interface, use the ip rsvp bandwidth interface configuration command. To disable

RSVP, use the no form of the command.

ip rsvp bandwidth [interface-kbps] [single-flow-kbps]

no ip rsvp bandwidth [interface-kbps] [single-flow-kbps]

interface-kbps—(optional) Amount of bandwidth (in kbps) on interface to be reserved; the range is 1 to 10,000,000

single-flow-kbps—(optional) Amount of bandwidth (in kbps) allocated to a single flow; the range is 1 to 10,000,000

Default—75 percent of bandwidth available on interface if no bandwidth (in kbps) is specified

To display RSVP reservations currently in place, use the SHOW IP RSVP RESERVATION command

show ip rsvp reservation [type number]

type number—(optional) Interface type and number

Traffic ShapingA token bucket is a formal definition of a rate of transfer. It has three components: a burst size, a mean rate, and a time interval.

Although the mean bit rate is generally represented as bits per second, any two may be derived from the third, by the relation:

Mean Bit Rate = Burst Size / Interval

By definition, over any integral multiple of the interval, the bit rate of the interface will not exceed the mean bit rate. The bit rate

may, however, be arbitrarily fast within the interval.

Traffic frequently needs to be modified, not only to meet local interface congestion, but also to meet policy needs and the needs

of remote interfaces. This modification usually comes in the form of meeting a token bucket filter (mean rate, plus an acceptable

traffic burst without rate control, over a period of time). The token bucket may be configured by the user or derived from the

interface.

The simplest case is when policy dictates that the rate of a given interface should not, on the average, exceed some rate, even

though the access rate exceeds the speed. The reason for this policy is almost certainly that a service is being offered at that particular

rate.

A more complicated issue is a link-layer network that gives indications of congestion, has differing access rates on differing

attached data terminal equipment (DTE), and may be able to deliver more transit speed to a given DTE at one time than another.

In this case, it is desired to drive the token bucket, and then maintain its rate.

In either case, it is of critical importance to real-time traffic (voice) that latency is limited, and therefore the amount of traffic

and traffic loss in the data-link network at any given time is sharply limited, keeping the data in the router that is making the

guarantees. The router can now prioritize traffic according to the guarantees that it makes. (See Figure 7.)

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 27 of 80

Traffic Shaping Caveats

Because of the method in which Frame Relay traffic shaping is implemented, it is strongly recommended that you do not use it for

real-time traffic. If Frame Relay traffic shaping is used and the traffic bursts to the excess burst rate, the router must wait for a period

of time before transmitting again. Under certain conditions, this time can be up to 900 ms, an unacceptable amount of time for

real-time traffic.

Figure 7 Traffic Shaping Traffic Flow

Design Considerations

Per-Interface Traffic ShapingPer-Interface traffic shaping is a service that uses a token bucket and a fair queue in the software Interface Description Block (IDB)

(which may relate to either an interface or a subinterface; for an interface that has configured subinterfaces, it is the subinterface

that is in view). The command sets a mean rate for traffic to conform to, which is placed into a token bucket filter in the software

IDB and starts a process. The parameters of this command are as follows:

Check TokenBucket

HardwareTransmission Queue

(FIFO)

Upon TimerExpiration

Upon TransmitCompletion

up to tx-queue-limit messages

Not Full

NotExhausted

Exhausted

Full

Received Messages

Incoming HoldQueue if Configured

Fast or ProcessSwitching Code

Traffic ShapingQueue (Fair)

Sorting Queue(WFQ, CQ, PQ, RED,

or FIFO)

Check HardwareQueue

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 28 of 80

• Mean rate (committed information rate [CIR]), bits per second to sustain

• Sustained burst size (Committed Burst [Bc]), bits per burst

• Excess burst (Be) size, bits of queuing maintained in the pipeline

From these parameters, the measurement interval is calculated, along with a “per-measurement interval increment” and a

“maximum amount in the pipeline” value. Derived from Bc and the CIR, the measurement interval increment represents the amount

of data to be sent in an arbitrary interval. The maximum amount, however, is derived from the CIR, Bc, and Be; it seeks to avoid

scheduling traffic for momentary bursts and to maintain a buffer in the pipeline in order to ensure continuous use.

When traffic is presented to an interface by a driver, the following algorithm is executed:

• If a time-slice boundary has been crossed since the last inspection of the token bucket filter, then we handle traffic already in queue.

– Reduce the filter by the quantum of traffic expected in a time unit. If this reduction would leave the filter negative, set the filter

to zero.

– While there is traffic in the software IDB’s shaping queue and the token bucket filter is smaller than its pipeline maximum, take

traffic out of the traffic shaping queue and pass it to datagram_out(), incrementing the filter by the length of the message.

– If the filter is exhausted and the queue is not empty, then advance the shaping timer by the time interval.

• Compare the filter to the pipeline maximum. If it falls below the upper bound, forward the message in the usual way, increment

the filter by the length of the message, and exit.

• If the filter exceeds the upper bound, queue the data in the software IDB’s fair queue. If the interface’s shaping timer is STOPPED,

then START it with a time period designed to expire at the end of the current interval.

• When the shaping timer expires, this indicates that some traffic was queued and its time has now come. Perform the same function

as done when inquiring data and discover that the time slice has expired:

• Reduce the filter by the quantum of traffic expected in a time unit. If this would leave the filter negative, set the filter to zero.

• While there is traffic in the software IDB’s shaping queue and the token bucket filter is smaller than its upper bound, take traffic

out of the traffic shaping queue and pass it to datagram_out(), incrementing the filter by the length of the message.

If any data is dequeued and forwarded, update the timer by the duration of the measurement interval. This update ensures that

the filter is maintained until fully restored. If no data is forwarded at this time, the timer can be stopped, as this update will have

no effect until more data is in service.

To enable traffic shaping on an interface, use the following syntax:

traffic-shape rate

To enable traffic shaping for outbound traffic on an interface, use the traffic-shape rate interface configuration

command. Use the no form of this command to disable traffic shaping on the interface.

traffic-shape rate bit-rate [burst-size [excess-burst-size]]no traffic-shape rate

Syntax Descriptionbit rate—Bit rate that traffic is shaped to, in bits per second; this is the access bit rate that you contract with your service provider,

or the service level you intend to maintain

burst size—(optional) Sustained number of bits that can be transmitted per interval; on Frame Relay interfaces, this is the committed

burst size contracted with your service provider; the default is the bit rate divided by 8.

excess burst size—(optional) Maximum number of bits that can exceed the burst size in the first interval in a congestion event;

on Frame Relay interfaces, this is the excess burst size contracted with your service provider; the default is equal to the burst size

traffic shape group

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 29 of 80

To enable traffic shaping based on a specific access list for outbound traffic on an interface, use the traffic shape group

interface configuration command. Use the no form of this command to disable traffic shaping on the interface for the

access list.

traffic-shape group access-list bit-rate [burst-size [excess-burst-size]]no traffic-shape group access-list

Example 1

Corporation A wishes to limit the output of its Frame Relay circuit to the CIR of the link in order to prevent any packets from being

flagged discard eligible (DE). The Frame Relay circuit is 56 kbps.

interface serial 0/0encapsulation frame-relaytraffic-shape rate 56000 7000 0

Example 2

Corporation B wishes to shape its outbound traffic into its WAN network so that File Transfer Protocol (FTP) traffic uses only

64000 bps of its 256-kbps circuit.

interface serial 0/0traffic-shape group 101 64000 8000 0!access-list 101 permit tcp any eq ftp any

Custom Queuing

Custom queuing allows the user to specify a percentage of available bandwidth to a particular protocol. Up to 10 output queues

can be defined, as well as one additional queue for system messages (keepalives, and so on). Each queue is served sequentially in a

round-robin fashion, transmitting a percentage of traffic on each queue before moving on to the next queue.

The router determines how many bytes from each queue should be transmitted, based upon the speed of the interface as well

as the configured traffic percentage. Unused bandwidth from queue A can be used by another traffic type until queue A requires its

full percentage.

Custom Queuing Syntax

Interface serial 0ip address 20.0.0.1 255.0.0.0custom-queue-list 1!queue-list 1 protocol ip 1 list 101queue-list 1 default 2queue-list 1 queue 1 byte-count 4000queue-list 1 queue 2 byte-count 2000!access-list 101 permit udp any any range 16380 16480 precedence 5access-list 101 permit tcp any any eq 1720

Priority Queuing

Priority queuing allows the network administrator to configure four traffic priorities (high, normal, medium, and low). Inbound

traffic is assigned to one of the four output queues. Traffic in the high-priority queue is serviced until the queue is empty; then

packets in the next priority queue are transmitted.

This queuing arrangement allows for mission-critical traffic to always be given as much bandwidth as needed, and it starves

other applications to do so.

It is important to understand traffic flows when using this queuing mechanism so that applications are not starved of needed

bandwidth. Priority queuing is best used when the highest-priority traffic consumes the least amount of line bandwidth.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 30 of 80

Priority Queuing Syntax

!interface Serial1/1

ip address 192.168.121.17 255.255.255.248encapsulation pppno ip mroute-cachepriority-group 1clockrate 125000

!access-list 101 permit udp any any range 16384 16484access-list 101 permit tcp any any eq 1720priority-list 1 protocol ip high list 101!end

Weighted Fair Queuing

WFQ ensures that queues do not starve for bandwidth and that traffic gets predictable service. Low-volume traffic streams receive

preferential service, transmitting their entire offered loads in a timely fashion. High-volume traffic streams share the remaining

capacity, obtaining equal or proportional bandwidth.

Fair queuing dynamically identifies data streams and dynamically prioritizes those data streams based upon the amount of

bandwidth that the flow consumes. This setup allows for bandwidth to be shared fairly, without the use of access lists or other

time-consuming administrative tasks. Fair queuing determines a flow by using the source and destination address, protocol type,

socket or port number, and QoS/ToS values.

Fair queuing allows low-bandwidth applications, which make up most of the traffic, to have as much bandwidth as needed,

relegating higher-bandwidth traffic to fairly share the remaining traffic. Fair queuing offers reduced jitter and sharing of the

available bandwidth between all applications.

The weight in Weighted Fair Queuing comes from many sources. IP precedence affects the weight of a particular conversation

as well as the amount of throughput that a particular conversation or flow uses. The weight of a flow is inversely proportional to

the amount of bandwidth it consumes. The higher the precedence bit is set, the smaller the value (weight).

WFQ uses the fast-switching path. It is enabled with the fair-queue command, and is enabled by default on most serial

interfaces configured at E1 speed (2.048 MBps) or less with Cisco IOS Release 11.0 software.

The weighting in WFQ is currently affected by two mechanisms: IP precedence and Frame Relay DE forward explicit

congestion notification (FECN) and backward explicit congestion notification (BECN).

The IP precedence field has values between 0 (the default) and 7. As the precedence value increases, the algorithm allocates

more bandwidth to that conversation, allowing it to transmit more frequently. (See the “IP Precedence” section for more details.)

In a Frame Relay network, the presence of congestion is flagged by the FECN and BECN bits. When congestion is flagged,

the weights used by the algorithm are altered such that the conversation encountering the congestion transmits less frequently.

Multilink Fragmentation and Interleaving (Internet draft)

The theory behind multilink fragmentation and interleaving or Multiclass Multilink PPP (MCML PPP) is that on slow bandwidth

links, there needs to be a method for fragmenting larger packets and then queuing the smaller packets between the fragments of the

large packet. This scenario is accomplished using some of the features of Multilink PPP (MP) and tweaking them slightly to allow

for interleaving to occur.

The basic problem to solve is that a large MTU packet (1500 bytes) takes 215 ms to traverse a 56-kbps line. With real-time

packets, especially voice, the complete end-to-end delay target of 150 to 200 ms has already been surpassed.

MCML PPP builds upon the ability of Multilink PPP (MP) to fragment packets. MCML offers 4 or 16 levels of suspension

(“queuing”), while MP offers only one level. MCML does not require both ends of a link to support MCML PPP.

MCML Caveats

MCML can be used only on interfaces that can run PPP, immediately ruling out a large portion of WAN networks (Frame Relay,

and so on).

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 31 of 80

MCML specifies only the fragmentation method and suspension levels; it does not specify the queuing technique needed to

prioritize the fragments.

MCML PPP Syntax

MP and interleaving can be used only on a dialer interface. Therefore, on a leased-line interface, a virtual template must be used.

!multilink virtual-template 1!interface Serial0/0

no ip addressencapsulation pppno ip mroute-cacheno fair-queueppp multilink

!interface Ethernet0/1

ip address 10.1.1.1 255.255.255.0!interface Virtual-Template1

ip address 192.168.121.18 255.255.255.248no ip mroute-cacheppp multilinkppp multilink fragment-delay 20ppp multilink interleave

!!

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 32 of 80

RTP Header Compression with MCML PPP and IP RTP Reserve

interface Loopback0ip address 192.168.121.74 255.255.255.248

!interface Ethernet0/0

no ip addressshutdown

!interface Serial0/0

no ip addressencapsulation pppbandwidth 56no fair-queueclockrate 56000ppp multilink

!interface Virtual-Template 1

ip unnumbered Loopback0ip rtp header-compressionip rtp reserve 16384 20 64no ip mroute-cachebandwidth 56fair-queue 64 256 10ppp multilinkppp multilink fragment-delay 50ppp multilink interleave

Policy-Based Routing

Policy-based routing allows the administrator to configure a defined policy for traffic flows and not rely completely on routing

protocols to determine traffic forwarding and routing. Policy routing also allows the IP precedence field to be set, giving the network

the ability to enable different classes of service.

Policies can be based upon IP address, port numbers, protocols, or size of packets. One of these descriptors can be used to make

a policy, or all of them can be used to create a complicated policy.

All packets received on an interface with policy-based routing enabled are passed through enhanced packet filters known as

route maps. The route maps dictate the policy as to where the packets are forwarded.

The route map statements can also be marked as permit or deny. If the statement is marked as a deny, the packets meeting the

match criteria are sent back through the normal forwarding channels (in other words, destination-based routing is performed). Only

if the statement is marked as permit and the packets meet the match criteria are all the set clauses applied. If the statement is marked

as permit and the packets do not meet the match criteria, then those packets are also forwarded through the normal routing channel.

Note: Policy routing is specified on the interface that receives the packets, not on the interface from which the packets are sent.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 33 of 80

The IP standard or extended access control lists (ACLs) can be used to establish the match criteria. The standard IP access lists

can be used to specify the match criteria for source address; extended access lists can be used to specify the match criteria based on

application, protocol type, ToS, and precedence.

The match clause feature has been extended to include matching packet length between specified minimum and maximum

values. The network administrator can then use the match length as the criterion that distinguishes between interactive and bulk

traffic (bulk traffic usually has larger packet sizes).

The policy routing process proceeds through the route map until a match is found. If no match is found in the route map, or

the route map entry is made a deny instead of a permit, then normal destination-based routing of the traffic ensues.

Note: As always, there is an implicit deny statement at the end of the list of match statements.

High-Speed ConnectionsLow utilization links may be better off not using a queuing technique. With high-speed or highly utilized links, it is best to test both

and determine which allows for the most consistent amount of QoS.

IP Precedence—Class of ServiceIP precedence is an edge function that allows backbone QoS tools (Random Early Detection [RED], WRED) to forward traffic based

upon classes of service. The network operator may define up to six classes of service and then utilize policy maps and extended

ACLs to define network policies in terms of congestion handling and bandwidth allocation for each class. The IP precedence feature

utilizes the three precedence bits in the ToS field in the IP header to specify CoS assignment for each packet. The IP precedence

feature provides considerable flexibility for precedence assignment, including customer assignment (for example, by application or

access router) and network assignment based on IP or Media Access Control (MAC) address, physical port, or application.

The available IP precedence settings in the ToS field include:

routine Set routine precedence (0)priority Set priority precedence (1)immediate Set immediate precedence (2)flash Set Flash precedence (3)flash-override Set Flash override precedence (4)critical Set critical precedence (5)internet Set internetwork control precedence (6)network Set network control precedence (7)

IP precedence bits settings 6 and 7 are reserved for network control information (routing updates, and so on). All packets are

normally classified as 0.

The IP precedence feature enables the network to act either in passive mode (accepting precedence assigned by the customer)

or in active mode (utilizing defined policies to either set or override the precedence assignment). IP precedence can be mapped into

adjacent technologies (for example, Tag Switching, Frame Relay, or ATM) to deliver end-to-end QoS policies in a heterogeneous

network environment. Thus, IP precedence enables service classes to be established, with no changes to existing applications and

no complicated network signaling requirements.

IP precedence is not a queuing method, but it allows other queuing methods (WFQ, WRED) the ability to prioritize, based

upon the IP precedence of the packet.

IP Precedence CaveatsCisco IOS software acts in passive mode by default. In this mode, there is no admission control, and any application that has IP

precedence available as an option can get a higher CoS. The IP precedence bit can be overwritten by the router through route maps

and access lists.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 34 of 80

IP Precedence SyntaxWhen using voice over IP the router can set the IP precedence bit based upon the setting for the voice over IP dial peer.

dial-peer voice 8 voipdestination-pattern +8ip precedence 5session target ipv4:192.168.121.9

To configure the router to reset the IP precedence (which is a good idea on the edge of the network) bit, several steps need to be

taken. In this configuration, the IP precedence for the voice over IP call was set to four. Access list 105 was created to not reset any

voice over IP packets that had the following UDP and TCP port numbers, but to change precedence of all other packets’ precedence.

dial-peer voice 5000 voipdestination-pattern +14085265…ip precedence 4session target ipv4:192.168.121.21

!interface Serial0/0

ip address 192.168.121.18 255.255.255.248encapsulation pppno ip mroute-cacheip policy route-map reset-precedencepriority-group 1

!!access-list 105 deny udp any any range 16384 16484access-list 105 deny tcp any any eq 1720access-list 105 permit ip any anyroute-map reset-precedence permit 10

match ip address 105set ip precedence routine

Backbone:

RED—Congestion Avoidance—

Random Early Detection (RED) is a congestion avoidance algorithm that works on the principle that some types of traffic are

sensitive to packet loss and will throttle back traffic when a packet loss is detected. RED uses packet loss as a method for notifying

transmitting hosts to slow down. RED was developed in the early 1980s.

RED works well in environments that have a high percentage of traffic that is robust to packet loss (TCP). If a significant

percentage of traffic is not robust in the face of loss (for example, Novell Netware or AppleTalk), then an algorithm that attempts

to manage congestion by dropping traffic is likely to have serious side effects. Also, traffic that is meant to be sent only once

(real-time traffic) such as voice reacts poorly to packet loss. The administrative overhead of RED is quite low, so it works well

on high-speed interfaces up to OC-3.

To fully understand how RED works, performance of the most common robust protocol (TCP) under packet loss conditions

must be understood.

When TCP receivers receive a data segment, it is either the next one they expect to receive (its octet sequence number is the one

they are interested in) or it is not. If it is the next one, they deliver all the data to the application that they can, update the next

expected sequence number, and either immediately send an acknowledgment (ACK) (saying that they have received everything up

to but not including that sequence number) or they schedule one to be sent after a small delay. Typically, they try to send an ACK

for every other segment sent. The reason for this is simple: in many applications, there is some response that goes back that the ACK

can be piggybacked on, and this delay lets them catch the piggyback. But when they get something out of order, they generally

immediately ACK everything that they can. The idea is to make sure that, if something got lost, the first retransmission fills the hole.

When TCP senders receive the ACK, they first check to see if there is any data outstanding. If not, it’s a keepalive. If there is

data, it either acknowledges some or none of that data. If it acknowledges some, the sender now checks to see if new credit has been

granted, allowing the sender to send more. If it acknowledges none, however, and there is data outstanding, then there is only one

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 35 of 80

possible explanation—it is a repeated acknowledgment. Now, why would a sender repeat an acknowledgment? Most likely because

it has received some data out of order (forcing the first ACK) and then received a second segment out of order (forcing the second

ACK). Now, why would it get two segments out of order? Probably because one got dropped.

When a TCP sender detects a dropped segment, either because of the heuristic just described or because of a transmission

timeout, it (a) sends the first segment on its awaiting-acknowledge list (to restart the flow of data), and (b) enters a slow-start phase.

It tests the network to find a rate that it can send at without dropping data.

In a network that does not utilize RED, the buffers fill up and packets are tail-dropped, causing multiple TCP sessions to all

restart their slow-start mechanism. This scenario eventually causes the network traffic to come in surges as TCP window sizes are

increased.

The router can use RED to manage the TCP slow-start mechanism to throttle back an individual TCP flow, measure the effect,

and then drop packets from more TCP flows, if necessary.

RED divides the queue into two parts, the part considered “normal operation,” from which no data is ever intentionally

dropped, and the part that is there to handle overflows when TCP sessions that ramp up add their amplitudes. These overflows are

correlated directly with the depths of the transmit and hold queues. RED also measures the average queue depth—when the average

queue depth is in the low range, the upper range is used as a temporary buffer, but when the average queue depth is in the upper

range, data drops should begin. Not everything is dropped, but dropping begins at some rate.

The drop rate should be a stochastic function of the time since the last drop (the longer it has been, the higher the probability

that this message is discarded) and of the mean queue depth. If traffic levels surge, one packet is dropped and an amount of time is

allowed to pass in case the surge was temporary. If traffic levels increase further packets are dropped relative to the increasing traffic

load.

Further, the interdrop interval should be long enough that a frame isn’t dropped until the TCP sender has had a chance to detect

the loss and go into slow start; after that, dropping can continue. Of course, if traffic is randomly selected and the first TCP sender

has a relatively low traffic density, some other session would be selectively hit most of the time.

RED maintains an exponentially weighted moving average of the queue depth. It also has a table of thresholds for this moving

average, distributed at points between half the depth of the combined hold queue and tx-queue-limit and the full depth. When

a packet is presented for queuing to the hold queue, RED determines the precedence of the packet (IP precedence is 0.7, and

RSVP-interest is signaled as precedence level 8). If the mean queue depth exceeds the indicated threshold, a probability function

is called to get a random number. With that probability, the packet is discarded; failing that, it is queued. There is a single first-in,

first-out (FIFO) queue—this is not a priority queuing system—but under normal circumstances, lower-precedence traffic is dropped

in preference to higher-precedence traffic.

A packet is intentionally dropped when:

• The mean queue depth exceeds the trigger

The mean queue depth exceeds the trigger average when:

• A message has not been dropped for some amount of time

• The mean queue depth is in the process of increasing

• The newly calculated value of the mean queue depth exceeds the old trigger average

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 36 of 80

This scenario takes a long time to occur if the queue is shallow, and not very long at all if the queue is deep. The amount of time

(actually, packet count) is dependent on the difference between the mean queue depth and the maximum queue depth. Thus, the

mean queue depth and the number of packets since the last drop both play into the system.

To enable RED, use the following command:

random-detect [weighting]no random-detect

weighting—(optional) Exponential weighting constant in the range 1 to 16 used to determine the rate that packets are dropped

when congestion occurs; the default is 10 (that is, drop 1 packet every 210).

RED is useful in high-speed TCP/IP networks to avoid congestion by dropping packets at a controlled rate.

Cisco recommends using the default value for the exponential weighting constant; however, you may need to change this

value, depending on your operational environment. For example, a value of 10 (the default), which might achieve a loss rate of

10-4, is recommended for high-speed links such as DS3 and OC-3, whereas a value of 7, which might achieve a loss rate of 10-3,

is recommended for T1 links.

RED is a type of FIFO queuing, and it cannot be configured on an interface already configured with custom, priority, or fair

queuing.

WRED—Allows RED to be used based upon weights set in the ToS field in the IP header, using IP precedence before entering

backbone. WRED is used on the backbone to more aggressively throttle back traffic that is not time or delay sensitive (lower

priority).

Note: 11.1CC QoS features (committed access rate [CAR], Distributed WRED [DWRED], Distributed WFQ [DWFQ] are

scheduled to be merged with 11.2/3 QoS features in 12.0.

Frame Relay QoS

There are a few basic methods of prioritizing and ensuring that voice traffic receives the necessary quality on a Frame Relay circuit.

This section discusses those methods and the caveats of using each solution. The solutions range from MTU sizing, RTP header

compression, separate data-link connection identifiers (DLCIs) for voice and data, setting available bandwidth to the CIR, and using

generic traffic shaping. To find out which tools will be most successful in your Frame Relay network, you must test to determine

the characteristics of your Frame Relay network.

On low-bandwidth Frame Relay links, it is necessary to fragment larger packets to avoid the delay inherent with large-byte

packets. Without a tool to fragment on a link-by-link basis similar to MCML PPP, it is necessary to set the MTU size on the interface

to match the available bandwidth and the total delay budget. This setup solves the large packet issue by fragmenting every packet

above the configured MTU size to the “new” MTU size for the interface.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 37 of 80

Using MTU sizing causes several problems. Fragmenting a packet to 300 bytes causes the packet to be process switched.

Fragmented packets are now at the “new” MTU size for their entire journey. Of course, smaller packet sizes will also affect

performance throughout the entire network. Also, if any packets have the do-not-fragment bit set, then those packets will be

dropped.

Until FRF.12 is supported in Cisco IOS software (VoFR Frame Relay fragmentation), MTU sizing should be used on any

low-bandwidth Frame Relay link.

A general rule of thumb for setting the MTU size is to start with 100-byte MTUs for 64-kbps interfaces and move to 200-byte

MTUs for 128 kbps, 400-byte MTUs for 256 kbps, and 800 for 512. When the bandwidth exceeds 1 Mbps, there is no need to

change the MTU size. As a general rule, whenever possible the entire delay budget should be accounted for to determine how much

time can be spent at each interface.

As with a leased line running PPP, Compressed Real-Time Transfer Protocol should be used on any low-bandwidth link.

Testing has shown that the best method for ensuring voice quality over Frame Relay is to utilize two DLCIs. For this example,

one DLCI is the data DLCI and the second DLCI is the voice DLCI and all voice traffic is forced to use one DLCI while all other

traffic is allowed to use the data DLCI (see Figure 8).

Figure 8 Frame Relay Voice/Data Using Two DLCIs with Generic Traffic Shaping

In this example, two subinterfaces are utilized and all data traffic is sent down interface serial 0.1 (data DLCI). The data DLCI

is not limited to the CIR, and it can use the “burst” rate of Frame Relay whenever needed. MTU sizing should be used on the data

DLCI because there is only one physical connection to the Frame Relay circuit. With only one physical interface, a large packet

would create unwanted delay in the transmission of voice traffic through the voice DLCI.

Subinterface serial 0.2 is configured to limit the bandwidth to the available CIR. Since there will be no large packets routed

to the voice DLCI, MTU sizing is not necessary.

Generic traffic shaping is used on both the voice DLCI and the data DLCI, allowing the router to throttle back traffic when it

is notified of congestion in the Frame Relay network (BECN). This setup also allows the network administrator to set the amount

of traffic to be forwarded, and in what time period.

Note: Frame Relay traffic shaping and RSVP are currently not compatible.

So. 1

V VFrameCloud

So. 1

So. 1So. 1VO.p7 VO.p8

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 38 of 80

Dual DLCI Caveats

As with any network topology, there are certain drawbacks. Most involve the administrative overhead necessary to implement the

doubling of DLCIs necessary in the Frame Relay network. Additional administrative overhead is also associated with doubling the

amount of IP routes, as well as using a more complex configuration. Not to be overlooked is the additional cost involved with using

four DLCIs for each remote site.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 39 of 80

Frame Relay Voice/Data Using Two DLCIs with Generic Traffic Shaping CLI

voip 7interface Serial0/0

mtu 300no ip addressip rsvp bandwidth 1158 1158encapsulation frame-relayno ip route-cacheno ip mroute-cacheload-interval 30fair-queue 64 256 1000frame-relay traffic-shapingframe-relay lmi-type ansiframe-relay ip rtp header-compression

!interface Serial0/0.1 point-to-point

mtu 300ip address 40.0.0.7 255.0.0.0ip rsvp bandwidth 48 48no ip route-cacheno ip mroute-cachebandwidth 64traffic-shape rate 32000 4000 4000traffic-shape adaptive 16000traffic-shape fecn-adaptframe-relay interface-dlci 200frame-relay ip rtp header-compression

!interface Serial0/0.2 point-to-point

mtu 300ip address 50.0.0.7 255.0.0.0no ip route-cacheno ip mroute-cachebandwidth 64traffic-shape rate 32000 4000 4000traffic-shape adaptive 16000traffic-shape fecn-adaptframe-relay interface-dlci 201

!voip 8interface Serial1/0

mtu 300no ip addressip rsvp bandwidth 1158 1158encapsulation frame-relayno ip route-cacheno ip mroute-cacheload-interval 30fair-queue 64 256 1000frame-relay lmi-type ansiframe-relay ip tcp header-compressionframe-relay ip rtp header-compression

!interface Serial1/0.1 point-to-point

mtu 300

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 40 of 80

ip address 40.0.0.8 255.0.0.0ip rsvp bandwidth 48 48no ip route-cacheno ip mroute-cachebandwidth 64traffic-shape rate 32000 4000 4000traffic-shape adaptive 16000traffic-shape fecn-adaptframe-relay interface-dlci 200frame-relay ip rtp header-compression

!interface Serial1/0.1 point-to-point

mtu 300ip address 50.0.0.8 255.0.0.0no ip route-cacheno ip mroute-cachebandwidth 64traffic-shape rate 32000 4000 4000traffic-shape adaptive 16000traffic-shape fecn-adaptframe-relay interface-dlci 201

!

Note: Users need to add policy based routing or static routes to forward x traffic over x interface.

Now that most of the Cisco IOS QoS tools that are available have been explained, it is time to understand where these tools

can be used and in what type of network. Generally speaking, tools under the edge section should be used on lower-bandwidth links

where queuing and compression can make the greatest difference. Tools under the backbone section should be used as you approach

the center of the network. The main goal in a backbone network should not be to classify, or impose security lists, but to switch

or route packets as fast as possible to the end destination. However, in some backbone networks it is necessary to use congestion

management tools such as WRED to control traffic flows and spikes.

Voice over IP—Design

When designing a voice over IP network, the latency and delay must be tightly controlled. To achieve an acceptable voice quality,

it is end-to-end delay that must stay under 200 milliseconds. This delay is based upon packet-by-packet delay and not an average

delay.

If voice over IP is run between two Cisco 3600s on an uncongested link, the delay would be in the 50- to 60-millisecond range.

Using the goal of an end-to end delay of 150 to 200 ms and the delay inherent with two voice over IP routers (60 ms), it would then

take 90 to 150ms to transmit the packet from the beginning to the end destination. See the chart at the end of this design guide for

a specific breakdown in the delay budget.

When deciding upon a design, one of the first elements that is crucial to the design is what CODEC you want to use. Those

who choose to deploy a voice over IP network will most likely do so to take advantage of the silence suppression (VAD) as well

as the compression (G.729). However, some corporations want to offer premium service, and G.711 (64 kbps) is more attractive.

Some of the variables of choosing a CODEC can include MOS scores, tandem encodings, available bandwidth, cost savings,

and users of voice over IP. These variables need to be considered before choosing a specific CODEC.

It is very important to understand where the customer’s network stands today and where the customer wants to be when the

data/voice networks have converged. The following questions need to be answered before a proposed solution can be discussed and

proposed.

1. What is the total expenditure on voice networks and capital equipment?

2. What is the primary application for voice over IP (toll bypass, Greenfield Carrier)?

3. How many remote sites does your company have?

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 41 of 80

4. How many people are at each remote site?

5. What is the average phone usage in minutes per user per site?

6. What percentage of calls are to interoffice locations?

7. What is the average cost per minute per location?

8. What is the customer’s expectation of quality (cellular, toll)?

9. What is the total number of long-distance minutes between sites?

10. What is the percentage of traffic expected to be voice/fax?

11. Can the existing IP infrastructure support the necessary QoS for voice?

Case Study

Acme Corporation has been discussing the cost benefits of integrating its data and voice networks. Acme has completed the cost

analysis and determined that voice over IP offers the flexibility and cost savings that the company needs. This case study discusses

Acme’s current status of its separate voice and data networks, the decision process for choosing voice over IP, and the planned

implementation phases.

Acme Corporation’s headquarters is located in Austin, Texas. Acme has several remote sales and development offices across

the United States, as well as in Tokyo and London. Acme’s two largest offices are located in London and Tokyo. The remaining

offices in the U.S. concentrate mainly on sales. Two of Acme’s main goals were to cut costs while preparing to deploy a more

cost-effective voice network and increase bandwidth between sites.

Acme has two intercontinental T1 circuits connected to both London and Tokyo. Multiplexers are used on these circuits to

separate 12 channels of each T1 to voice and 12 channels of each T1 to data. The U.S. sites are running across a Frame Relay

network (see Figure 9). In Atlanta is a small sales office with two to five people using the office at any given time. Raleigh and

San Diego have slightly larger regional offices with both sales people and development. Atlanta has a CIR of 0 and can burst up

to 56K. Raleigh and San Diego both have 64K CIR and are able to burst up to 128K.

Figure 9 Acme Voice and Data Network

London

Atlanta

Austin

T1-A

T1-B

Raleigh

San Diego

Tokyo

128

12ch

12ch

12ch

12ch

12ch

12ch

128

56k

FrameRelay

PBX/PABX

Multiplexer Multiplexer

Multiplexer Multiplexer

PBX-PABX

PBX/PABX

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 42 of 80

The IS department conducted a study and determined that both data and voice bandwidth needs were growing. The IS

department decided to research methods for compressing voice and taking advantage of unused time-division multiplexing (TDM)

bandwidth currently utilized by the multiplexing configuration.

The IS department also conducted a study to determine calling patterns. They found that most long-distance calls from all sites

are clustered around the various regions in which the corporation has branches.

After conducting tests of various solutions available and testing solutions on their own network, Acme decided to use Cisco’s

voice over IP solution. This decision was based upon the following criteria:

• Simplify installation and setup (familiarity with Cisco IOS CLI, multiplexer configuration, multiple points of failure)

• Hardware needs (no need for multiplexers)

• No need to raise bandwidth between main office and intercontinental links (voice is compressed, and data may use channels

formerly allocated only to voice; voice calls on intercontinental link can scale to more than 12 channels without the need for

additional T1 circuits)

• Voice activity detection (silence suppression) allows voice to be transmitted only when speech is present

• Acme decided to implement ISDN backup to all branches within the United States

• The central branch can scale up to 60 channels on one device (AS5300)

• Take advantage of remote branches and calling patterns to allow toll bypass to central site and all remote sites

Acme has determined, based upon call analysis, that the return on investment from this project will come mainly from savings based

upon better bandwidth utilization from the intercontinental links and toll bypass to the remote branches.

The new network design, which integrates the voice and data networks, will be much easier to maintain and scale to new

branch offices when the need occurs. ACME will replace all the remote branch routers with Cisco 3640 branch office routers. In

Austin, the WAN aggregation router will remain (Cisco 4700) and an AS5300 will be placed on the Ethernet backbone to connect

to the PBX.

One of the main draws of this network design is to offer all the remote branches the ability to make a local call at each of the

other remote sites.

The first phase entails setting up an AS5300 at the central site (Austin) and setting up Atlanta with four phones (FXS) and four

PSTN lines (FXO) to allow for off-premise dialing. At this time, all the Frame Relay circuits will have a second DLCI added to

prioritize voice traffic.

London will receive a Cisco 3640 that will allow for 12 analog E&M channels to connect for branch-to-branch communication

as well as toll bypass. Multiplexers used in London and Austin for the T1-B circuit will be removed.

In the second phase, the remaining branch offices (Tokyo, Raleigh, and San Diego) will have their respective routers replaced

with Cisco 3640s. Tokyo receives the same equipment as London.

Raleigh and Atlanta have been using Centrex systems. These systems are disconnected and a small PBX (capacity 60 users)

is installed. Eight E&M analog trunk lines are installed between the Cisco 3640 and the new PBX in both Raleigh and San Diego.

• Austin—60 voice channels (AS5300)

• Tokyo—12 voice channels E&M (C3640)

• London—12 voice channels E&M (C3640)

• Atlanta— 8 voice channels E&M (C3640)

• Raleigh—8 voice channels E&M (C3640)

• San Diego—8 voice channels—4 FXS, 4 FXO (C3640)

In the third phase of this data/voice integration, Acme will begin to look at other ways to utilize the H.323 functionality of this

product. It is going to look into next-generation call centers, as well as the use of applications such as Netmeeting at the home office

to act as a PBX extension.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 43 of 80

Note: Acme is also looking into expanding the channel capacity between Austin and Tokyo/London. When the need for more

capacity is apparent, the Cisco 3640s currently in use in Tokyo/London will be transferred to other remote offices (New York,

Seattle).

Figure 10 Acme Voice/Data Network Integrated

Figure 10 shows that the Acme voice/data integration has reduced the complexity of the voice and data networks and increased

the efficiency of those networks. Acme has had to increase the bandwidth on its data links to several of its remote offices, however,

to compensate for the increased voice bandwidth.

Acme realized that it was trading cost savings for voice quality. Acme realized that they could get near toll quality for a large

cost savings. This trade-off was something the company was willing to do. Acme also realized that it needed to re-examine its

network as a whole and verify that it had the infrastructure to support real-time applications on its IP backbone. Acme determined

that since the upgrade had occurred recently, additional bandwidth was designed into its backbone.

Since Acme had tested the solution and was upgrading the network where necessary, it was confident that the network would

work as necessary.

At the central site, the connection between the WAN aggregation router (Cisco 4700) and the Cisco 5300 will be across a

Fast Ethernet switch (Catalyst® 5000).

If Acme had less than a direct connection between the Cisco 4700 and Cisco 5300, it would be advisable to use a congestion

management tool such as RED or WRED as soon as that becomes widely available.

For the WAN portion of its network Acme plans to utilize several different QoS tools. For all its WAN links, Acme plans to

use Compressed Real-Time Transfer Protocol (CRTP) to keep the RTP header from using unnecessary bandwidth. IP precedence

will also be set by the router on all voice packets to precedence level 5 (critical).

Remote branches using Frame Relay will utilize two DLCIs to prioritize voice and data. The MTU size will be adjusted to reflect

the available delay budget and speed of the circuit (that is setting the MTU to 300 kb on a 56K link would cause the maximum

latency between packet transmission to be about 36 ms). The voice DLCI will be provisioned to allow the CIR to cover all needed

bandwidth, while the data DLCI will be provisioned to allow bursts (Be) when necessary. Static routes will be utilized to send all

traffic destined to a router through the voice DLCI and all traffic destined to a network to the data DLCI. While this scenario does

not allow for the granular approach that policy-based routing allows, it is an effective way to segment traffic.

London

Tokyo

Atlanta

Raleigh

San Diego

256k

256k

128k

FrameRelay

PBX/PABX

PBX/PABX

PBX/PABXEt

hern

et

Austin

PRI

T1-B

T1-A

V

V

V

V

V

V

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 44 of 80

Note: Until Cisco IOS software allows for a configurable source IP address for null traffic, policy-based routing will run into

problems when used with subinterfaces.

On the links running PPP (Tokyo and London), RTP header compression will be used to compress the voice packet headers.

WFQ will be used in conjunction with RSVP to prioritize voice flows across these higher-speed links. More bandwidth will be

allocated for RSVP than will be necessary for voice to allow for other applications to use RSVP when needed (that is, video streams,

application sharing, and so on).

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 45 of 80

Configuration Information for Acme Corporation

Austin C5300 Voice over IP Gateway Configuration

Current configuration:

!version 11.3no service password-encryption!hostname 5300_Gateway!enable secret cisco!ip subnet-zeroisdn switch-type primary-5ess!!controller T1 0

framing esfclock source internallinecode b8zspri-group timeslots 1-24

!controller T1 1

framing esfclock source internallinecode b8zspri-group timeslots 1-24

!controller T1 2

framing esfclock source line primarylinecode b8zspri-group timeslots 1-24

!controller T1 3

framing esfclock source internallinecode b8zs

!dial-peer voice 2 voip

destination-pattern +2.......req-qos controlled-loadfax-rate 9600ip precedence 5session target ipv4:192.168.121.74

!dial-peer voice 3 voip

destination-pattern +3.......req-qos controlled-loadfax-rate 9600ip precedence 5session target ipv4:192.168.121.66

!dial-peer voice 4 voip

destination-pattern +4.......fax-rate 9600ip precedence 5session target ipv4:192.168.121.19

!

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 46 of 80

dial-peer voice 5 voipdestination-pattern +5.......fax-rate 9600ip precedence 5session target ipv4:192.168.121.18

!dial-peer voice 6 voip

destination-pattern +6.......fax-rate 9600ip precedence 5session target ipv4:192.168.121.20

!dial-peer voice 2000 voip

destination-pattern +12089882...req-qos controlled-loadfax-rate 9600ip precedence 5session target ipv4:192.168.121.74

!dial-peer voice 3000 voip

destination-pattern +13089883...req-qos controlled-loadfax-rate 9600ip precedence 5session target ipv4:192.168.121.66

!dial-peer voice 4000 voip

destination-pattern +14089884...fax-rate 9600ip precedence 5session target ipv4:192.168.121.19

!dial-peer voice 5000 voip

destination-pattern +15089885...fax-rate 9600ip precedence 5session target ipv4:192.168.121.18

!dial-peer voice 6000 voip

destination-pattern +16089886...fax-rate 9600ip precedence 5session target ipv4:192.168.121.20

!dial-peer voice 9 pots

destination-pattern +9.......direct-inward-dialport 0:D

!dial-peer voice 99 pots

destination-pattern +1808988....direct-inward-dialport 1:Dprefix 18089888

!dial-peer voice 999 pots

destination-pattern +18089888...direct-inward-dialport 2:Dprefix 18089888

!num-exp 82... 12089882...num-exp 83... 13089883...

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 47 of 80

num-exp 84... 14089884...num-exp 85... 15089885...num-exp 86... 16089886...num-exp 88... 18089888...!voice-port 0:D!voice-port 1:D!voice-port 2:D!interface Ethernet0

ip address 192.168.121.4 255.255.255.248!interface Serial0:23

no ip addressno ip mroute-cacheisdn incoming-voice modemno cdp enable

!interface Serial1:23

no ip addressno ip mroute-cacheisdn incoming-voice modemno cdp enable

!interface Serial2:23

no ip addressno ip mroute-cacheisdn incoming-voice modemno cdp enable

!interface FastEthernet0

no ip addressshutdownduplex full

!router eigrp 1

network 192.168.121.0redistribute connected

!no ip classlesssnmp-server community public RO!line con 0line aux 0line vty 0 4

password ciscologin

!scheduler interval 1000end

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 48 of 80

Austin 4700 WAN Aggregation Router

Current configuration:

!version 11.3no service password-encryption!hostname Austin_4700_WAN!enable secret ciscoenable password test!ip subnet-zero!!interface Ethernet0

ip address 192.168.121.5 255.255.255.248no mop enabled

!interface Ethernet1

no ip addressshutdown

!interface Ethernet2

no ip addressshutdown

!interface Ethernet3

no ip addressshutdown

!interface Ethernet4

no ip addressshutdown

!interface Ethernet5

no ip addressshutdown

!interface Serial0

ip address 192.168.121.73 255.255.255.248ip rtp header-compressionip rsvp bandwidth 1158 1158encapsulation pppno ip mroute-cachefair-queue 64 256 1000

!interface Serial1

ip address 192.168.121.65 255.255.255.248ip rtp header-compression

ip rsvp bandwidth 1158 1158encapsulation pppno ip mroute-cachefair-queue 64 256 1000

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 49 of 80

!interface Serial2

no ip addressshutdown

!interface Serial3

mtu 300no ip addressencapsulation frame-relay

!interface Serial3.100 multipoint

mtu 300ip address 192.168.121.17 255.255.255.240frame-relay map ip 192.168.121.18 20 broadcast CISCO rtp header-compression activeframe-relay map ip 192.168.121.19 30 broadcast CISCO rtp header-compression activeframe-relay map ip 192.168.121.20 40 broadcast CISCO rtp header-compression active

!interface Serial3.101 multipoint

mtu 300ip address 192.168.121.40 255.255.255.240frame-relay map ip 192.168.121.33 25 broadcast CISCO rtp header-compression activeframe-relay map ip 192.168.121.34 35 broadcast CISCO rtp header-compression activeframe-relay map ip 192.168.121.35 45 broadcast CISCO rtp header-compression active

!router eigrp 1

network 192.168.121.0!no ip classlessip route 192.168.121.18 255.255.255.255 Serial3.100ip route 192.168.121.19 255.255.255.255 Serial3.100ip route 192.168.121.20 255.255.255.255 Serial3.100ip route 192.168.121.80 255.255.255.248 192.168.121.35ip route 192.168.121.88 255.255.255.248 192.168.121.33ip route 192.168.121.96 255.255.255.248 192.168.121.34!!line con 0line aux 0line vty 0 4

password ciscologin

!end

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 50 of 80

San Diego Router (Frame Relay, 2 DLCIs)

Current configuration:

version 11.3no service password-encryption!hostname SanDiego_Router!enable secret cisco!ip subnet-zeroip domain-name Acme.comip name-server 192.168.6.1ip name-server 192.168.6.2!dial-peer voice 6000 pots

destination-pattern +16089886000port 1/0/0

!dial-peer voice 6001 pots

destination-pattern +16089886001port 1/0/1

!dial-peer voice 6002 pots

destination-pattern +16089886002port 1/1/0

!dial-peer voice 6003 pots

destination-pattern +16089886003port 1/1/1

!dial-peer voice 6 pots

destination-pattern +6port 2/0/0

!dial-peer voice 66 pots

destination-pattern +6port 2/0/1

!dial-peer voice 666 pots

destination-pattern +6port 2/1/0

!dial-peer voice 6666 pots

destination-pattern +6port 2/1/1

!dial-peer voice 2 voip

destination-pattern +2fax-rate 9600ip precedence 5session target ipv4:192.168.121.74

!dial-peer voice 3 voip

destination-pattern +3fax-rate 9600ip precedence 5session target ipv4:192.168.121.66

!

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 51 of 80

dial-peer voice 4 voipdestination-pattern +4fax-rate 9600ip precedence 5session target ipv4:192.168.121.19

!dial-peer voice 5 voip

destination-pattern +5fax-rate 9600ip precedence 5session target ipv4:192.168.121.18

!dial-peer voice 9 voip

destination-pattern +9fax-rate 9600ip precedence 5session target ipv4:192.168.121.4

!dial-peer voice 2000 voip

destination-pattern +12089882...fax-rate 9600ip precedence 5session target ipv4:192.168.121.74

!dial-peer voice 3000 voip

destination-pattern +13089883...fax-rate 9600ip precedence 5session target ipv4:192.168.121.66

!dial-peer voice 4000 voip

destination-pattern +14089884...fax-rate 9600ip precedence 5session target ipv4:192.168.121.19

!dial-peer voice 5000 voip

destination-pattern +15089885...fax-rate 9600ip precedence 5session target ipv4:192.168.121.18

!dial-peer voice 9000 voip

destination-pattern +18089888...fax-rate 9600ip precedence 5session target ipv4:192.168.121.4

!num-exp 82... 12089882...num-exp 83... 13089883...num-exp 84... 14089884...num-exp 85... 15089885...num-exp 86... 16089886...num-exp 88... 18089888...!voice-port 1/0/0

output attenuation 3!voice-port 1/0/1

output attenuation 3!voice-port 1/1/0

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 52 of 80

output attenuation 3!voice-port 1/1/1

output attenuation 3!voice-port 2/0/0

input gain 14!voice-port 2/0/1

input gain 13!voice-port 2/1/0

input gain 8!voice-port 2/1/1

input gain 11!interface Ethernet0/0

ip address 192.168.121.81 255.255.255.248no keepalive

!interface Serial0/0

mtu 300no ip addressencapsulation frame-relayno ip route-cacheno ip mroute-cachefair-queue 64 256 1000

!interface Serial0/0.1 point-to-point

mtu 300ip address 192.168.121.20 255.255.255.248no ip route-cacheno ip mroute-cacheframe-relay interface-dlci 140frame-relay ip rtp header-compression

!interface Serial0/0.2 point-to-point

mtu 300ip address 192.168.121.35 255.255.255.240no ip route-cacheno ip mroute-cacheframe-relay interface-dlci 145frame-relay ip rtp header-compression

!interface BRI0/0

no ip addressno ip mroute-cacheshutdown

!interface Ethernet0/1

no ip address!ip classlessip route 0.0.0.0 0.0.0.0 192.168.121.40ip route 192.168.121.4 255.255.255.255 192.168.121.17ip route 192.168.121.19 255.255.255.255 192.168.121.17ip route 192.168.121.18 255.255.255.255 192.168.121.17ip route 192.168.121.66 255.255.255.255 192.168.121.17ip route 192.168.121.74 255.255.255.255 192.168.121.17

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 53 of 80

!!snmp-server community public RO!line con 0line aux 0line vty 0 4 password cisco login!end

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 54 of 80

London Router (PPP, RTP, RSVP)

version 11.3no service password-encryption!hostname London!enable secret cisco!ip subnet-zeroip domain-name Acme.comip name-server 192.168.6.1ip name-server 192.168.6.2!dial-peer voice 3000 pots

destination-pattern +13089883…port 1/0/0prefix 83

!dial-peer voice 3001 pots

destination-pattern +13089883…port 1/0/1prefix 83

!dial-peer voice 3002 pots

destination-pattern +13089883…port 1/1/0prefix 83

!dial-peer voice 3003 pots

destination-pattern +13089883…port 1/1/1prefix 83

!dial-peer voice 3004 pots

destination-pattern +13089883…port 2/0/0prefix 83

!dial-peer voice 3005 pots

destination-pattern +13089883…port 2/0/1prefix 83

!dial-peer voice 3006 pots

destination-pattern +13089883…port 2/1/0prefix 83

!dial-peer voice 3007 pots

destination-pattern +13089883…port 2/1/1prefix 83

!dial-peer voice 3008 pots

destination-pattern +13089883…port 3/0/0prefix 83

!dial-peer voice 3009 pots

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 55 of 80

destination-pattern +13089883…port 3/0/1prefix 83

!dial-peer voice 3010 pots

destination-pattern +13089883…port 3/1/0prefix 83

!dial-peer voice 3011 pots

destination-pattern +13089883…port 3/1/1prefix 83

!dial-peer voice 3 pots

destination-pattern +3port 1/0/0

!dial-peer voice 31 pots

destination-pattern +3port 1/0/1

!dial-peer voice 32 pots

destination-pattern +3port 1/1/0

!dial-peer voice 33 pots

destination-pattern +3port 1/1/1

!dial-peer voice 34 pots

destination-pattern +3port 2/0/0

!dial-peer voice 35 pots

destination-pattern +3port 2/0/1

!dial-peer voice 36 pots

destination-pattern +3port 2/1/0

!dial-peer voice 37 pots

destination-pattern +3port 2/1/1

!dial-peer voice 38 pots

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 56 of 80

destination-pattern +3port 3/0/0

!dial-peer voice 39 pots

destination-pattern +3port 3/0/1

!dial-peer voice 310 pots

destination-pattern +3port 3/1/0

!dial-peer voice 311 pots

destination-pattern +3port 3/1/1

!dial-peer voice 2 voip

destination-pattern +2fax-rate 9600req-qos controlled-loadip precedence 5session target ipv4:192.168.121.74

!dial-peer voice 4 voip

destination-pattern +4fax-rate 9600ip precedence 5session target ipv4:192.168.121.19

!dial-peer voice 5 voip

destination-pattern +5fax-rate 9600ip precedence 5session target ipv4:192.168.121.18

!dial-peer voice 6 voip

destination-pattern +6fax-rate 9600ip precedence 5session target ipv4:192.168.121.20

!dial-peer voice 9 voip

destination-pattern +9fax-rate 9600req-qos controlled-loadip precedence 5session target ipv4:192.168.121.4

!dial-peer voice 2000 voip

destination-pattern +12089882...fax-rate 9600req-qos controlled-loadip precedence 5session target ipv4:192.168.121.74

!dial-peer voice 4000 voip

destination-pattern +14089884...fax-rate 9600ip precedence 5session target ipv4:192.168.121.19

!dial-peer voice 5000 voip

destination-pattern +15089885...fax-rate 9600ip precedence 5

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 57 of 80

session target ipv4:192.168.121.18!dial-peer voice 6000 voip

destination-pattern +16089886...fax-rate 9600ip precedence 5session target ipv4:192.168.121.20

!dial-peer voice 9000 voip

destination-pattern +18089888...fax-rate 9600req-qos controlled-loadip precedence 5session target ipv4:192.168.121.4

!num-exp 82... 12089882...num-exp 83... 13089883...num-exp 84... 14089884...num-exp 85... 15089885...num-exp 86... 16089886...num-exp 88... 18089888...!voice-port 1/0/0

operation 4-wiretype 5signal immediate

!voice-port 1/0/1

operation 4-wiretype 5signal immediate

!voice-port 1/1/0

operation 4-wiretype 5signal immediate

!voice-port 1/1/1

operation 4-wiretype 5signal immediate

!voice-port 2/0/0

operation 4-wiretype 5signal immediate

!voice-port 2/0/1

operation 4-wiretype 5signal immediate

!voice-port 2/1/0

operation 4-wiretype 5signal immediate

!voice-port 2/1/1

operation 4-wire

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 58 of 80

type 5signal immediate

!voice-port 3/0/0

operation 4-wiretype 5signal immediate

!voice-port 3/0/1

operation 4-wiretype 5signal immediate

!voice-port 3/1/0

operation 4-wiretype 5signal immediate

!voice-port 3/1/1

operation 4-wiretype 5signal immediate

!!interface Ethernet0/0

ip address 192.168.121.81 255.255.255.248!interface Serial0/0

ip address 192.168.121.66 255.255.255.248ip rtp header-compressionip rsvp bandwidth 1158 1158encapsulation pppno ip mroute-cachefair-queue 64 256 1000

!interface BRI0/0

no ip addressshutdown

!interface Ethernet0/1

no ip address

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 59 of 80

shutdown!router eigrp 1

network 192.168.121.0!no ip classless!snmp-server community public RO!line con 0line aux 0line vty 0 4

password ciscologin

!end

Configurations Explained:

This section will explain the portions of CLI having to do with Voice over IP.

Configuration Information for ACME Corporation

Austin 5300 Voice over IP Gateway Configuration

Current configuration:

!isdn switch-type primary-5ess!!controller T1 0

framing esfclock source internallinecode b8zspri-group timeslots 1-24

!dial-peer voice 3 voip

The dial-peer statement is used to map a particular telephony number or E.164 address to an IP address or physical port. The

number 3 is simply a placeholder and has only local significance. The Voice Over IP keyword is used to denote that this is a dial

peer that points to an IP address with which to establish an H.323 session.

destination-pattern +3.......

The destination pattern is simply the phone number for this particular dial peer. As shown, wild cards can be used.

req-qos controlled-load

This activates RSVP to request a controlled-load service when this dial peer is used.

fax-rate 9600

If a fax machine is used on for this particular dial peer it will be hard-coded to 9600 baud. This band can be set to 1200, 2400,

9600, and 14,400 baud. It is recommended to set the maximum allowable speed your fax machines can handle.

ip precedence 5

This sets the IP precedence of every voice packet using this dial peer to IP precedence 5 (critical)

session target ipv4:192.168.121.66

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 60 of 80

This is the IP address with which an H.323 session is made for this dial peer.

!dial-peer voice 6 voip

destination-pattern +6.......fax-rate 9600ip precedence 5session target ipv4:192.168.121.20

!dial-peer voice 3000 voip

destination-pattern +13089883...req-qos controlled-loadfax-rate 9600ip precedence 5session target ipv4:192.168.121.66

!dial-peer voice 6000 voip

destination-pattern +16089886...fax-rate 9600ip precedence 5session target ipv4:192.168.121.20

!dial-peer voice 9 potsThe keyword basic telephone service in the dial-peer statement signifies a local physical port.

destination-pattern +9.......direct-inward-dial

Direct-inward-dial tells the Cisco IOS software to use the incoming called number as the end destination number. (In other words,

If the called number is noted as 13089883000 in the Q.931 setup message, then that will be the final destination number and no

secondary dial tone will be given).

port 0:D

Since this configuration uses ISDN Primary Rate Interface (PRI), all call information will be received from the D channel.

!dial-peer voice 99 pots

destination-pattern +1808988....direct-inward-dialport 1:Dprefix 18089888

The prefix command is used to add a string of digits on any outgoing call placed through this dial-peer.

!num-exp 86... 16089886...

Number expansion is used to assist in shortening the numbering plan. Wild cards can also be used with number expansion.

!voice-port 0:D!voice-port 1:D!voice-port 2:D!interface Serial0:23

no ip addressno ip mroute-cacheisdn incoming-voice modem

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 61 of 80

In order for incoming voice calls to be answered by the voice over IP module in the Cisco 5300, this command must be used to send

the calls to the voice over IP carrier card.

no cdp enable!end

Austin Cisco 4700 WAN Aggregation Router

Current configuration:

!hostname Austin_4700_WAN!interface Serial1

ip address 192.168.121.65 255.255.255.248ip rtp header-compression

IP RTP enables RTP header compression.ip rsvp bandwidth 1158 1158

The IP RSVP bandwidth statement allocates the amount of bandwidth you want available for RSVP applications.

encapsulation pppno ip mroute-cachefair-queue 64 256 1000

This scenario enables WFQ on the interface.

!interface Serial2

no ip addressshutdown

!interface Serial3

mtu 300

The MTU must be set on the main interface; it is then carried down to the subinterface.

no ip addressencapsulation frame-relay

!interface Serial3.100 multipoint

mtu 300ip address 192.168.121.17 255.255.255.240frame-relay map ip 192.168.121.18 20 broadcast CISCO rtp header-compression activeframe-relay map ip 192.168.121.19 30 broadcast CISCO rtp header-compression activeframe-relay map ip 192.168.121.20 40 broadcast CISCO rtp header-compression active

This is a standard Frame Relay map statement, but it forces RTP header compression for these DLCIs.

!!no ip classlessip route 192.168.121.18 255.255.255.255 Serial3.100ip route 192.168.121.19 255.255.255.255 Serial3.100ip route 192.168.121.20 255.255.255.255 Serial3.100These static routes send any packet destined for a router to the voice DLCI’s.ip route 192.168.121.80 255.255.255.248 192.168.121.35ip route 192.168.121.88 255.255.255.248 192.168.121.33ip route 192.168.121.96 255.255.255.248 192.168.121.34

These static routes send any traffic destined for these networks to the data DLCIs.

!

end

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 62 of 80

San Diego Router (Frame Relay, 2 DLCIs)

version 11.3no service password-encryption!hostname SanDiegoRouter!dial-peer voice 9000 voip

destination-pattern +18089888...fax-rate 9600ip precedence 5session target ipv4:192.168.121.4

!voice-port 1/0/0

output attenuation 3Output attenuation on an FXS interface connecting to a handset shouldnormally be set to 3 dB.!voice-port 2/0/0

input gain 14

The input gain on a particular interface should be adjusted according to the “Voice Tuning” section explained earlier in this design

guide.

!interface Serial0/0

mtu 300no ip addressencapsulation frame-relayno ip route-cacheno ip mroute-cachefair-queue 64 256 1000

!interface Serial0/0.1 point-to-point

mtu 300ip address 192.168.121.20 255.255.255.248no ip route-cacheno ip mroute-cacheframe-relay interface-dlci 140frame-relay ip rtp header-compression

!ip classlessip route 0.0.0.0 0.0.0.0 192.168.121.40

There is no dynamic routing protocol on this network because bandwidth is preserved for actual voice and data. A static default

route is configured to send all traffic to the data DLCI.

ip route 192.168.121.4 255.255.255.255 192.168.121.17ip route 192.168.121.19 255.255.255.255 192.168.121.17ip route 192.168.121.18 255.255.255.255 192.168.121.17ip route 192.168.121.66 255.255.255.255 192.168.121.17ip route 192.168.121.74 255.255.255.255 192.168.121.17

Any traffic destined to a specific host router will be sent through the voice DLCI.

!end

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 63 of 80

London Router (PPP, RTP, RSVP)

version 11.3no service password-encryption!hostname London!!dial-peer voice 3000 pots

destination-pattern +13089883…port 1/0/0prefix 83

The prefix command allows a numerical string to be added to any outgoing called numbers on this interface.

!dial-peer voice 3001 pots

destination-pattern +13089883…port 1/0/1prefix 83

!dial-peer voice 3 pots

destination-pattern +3port 1/0/0

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 64 of 80

It is possible to use multiple dial peers to configure one interface. So in effect, one interface can have multiple dial peers attached

and give that interface multiple personalities.

!dial-peer voice 31 pots

destination-pattern +3port 1/0/1

!dial-peer voice 6 voip

destination-pattern +6fax-rate 9600ip precedence 5session target ipv4:192.168.121.20

!dial-peer voice 9 voip

destination-pattern +9fax-rate 9600req-qos controlled-load

Calls placed to the Cisco 5300 will request specific QoS using RSVP controlled-load service.

ip precedence 5session target ipv4:192.168.121.4

!voice-port 1/0/0operation 4-wire

This scenario configures this E&M interface to four- wire operation.

type 5

This command configures this E&M interface to use signal type V.

signal immediate

This command configures this E&M interface to use immediate signaling.

!end

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 65 of 80

Voice over IP miscellaneous Information and Specifications for Cisco 3600 Module

To determine the amount of bandwidth used across various topologies using various compression methods, see Table 5.

Note: Fax rates given were tested at 2400, 4800, and 9600 baud.

To determine the actual amount of bandwidth consumed by each encapsulation type matched with each codec type, use the

following formula:

Multiply byte count by 8 to obtain the bit count. Then multiply the result by 50 to obtain the bits per second.

Example:

G.729 with RTP Header Compression over Frame Relay

The chart gives a 28-byte frame. There are 8 bits in a byte.

28 x 8 = 224

The voice over IP implementation sends out a frame every 20 milliseconds; this is equivalent to 50 packets per second.

224 x 50 = 11,200 bps

or 11.2 kbps

This packet rate is for the voice traffic itself it does not count the H.323 setup, RSVP traffic, RTCP, or other protocol-related

information (Local Management Interface [LMI], PPP hello, and so on). This is the amount of bandwidth consumed if only one

speaker is talking and VAD is enabled. If speakers are talking at the same time or VAD is not utilized, then this 11.2-kbps stream

needs to be doubled. If background noise is significant enough, VAD is not able to distinguish the background noise from the speech,

and packets are transmitted, consuming backwidth, even though there is no speech.

Memory Information:

Cisco 3600 Voice over IP

• Static image size:

1 MB larger that non-voice over IP image of same name; most of the size increase is due to static tables in the Abstract Syntax

Notation One (ASN.1) code.

Processor Memory:

With voice and a small IP network, 18 MB of processor memory and 6 MB of I/O memory are sufficient; 32 MB is the recommended

amount for voice over IP and all plus images.

Allocated Memory:

• 20 KB per system + 3 KB per voice port

• 10 KB per active call

• 1.5 KB per call history record (includes both call legs)

• 2.5 KB per dial peer

Table 5 Packet Sizes with Various Compression Schemes and Topologies

— G.729 G.711 G.729 w/CRTP G.711 w/CRTP

Frame Relay 66-byte frame 206-byte frame 28-byte frame 168-byte frame

with fax 66-byte frame 66-byte frame 28-byte frame 28-byte frame

PPP 66-byte frame 206-byte frame 28-byte frame 168-byte frame

with fax 66-byte frame 66-byte frame 28-byte frame 28-byte frame

HDLC 66-byte frame 206-byte frame 28-byte frame 168-byte frame

with fax 66-byte frame 66-byte frame 28-byte frame 28-byte frame

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 66 of 80

Delay Information:

Table 6 is given to allow you to plan your voice network properly. If you know a specific link is going to add more delay than

suggested, you need to find another place in the network to make up for the lost time or adjust the quality expectation of the

customer.

Maximum configurable jitter buffer (playout buffer)

• G.711 voice—200 ms

• G.711 fax—300 ms

• G.729 voice—1360 ms

• G.729 fax—300 ms

Table 6 Delay Points in a Voice OVer IP Network

Delay Cause Description

~20 ms Coder delay Algorithmic delay plus processing delay with G.729

~20 ms Packetization/framing 2 x 10 ms frames

1–2 ms Move to I/O queue —

<10 ms Queue delay Varies, based upon congestion and priority scheme

~10 ms Access (up) link transmission Slow links cause greatest problems

<70 ms Backbone network transmission Physical limits, distance, speed of light

<10 ms Access (down) link transmission If end destination is slow bandwidth link

~1-2 ms Input queue to application —

~20-40 ms Jitter buffer This can be very large, depending upon network jitter

0 ms Coder processing delay Minimal with G.729

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 67 of 80

Appendix A

Router

VNM

EMVICTrunk

4w E&M

PBX

Signaling Side

Typical PBX to Router with Voice ApplicationType 1 Application

Trunking Side

–48v

–48v On-hook

E

pin 1

RJ-45 SocketMating Face

(E&MVIC)

E7

M2

R14

T15

R3

T6

Detect

Detect

Audio

Audio

M

T

R

T1

R1

Audio

Audio

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 68 of 80

Router

VNM

EMVICTrunk

4w E&M

PBX

Signaling Side

Typical PBX to Router with Voice ApplicationType 2 Application

Trunking Side

–48v

–48v

E

SG

pin 1

RJ-45 SocketMating Face(E&MVIC)

E7

M2

SB1

SG8

R14

T15

R3

T6

Detect

Audio

Audio

M

ptc

SB

T

R

T1

R1

Audio

Audio

Detect

Router

VNM

EMVICTrunk

E&M

C‘bank

Trunking Side

Back-to-Back Channel Bank to Router with Voice Application

Trunking Side

–48v –48v

E

SG

E7

M2

SB1

SG8

R14

T15

R3

T6

detect

Audio

Audio

M

ptcptc

SB

T

R

T1

R1

Audio

Audio

Detect Detect

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 69 of 80

Router

VNM

EMVICTrunk

E&M

PBX

Signaling Side

Typical PBX to Router with Voice ApplicationType 3 Application

Trunking Side

–48v

On-hook

–48vptc

E

pin 1

RJ-45 SocketMating Face

(E&MVIC)

E7

SG SG8

M2

R14

T15

R3

T6

Detect

Detect

Audio

Audio

M

SB1SB

T

R

T1

R1

Audio

Audio

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 70 of 80

Router

VNM

EMVICTrunk

E&M

PBX

Signaling Side

Typical PBX to Router with Voice ApplicationType 4 Application

Trunking Side

–48v

–48v

E

SG

pin 1

RJ-45 SocketMating Face(E&MVIC)

E7

M2

SB1

SG8

R14

T15

R3

T6

Detect

Audio

Audio

M

SB

T

R

T1

R1

–48v

Audio

Audio

Detect

Router

VNM

EMVICTrunk

E&M

C‘bank

Trunking Side

Back-to-Back Channel Bank to Router with Voice Application

Trunking Side

–48v

E

SG

E7

M2

SB1

SG8

R14

T15

R3

T6

detect

Audio

Audio

M

SB

T

R

T1

R1

Audio

Audio

Detect Detect

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 71 of 80

Router

VNM

EMVICTrunk

E&M

PBX

Signaling Side

Typical PBX to Router with Voice ApplicationType 5 Application

Trunking Side

–48v

–48v

–48v

E

pin 1

RJ-45 SocketMating Face

(E&MVIC)

E7

M2

R14

T15

R3

T6

Detect

Detect

Audio

Audio

M

T

R

T1

R1

Audio

Audio

Router

VNM

EMVICTrunk

E&M

C’bank

Back-to-Back Channel Bank to Router with Voice Application

Trunking SideTrunking Side

–48v

E E7

M2

R14

T15

R3

T6

Detect

Audio

Audio

M

T

R

T1

R1

Audio

Audio

Detect

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 72 of 80

Router

VNM

EMVICTrunk

E&M

PBX

Note that this typeshows that contactsare closed for on-hook,so the channel is busywhen the line breaks

Signaling Side

Typical PBX to Router with Voice Application

Type SSDC5A Application

Trunking Side

–48v

–48v

Eptc

pin 1

RJ-45 SocketMating Face

(E&MVIC)

E7

M2

R14

T15

R3

T6

Detect

Detect

Audio

Audio

M

T

R

T1

R1

Audio

Audio

Router

VNM

EMVICTrunk

E&M

C’bank

Back-to-Back Channel Bank to Router with Voice Application

Trunking SideTrunking Side

–48v–48v

E E7

M2

R14

T15

R3

T6

Detect Detect

Audio

Audio

M

T

R

T1

R1

Audio

Audio

On-hook

On-hook

On-hook

On-hook

ptcptc

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 73 of 80

Appendix B

Introduction

A fax over packet application enables the interworking of standard fax machines with packet networks. It accomplishes this by

extracting the fax image from an analog signal and carrying it as digital data over the packet network. This paper references a

general class of packet networks, since the modular software objects allow networks such as ATM, Frame Relay, and Internet (IP),

to be used to transport the fax. Currently, the Frame Relay Forum is the only packet network standards body that has defined a

protocol for transmission of fax over a packet network. However, the principles described are equally applicable to ATM and IP

networks.

An overview of a software architecture utilizing Embedded Communication Objects (ECOs) that supports fax over packet

applications is presented, and a system is described for sending fax image data and signaling information over the packet network.

ECOs are real-time software and hardware modules that can be dynamically configured to provide flexibility and scalability in

communication systems. Customers can gain a considerable advantage in time to market by using ECOs in building their

communication systems.

Applications

There are tremendous opportunities for cost savings by transmitting fax calls over packet networks. Fax data in its original form is

digital. However, it is modulated and converted to analog for transmission over the Public Swithced Telephone Network (PSTN).

This analog form uses 64 kbps of bandwidth in both directions.

The fax over packet interworking function (IWF) reverses this analog conversion, instead transmitting digital data over the

packet network, and then reconverting the digital data to analog for the receiving fax machine. This conversion process reduces the

overall bandwidth required to send the fax because the digital form is much more efficient and the fax transmission is half duplex

(that is, only one direction is used at any time). The peak rate for a fax transmission is 14.4 kbps in one direction. A representation

of this process is shown in Figure A-1.

This White Paper and the facsimile software described therein are provided by Telogy Networks to Cisco under license agreements from Telogy Networks. The White Paper and related software are Telogy Networks’ copyrighted materials, and are subject to restrictions in their respective license agreements and related non-disclosureobligations. This White Paper may not be modified without prior written permission from Telogy Networks, is for Cisco internal use only and may not be transferred to any third party.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 74 of 80

Figure A-1 Fax Over Packet Conversion Process

An application for fax over packet, shown in Figure 2, is a network configuration of a company with numerous branch

offices that wants to use the packet network, instead of the long distance network, to provide fax access to the main office. The

Interworking Function (IWF) is the physical implementation of the hardware and software that enables the transmission of fax

over the packet network. It must support analog interfaces that directly interface to fax machines at the branches and to a PBX

at the central site. The Interworking Function must emulate the functions of a private branch exchange (PBX) for the fax machines.

Figure A-2 Fax Over Packet Application

PSTN Fax Call Procedure

This section describes the stages of a standard fax call over the PSTN so that the processing required for a reliable fax transmission

over a packet network can be explored. Fax machines in common use today implement the ITU T.30 and T.4 protocols. The T.30

protocol describes the formatting of nonpage data, such as messages that are used for capabilities negotiation. The T.4 protocol

describes formatting of page image data.

T.30 and T.4 have evolved substantially over time and are now quite complex because they attempt to describe the behavior of

an evolving set of fax machines. The timing related to the message interaction and phases of the call is critical and is one of the

major causes of problems in the transmission of fax over packet networks.

The PSTN fax call is divided into five phases, as shown in Figure A-3. This example assumes that the call is accomplished

without errors. The procedure becomes somewhat more complicated if errors occur or if there is a need for modem retraining.

The five phases include:

• Call establishment

• Control and capabilities exchange

Fax OverPacket

IWF

Fax OverPacket

IWF

Fax Fax

Fax in Analog Form Fax in Digital Form

Fax Over Packet Conversion Process

Fax in Analog Form

64 KbpsFull Duplex

14.4 KbpsHalf Duplex

64 KbpsFull Duplex

ATMFrame Relay

Internet

Home Offices

PBX

IWF

IWF

IWF

Fax

Fax Fax

Fax

PacketNetwork

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 75 of 80

• Page transfer

• End-of-page and multipage signaling

• Call release

Figure A-3 PSTN Fax Call Flow

Call Establishment

The fax call is established either through a manual process, where someone dials a call and puts the machine into fax mode, or by

automatic procedures, where no human interaction is required. In both cases, the answering fax machine returns an answer tone,

called a CED, which is the high-pitched tone that you hear when you call a fax machine. If the call is automatically dialed, the calling

station also indicates the fax call with a calling tone (CNG), which is a short, periodic tone that begins immediately after the number

is dialed. These tones are generated to allow a human participant to realize that a machine is present on the other end call. These

tones are sometimes used to recognize the presence of a fax call, although they are not a very reliable indication.

Control and Capabilities Exchange

The control and capabilities exchange phase of the fax call is used to identify the capabilities of the fax machine at the other end of

the call. It also negotiates the acceptable conditions for the call. The exchange of control messages throughout the fax call are sent

using the low-speed (300 bps) modulation mode.

PSTN Fax Call Flow

Offhook Dial

Answer

Legend

Low Speed Data

High Speed Data

Calling FaxMachine

Calling FaxMachine

Send Calling Tone (CNB) if automatic dialing

Send Called Station ID Tone (CED)

Send DCS (Optional NSF & CST)Preamble

Send DCS (Optional TSP)Preamble

High Speed Modem TrainingTCP

PreambleSend Confirmation to Recieve (CFR)

High Speed Modem Training

PreambleSend End of Page (EDP)

PreambleSend Message Confirmation (MCF)

PreambleSend Disconnect (DCN) Call Release

End of Pageand Multi-PageSignaling

Page Transfer

Control andCapabilitiesExchange

CallEstablishment

Fax Fax

Fax Page One

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 76 of 80

Every control message is preceded by a one-second preamble, which allows the communication channel to be conditioned for

reliable transmission.

The called fax machine begins the procedure by sending a Digital Identification Signal (DIS) message, which contains the

capabilities of the fax machine. An example of a capability that could be identified in this message is that the V.17 (14000-bps) data

signaling rate is supported. At the same time, the Called Subscriber Information (CSI) and Non-Standard Facilities (NSF) messages

are optionally sent. nonstandard facilities are capabilities that a particular fax manufacturer has built into a fax machine to

distinguish their product from others. They are not required to be supported for interoperability.

After the calling fax machine receives the DIS message, it determines the conditions for the call by examining its own

capabilities table. The calling machine responds with the digital command signal (DCS), which defines the conditions of the call.

At this stage, high-speed modem training begins. The high-speed modem is used in the next phase of the fax call to transfer

page data. The calling fax machine sends a training check field (TCF) through the modulation system to verify the training and

ensure that the channel is suitable for transmission at the accepted data rate. The called fax machine responds with a confirmation

to receive (CFR), which indicates that all capabilities and the modulation speed are confirmed and the fax page may be sent.

Page Transfer

The high-speed modem is used to transmit the page data that has been scanned in and compressed. It uses the ITU T.4 protocol

standard to format the page data for transmission over the channel.

End-of-Page and Multipage Signaling

After the page has been successfully transmitted, the calling fax machine sends an end-of-procedures (EOP) message if the fax call

is complete and all the pages have been transmitted. If only one page has been sent and there are additional ones to follow, it sends

a multipage signal (MPS). The called machine would responds with message confirmation (MCF) to indicate that the message has

been successfully received and it is ready to receive more pages.

Call Release

The release phase is the final phase of the call, where the calling machine sends a disconnect message (DCN). While the DCN

message is a positive indication that the fax call is over, it is not a reliable indication since the fax machine can disconnect

prematurely without ever sending the DCN message.

Quality of Service

The advantages of reduced cost and bandwidth savings of carrying fax over packet networks are associated with some quality of

service that which are unique to packet networks and can affect the reliability of the fax transmission. These issues are explored

next.

Timing

A major issue in the implementation of fax over packet networks is the problem of inaccurate timing of messages caused by delay

through the network. The delay of fax packets through a packet network causes the precise timing that is required for many portions

of the fax protocol to be skewed; this delay can result in the loss of the call. The fax over packet protocol in the interworking

function must compensate for the loss of a fixed timing of messages over the packet network so that the T.30 protocol operates

without error.

There are two sources of delay in an end-to-end fax over packet call: network delay and processing delay.

Network delay is caused by the physical medium and protocols that are used to transmit the fax data and by buffers used to

remove packet jitter on the receiving end. This delay is a function of the capacity of the links in the network and the processing that

occurs as the packets transit the network. The jitter buffers add delay when they remove the packet delay variation of each packet

as it transits the packet network. This delay can be a significant part of the overall delay since packet delay variations can be as high

as 70 to 100 msec in some Frame Relay networks, and even higher in IP networks.

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 77 of 80

Processing delay is caused by the process of demodulating and collecting the digital fax information into a packet for

transmission over the packet network. The encoding delay is a function of both the processor execution time and the amount of

data collected before sending a packet to the network. Low-speed data, for instance, is usually sent out with a single byte per packet

since the time to collect a byte of information at 300 bps is 30 milliseconds.

Jitter

Delay issues are compounded by the need to remove jitter, a variable interpacket timing caused by the network that a packet

traverses. An approach to removing the jitter is to collect packets and hold them long enough so that the slowest packets to arrive

are still in time to be played in the correct sequence. This approach, however, causes additional delay. In most fax over packet

protocols, a time stamp is incorporated in the packet to ensure that the information is played out at the proper instant.

Lost Packet Compensation

Lost packets can be an even more severe problem, depending on the type of packet network that is being used. In a voice over packet

application, the loss of packets can be addressed by replaying last packets and other methods of interpolation. A fax over packet

application, however, has more severe constraints on the loss of data since the fax protocol can fail if information is lost. This

problem varies depending on the type of fax machine used and whether the error correction mode is enabled.

Two schemes that are used by fax over packet software to address the problems of lost frames follow:

• Repeating information in subsequent frames so that the error can be corrected by the receiver’s playout mechanism

• Using an error-correcting protocol such as TCP to transport the fax data at the expense of added delay

Fax over Packet Software Architecture

The facsimile interface unit (FIU) is the software ECO that resides within a fax over packet interworking function. It demodulates

voice-band signals from an analog interface and converts them to a digital format that is suitable for transport over a packet

network. It also remodulates data received from the packet network and transmits it to the analog interface. In doing so, the FIU

performs protocol conversion between group 3 facsimile protocols and the digital facsimile protocol employed over the packet

network.

The fax interface unit, shown in Figure A-4, consists of the following three units:

Fax modem unit frequency modulation [FM]: processes pulse code modulation (PCM) samples based on the current

modulation mode and supports the following functions:

• V.21 channel 2 (300-bps) binary signaling modulation and demodulation

• High-Level Data Link Control (HDLC) framing (0-bit insertion/removal, cyclic redundancy check (CRC) generation/checking)

• V.27 ter (2400/4800-bps) high-speed data modulation and demodulation

• V.29 (7200/9600-bps) high-speed data modulation and demodulation

• V.17 (14,390-bps) high-speed data modulation

• CED detection and generation

• CNG detection and generation

• V.21 channel 2 detection

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 78 of 80

Figure A-4 Fax Over Packet Module

The fax protocol unit (FP) compensates for the effects of timing and lost packets caused by the packet network. The FP prevents

the local fax machine from timing out while waiting for a response from the other end by generating HDLC flags. If, after a timeout,

the response from the remote fax machine is not received, it also sends a CRP frame (command repeat) to resend the frame. This

unit monitors the facsimile transaction timing, the direction of current transmission, and the proper modem configuration. It

performs:

• Protocol processing (group 3 facsimile)

• Examination/alteration of binary signaling messages to ensure compatibility of the facsimile transfer with the constraints of the

transmission channel

• Network channel interface data formatting

• Line state transitions

The fax network driver unit (FND) assembles and disassembles fax packets to be transmitted over the network and is the interface

unit between the FP and the network modules. The fax packets are formatted to be carried as a voice payload to the network

modules. The control information packets consist of header and time stamp information. In the direction of the pulse code

modulation (PCM) to the packet network, the FND collects the specified number of bytes and transmits the packet to the network.

In the receive direction, the FND provides data with the proper timing (as generated on the transmit side and reproduced through

the received time-stamp information) to the rest of the FIU. The FND delays the data in order to remove timing jitter from the packet

arrival times and performs:

• Formatting of control information

• Formatting of fax data

• Properly timed playout of data

• Elastic (slip) buffering

Fax Summary

A fax over packet software architecture using Embedded Communication Objects (ECOs) has been described for the interworking

of fax machines and packet networks. Some of the key features enabling this application to function successfully follow:

• An approach that addresses the effect of delay through the network

• A process that minimizes the effect of jitter

• Features that address lost packet compensation

Though the quality of service issues associated with carrying fax over packet networks are significant, the future of this approach

will be driven by the substantial cost savings and exciting applications made possible with fax over packet software technology.

PCMInterface

Real TimeOperating

Environment

ControlUnit

FaxModem

Unit

FaxProtocol

Unit

Fax Interface Unit (FIU)

Fax Over Packet Module

FaxNetwork

DriverUnit

PacketVoice

ProtocolFaxTo PacketNetwork

SerialPort

Cisco ConfidentialCopyright © 1998 Cisco Systems, Inc. All Rights Reserved.

Page 79 of 80

End of Appendix B and the Telogy Fax over Packet white paper.

Summary

This design implementation guide has covered a very broad and far-reaching topic known as packet voice. This guide has covered

the basics in H.323, voice, fax, packet voice, and fax as well as the necessary quality-of-service information to design the next level

in voice networks. This however, is just the beginning of what you will need to learn to design, implement, and deploy these

next-generation voice networks. For more information, see the suggested reading list.

Suggested Reading

Pecar, Telecommunications Factbook.

McGraw-Hill; (sbn: 0-07-049183-6).

Good detail on PBX networks, PSTN, and analog and digital technology

Bezar, LAN Times Guide to Telephony.

McGraw-Hill; (isbn: 0-07-882126-6).

A mixture of CTI, telephony, and data communications

Telephony Reference Books:

Newton, Newton’s Telecom Dictionary; 12th ed.

Flatiron Publishing isbn; (isbn: 1-57820-008-3).

Minoli, Telecommunications Technology Handbook

Artech House; (isbn: 0-89006-425-3).

Freeman, Telecommunication System Engineering; third ed.

Wiley; (isbn: 0-471-13302-7.)

Freeman, Reference Manual for Telecommunications Engineering, second ed.

Wiley; (isbn: 0-471-57960-2.)

Cover almost everything in the telco world; the next level up/down is then the ITU specifications.

Books by detailed topic:

Schaphorst, Videoconferencing & Videotelephony: Technology & Standards.

Artech House (isbn: 0-89006-844-5)

Details of H.320, H.323, H.324

Trulove, A guide to fractional T1.

Artech House; (isbn: 0-89006-524-1).

Black, The V Series Recommendations.

McGraw-Hill; (isbn: 0-07-005592-0).

Everything you need to know about V.x modem, ISDN standards

Kessler, ISDN; Concepts, Facilities and Services; 3rd ed.

McGraw-Hill; (isbn: 0-07-034249-0)

ISDN in detail, including relationship to ATM, Frame Relay, SMDS,...

Russell, Signaling System #7.

McGraw-Hill; (isbn: 0-07-054991-5).

Ginsburg, ATM; Solutions for enterprise interworking.

Addison-Wesley; (isbn: 0-201-87701-5)

Excellent ATM 101 to detailed, with good historical overview

Copyright © 1998 Cisco Systems, Inc. All rights reserved. Printed in USA. Cisco IOS is a trademark, and Catalyst, Cisco, Cisco Systems, and the Cisco Systems logo are registered trademarks of Cisco Systems, Inc.in the U.S. and certain other countries. All other trademarks mentioned in this document are the property of their respective owners. 9802R 3/98LW

Cisco Systems has more than 200 offices in the following countries. Addresses, phone numbers, and fax numbers are listed on the

C i s c o C o n n e c t i o n O n l i n e We b s i t e a t h t t p : / / w w w. c i s c o . c o m .

Argentina • Australia • Austria • Belgium • Brazil • Canada • Chile • China (PRC) • Colombia • Costa Rica • Czech Republic • DenmarkEngland • France • Germany • Greece • Hungary • India • Indonesia • Ireland • Israel • Italy • Japan • Korea • Luxembourg • MalaysiaMexico • The Netherlands • New Zealand • Norway • Peru • Philippines • Poland • Portugal • Russia • Saudi Arabia • Scotland •

Singapore

Corporate HeadquartersCisco Systems, Inc.170 West Tasman DriveSan Jose, CA 95134-1706USAhttp://www.cisco.comTel: 408 526-4000

800 553-NETS (6387)Fax: 408 526-4100

European HeadquartersCisco Systems Europe s.a.r.l.Parc Evolic, Batiment L1/L216 Avenue du QuebecVillebon, BP 70691961 Courtaboeuf CedexFrancehttp://www-europe.cisco.comTel: 33 1 6918 61 00Fax: 33 1 6928 83 26

AmericasHeadquartersCisco Systems, Inc.170 West Tasman DriveSan Jose, CA 95134-1706USAhttp://www.cisco.comTel: 408 526-7660Fax: 408 527-0883

Asia HeadquartersNihon Cisco Systems K.K.Fuji Building, 9th Floor3-2-3 MarunouchiChiyoda-ku, Tokyo 100Japanhttp://www.cisco.comTel: 81 3 5219 6250Fax: 81 3 5219 6001

Recognition

There were many people responsible for contributing to this guide. I would like to thank James Murphy, Mike Knappe, Cary

Fitzgerald, Tony Gallagher, David Oran, Fred Baker, Gavin Jin, Herb Wildfeur, Mark Rumer, Jas Jain, and Mark Monday for their

contributions to this design guide. I would also like to thank Telogy Networks for allowing use of their Fax over Packet White paper

in this guide.