Wednesday, December 23, 2009

Connecting a VoIP System to a Service Provider Network

A VoIP system that can place calls only to other devices on the IP network is only marginally useful; we still need to place calls out to the PSTN, and to do so we need to connect to a phone service provider, whether via traditional TDM links or ITSP connections. The device that acts as the interface to the PSTN is the voice gateway; it provides the physical connection and logical translation between two or more different network technologies.

Understanding Gateways, Voice Ports, and Dial Peers

The following sections establish some terms of reference.

Gateways
In the Cisco Unified Communications architecture, a gateway is typically a voice-enabled router with an appropriate voice port installed and configured. Gateways can have both analog and digital voice port connections, including analog FXO, FXS, and E&M or digital T l / E l or PRI interfaces.

Call Legs
A call leg is the inbound or outbound call path as it passes through the gateway. As the call comes into the gateway, it is associated with an inbound port. (This is the inbound call leg.) As the call is sent out another gateway port, this creates the outbound call leg. There will be inbound and outbound call legs at each gateway router.

Dial Peers
A dial peer is a pointer to an endpoint, identified by an address (a pattern of digits). Cisco gateways support two types of dial peers: POTS and VoIP. POTS dial peers are addressed with PSTN phone numbers, and VoIP dial peers are addressed by IP addresses. Dial peers identify the source and destination endpoints of call legs; an inbound call leg is matched to a dial peer, and the outbound call leg is routed to a destination dial peer. Depending on the direction of the call, the dial peers may be POTS inbound and VoIP outbound, vice versa, or possibly both VoIP. It is unlikely but not impossible that the

inbound and outbound dial peers would both be POTS. Each dial peer also defines attributes such as the codec to use, QoS settings, and other feature settings. Dial peers are configured in the gateway IOS, using either the CLI or GUI interface.

The partial output that follows shows a simple POTS dial peer configuration:


The number assigned to dial peers is arbitrary, although dial peer 0 exists by default and cannot be deleted. The keyword pots creates a POTS dial peer; the keyword voip would create a VoIP dial peer. The destination-pattern command identifies that the attached device (phone or PBX) terminates calls to the specified number (or a range of numbers if connecting to a PBX). The port command identifies the physical hardware connection the dial peer will use to reach the destination pattern.

The destination-pattern command associates a phone number with a dial peer. The specified pattern can be a specific phone number (as above, 8675309) or an expression that defines a range of numbers. The router uses the patterns to decide which dial peer (and associated physical port) it should route a call to. The following table briefly explains destination-pattern syntax.


Configuring VoIP dial peers is equally simple. Examine the following configuration:


In this example, the destination pattern is any four-digit number starting with "4." A new command, session-target, is used to identify the IP (version 4 in this case) address of the gateway or call agent that will terminate the call. If the IP address is on a router, it should be a loopback IP so that the address is always available even if a physical interface fails. The preceding configuration creates an H.323 dial peer (in contrast to a SIP dial-peer).


Routers attempt to match dial peers for the inbound call leg according to the following rules:

1. Look for the incoming called-number command in a dial peer that matches the called number or DNIS string of the inbound leg.

2. Look for the answer-address command in a dial peer that matches the calling number or ANI string of the inbound call leg.

3. Look for the destination-pattern command in a dial peer that matches the calling number or ANI string of the inbound call leg.

4. Look for the POTS dial peer port command that matches the voice port of the incoming call (POTS dial peers only).

5. If all of the above fail to match, match against Default Dial Peer 0 as a last resort.

The default dial peer 0 config for inbound POTS calls includes the following:

  • no ivr application
When a router is matching the dialed digits against the patterns in the configured dial peers, it attempts to find the longest match. This occurs on a digit-by-digit basis. Each successive digit may validate some patterns while eliminating others until a single pattern represents the longest match between the dialed digits and the destination pattern, at which point the call is routed to the outbound dial peer configured with that matching pattern.

Consider the following configuration:


Given this configuration, the following example dialed numbers illustrate how the patterns match dialed digits:
  • The dialed number 867-5309 will match dial peer 40 (exact 7-digit match)
  • The dialed number 867-4309 will match dial peer 30 (first four digits match)
  • The dialed number 867-3309 will match dial peer 20 (first four digits match)
  • The dialed number 876-5309 will match dial peer 10 (no other exact match, so the ".T" pattern matches)

Wednesday, December 2, 2009

Introducing VoIP Signaling Protocols

VoIP signaling protocols are responsible for call setup, maintenance, and teardown. A number of different protocols are in use—some standards-based, others proprietary, and each with advantages and disadvantages. The following sections introduce the signaling protocols you should know about, including SCCP, H.323, MGCP, and SIP.


VoIP Signaling Protocols

VoIP signaling protocols handle the call setup, maintenance, and teardown functions of VoIP calls. It is important to keep in mind that the signaling functions are an entirely separate packet stream from the actual voice bearer path (RTP). The signaling protocol in use must pass the supervisory, informational, and address information expected in any telephony system.

VoIP signaling protocols are either peer-to-peer or client-server; in the case of peer-to-peer protocols, the endpoints have the intelligence to perform the call-control signaling themselves, Client-server protocols send event notifications to the call agent (the Unified CM server) and receive instructions on what actions to perform in response. The following table summarizes the characteristics of the four signaling protocols dealt with here.


H.323
H.323 is not itself a protocol; it is an umbrella standard that defines several other related protocols for specific tasks. Originally conceived as a multimedia signaling protocol to emulate traditional telephony functionality in IP LAN environments, it is a long-established and stable protocol very suitable for intervendor compatibility. H.323 is supported by all Cisco voice gateways and CM platforms as well as some third-party video endpoints.


MGCP

Media Gateway Control Protocol is a lightweight client/server protocol for PSTN gateways and some clients. It is simple to configure and allows the call agent to control the MGCP gateway, eliminating the need for expensive gateways with intelligence and complex configurations. The gateway reports events such as a trunk going off-hook, and the call agent instructs the gateway on what to do; the gateway has no local dial plan because all call routing decisions are made at the call agent and relayed to the MGCP gateway. MGCP is not as widely implemented as SIP or H.323. MGCP is not supported by Unified CM Express or the Smart Business Communication System.


SIP

Session Initiation Protocol is an IETF standard that uses peer-to-peer signaling. It is very similar in structure and syntax to HTTP, and because it is text-based, it is relatively simple to debug and troubleshoot. SIP can use multiple transport layer protocols and can support security and proxy functions. SIP is an evolving standard that currently provides basic telephony functionality; further developments and extensions to the standard will soon make it feature-comparable with SCCP. One of its most important capabilities is creating SIP trunks to IP Telephony service providers, replacing or enhancing traditional TDM PSTN connections.


SCCP

Skinny Client Control Protocol is a Cisco-proprietary signaling protocol used in a client-server manner between Unified CM and Cisco IP Phones (and some Cisco gateways). SCCP uses TCP connections to the Unified CM to set up, maintain, and tear down voice and video calls. It is referred to as a stimulus protocol, meaning that it sends messages in response to events such as a phone going off-hook or a digit being dialed. SCCP is the default signaling protocol for all Cisco IP phones, although many also support SIP; SIP does not yet support the full feature set available to SCCP phones. All Cisco Unified Communications call agents (CM, CM Express, and the 500 Series) and some gateways support SCCP.

Friday, November 13, 2009

Understanding VoIP

The elements of traditional telephony—status, address and supervisory signaling, digitization, and so on—must have functional parallels in the VoIP world for systems to function as people expect them to, and more importantly, for VoIP to interact with the PSTN properly.

This section examines packetizing digital voice, signaling, and transport protocols, the components of a VoIP network, and the factors that can cause problems in VoIP networks and how they can be mitigated.


Understanding Packetization

IP networks move data around in small pieces known as packets. Because we know how to digitize our voice, it now becomes just another binary payload to move around in a packet. VoIP uses Digital Signal Processors (DSP) for the codec functions. The digitized voice is then packaged in an appropriate protocol structure to move it through the IP infrastructure.


DSPs

DSPs are specialized chips that perform high-speed codec functions. DSPs are found in the IP phones to encode the analog speech of the user and to decode the digitized contents of the packets arriving from the other end of the call. DSPs are also used on IOS gateways at the interface to PSTN circuits, to change from a digital circuit to packetized voice, or from an analog circuit to packetized voice. DSPs also change from one codec to another, allow conferencing and call park, and other telephony features. DSPs are a vital component of a VoIP system. Different chip types have varying capacities, but the general rule is that you want as many DSP resources available to you as possible. The DSP calculator on cisco.com will help you calculate what you must have.


Real-Time Transport Protocol (RTP)

RTP was developed to better serve real-time traffic such as voice and video. Voice payloads are encapsulated by RTP, then by UDP, then by IP. A Layer 2 header of the correct format is applied; the type obviously depends on the link technology in use by each router interface. A single voice call generates two one-way RTP/UDP/IP packet streams. UDP provides multiplexing and checksum capability; RTP provides payload identification, timestamps, and sequence numbering.

Payload identification allows us to treat voice traffic differently from video, for example, simply by looking for the RTP header label, simplifying our configuration tasks. Timestamping and sequence numbering allows VoIP devices to reorder RTP packets that arrived out of sequence and play them back with the same timing in which they were recorded, eliminating delays or jerkiness. There is no provision for retransmission of a lost RTP packet.

Each RTP stream is accompanied by a Real-Time Transport Control Protocol (RTCP) stream. RTCP monitors the quality of the RTP stream, allowing devices to record events such as packet count, delay, loss, and jitter (delay variation).

A single voice packet by default contains a payload of 20 msec of voice (either uncompressed or compressed). Because sampling is occurring at 8000 times per second, 20 msec gives us 160 samples. If we divide 8000 by 160, we see that we are generating 50 packets with 160 bytes of payload, per second, for a one-way voice stream.

If we use compression, we can squeeze the 160-byte payload down to 20 bytes using the G.729 codec. We still have 160 samples, still 20 msec of audio, but reduced payload size.

Codecs

The codecs supported by Cisco include the following:
• G.711 (64kbps)—Toll-quality voice, uncompressed.
• G.729 (8kbps)

• Annex A variant: less processor-intensive, allows more voice channels encoded per DSP chip; lower audio quality than G.729
• Annex B variant: Allows the use of Voice Activity Detection and Comfort Noise Generation;
can be applied to G.729 or G.729-A


The values for bandwidth shown do not include the Layer 3 and Layer 2 overhead; the actual bandwidth used by a single (one-way) voice stream can be significantly larger. The following tables summarize the additional overhead added by packetization and Layer 2 encapsulation (assume 50 packets per second (pps):


When using G.729, the RTP/UDP/IP header of 40 bytes is twice the size of the 20B voice payload. This consumes significant bandwidth just for header transmission on a slow link. The recommended solution is to use Compressed RTP (cRTP) on slow WAN links. cRTP reduces the RTP/UDP/IP header to 2 bytes without checksums or 4 bytes with checksums. The effect of using cRTP is illustrated in the following table. (Note: Ethernet is not included because it is not classified as a slow link.)

Voice Activity Detection (VAD)

Phone conversations on average include about 35% silence. In Cisco Unified Communications, by default silence is packetized and transmitted, consuming the same bandwidth as speech. In situations where bandwidth is very scarce, the VAD feature can be enabled, causing the voice stream to be stopped during periods of silence. The theory here is that the bandwidth otherwise used for silence can be reclaimed for voice or data transmission. VAD also adds Comfort Noise Generation (CNG), which fills in the dead silence created by the stopped voice flow with white noise. VAD should not be taken into account during the network design bandwidth allocation process because its effectiveness varies with background noise and speech patterns. VAD is also made ineffective by Music on Hold and fax features. In reality, VAD typically causes more problems than it solves, and it is usually wiser to add the necessary bandwidth.


Additional DSP Functions

In addition to digitizing voice, DSP resources are used for the following:
  • Conferencing: DSPs mix the audio streams from the conference participants and transmit the mix (minus their own) to each participant.
  • Transcoding and Media Termination Points (MTP): A transcoder changes a packetized audio stream from one codec to another, perhaps for transit across a slow WAN link. MTPs provide a point for the stream to be terminated while other services are set up.
  • Echo Cancellation: DSPs provide the calculation power needed to analyze the audio stream and filter out the repetitive patterns that indicate echo. Echo is a chief cause of perceived poor voice quality; echo cancellation is an important function.

Thursday, October 29, 2009

Introduction to Digital Circuits

Digital circuits have the chief advantage of allowing a much higher density of calls on a given physical connection; an analog circuit can handle only one call at a time, whereas a digital circuit can handle many.

There are two main types of digital circuits: Common Channel Signaling (CCS) and Channel Associated Signaling (CAS). CAS circuits are available in two speeds: Tl at 1.544Mbs supports 24 calls, and El at 2.048Mbs supports 30 calls. (For these values, we are assuming the calls are not compressed; more on this later). CCS circuits are designated as PRI T l , PRI E l , and BRI. A PRI Tl can support 23 calls, a PRI El 30, and a BRI only 2.

The use of a digital circuit by definition implies that the voice signal must be digitized; the conversion from analog to digital is performed by a codec. The following sections discuss the conversion of analog to digital.


Digitizing Analog Signals

There are four steps in the process of digitizing analog sound:

1. Sample the analog sound at regular intervals
2. Quantize the sample
3. Encode the value into a binary expression
4. Optionally compress the sample

Sampling could be done any number of times per second; the more samples taken per second, the higher the audio quality, but the amount of digital data produced is much larger. Nyquist's theorem states that the sampling interval should be 2x the highest frequency of the sample to produce acceptable audio quality during playback. Because the highest frequency in human speech that we want to reproduce in telephony is around 4000 Hz, the sampling rate for standard tollquality digital voice is 8000 intervals per second. By contrast, CD music audio, which must encode both much higher and much lower frequencies, samples at about 192,000 times per second.


Quantizing refers to making a digital approximation of an analog waveform. Imagine drawing an arc on a chessboard; if you had to define the arc using only the square it was in for each row (segment) and column (interval), you would end up with a stepped pattern that was sort of close to the original arc but not exact. This is exactly the process that happens with quantization: the codec chooses a segment value that is as close as possible to the analog value at the interval it was sampled, but it cannot be exact. To make the quantization more accurate, each sample is divided into 16 intervals that are adjusted to more closely match the sampled wave. Furthermore, the segments are actually more fine-grained at the origin than at the high and low ranges. This is because most of the human speech we are trying to capture accurately is in this center range of the scale; there are fewer sounds at the very highest and lowest values.


Encoding the signal is a simple process. We have a single 8-bit code word to identify whether the analog signal was a positive or negative voltage, what value the signal was quantized to (which segment), and finally, which interval is represented by the code word. The first bit identifies either positive voltage (1) or negative (0). The next three bits represent the segment. There are eight segments in the positive range and eight segments on the negative range, so three bits provide the necessary encoding for the quantization. The last four bits identify the interval. A code word example is shown next:

1 0 0 1 1 1 0 0

In this case, the first 1 indicates a positive voltage; the next digits of 001 indicate this is the first segment (on the positive side), and 1100 indicates the twelfth interval.

The code word is 8 bits; we generate a code word 8000 times per second (the sample rate). This gives us a bitrate output of 8 x 8000 = 64,000 bps (64 kbps). The process we just described is known as Pulse Code Modulation (PCM) and is the standard for uncompressed digital voice in telephony. One voice stream thus requires 64k of bandwidth for transport.

Compression is not a required step, but it is often done to save bandwidth in VoIP environments. The two main types of compression we are concerned with are the following:
  • Adaptive Differential PCM (ADPCM): This method does not send entire code words, but instead sends a smaller code that represents the difference between this word and the last one sent. This is not commonly used today, because it produces lower voice quality and compresses down only to about 16 kbps.
  • Conjugate Structure Algebraic Code Excited Linear Prediction (CS_ACELP): As the name suggests, this is more complex compression. Based on a dictionary or codebook of known sounds made by a standardized American male voice, the digital sample is analyzed and compared to the dictionary. The dictionary code that is the closest to the sample is sent. The codebook is constantly learning. The output of this compression is typically 8 kbps—withvery little degradation of voice quality. This compression is widely used in VoIP.

Time Division Multiplexing (TDM)

TDM is the primary technology used in traditional digital voice; it is also extensively used in data circuits. The basic premise is to take pieces of multiple streams of digital data and interleave them on a single transmission medium.


T1 Circuits

On a Tl circuit, there are up to 24 channels available for voice. 64k from conversation 1 is loaded into the first Tl channel, then 64k from the conversation 2 is loaded into the second channel, and so on. If not enough conversations exist to fill the available channels, they are padded with null values. The 24 channels are grouped together as a frame. Depending on the implementation, either 12 frames are grouped together as a larger frame (called SuperFrame or SF), or 24 frames are grouped together (called Extended SuperFrame or ESF). T l s are typically full duplex, with two wires sending and the other two wires receiving.


E1 Circuits

An El is very similar to a T l . There are 32 channels, of which 30 can be used for voice. (The other two are used for framing and signaling, respectively.) The 32 channels are grouped together as a frame, and 16 frames are grouped together as a multiframe. El circuits are common in Europe and Mexico, with some El services becoming available in the United States.


Channel Associated Signaling (CAS)—T1

Although the 64 k channels of a Tl are intended to carry digitized voice, we must also be able to transmit signaling information, such as on-hook and off-hook, addressing, and so forth. In CAS circuits, the least significant bit of each channel in every sixth frame is "stolen" to generate signaling bit strings. SF implementation takes 12 frames and creates a SuperFrame. Using one bit per channel in every sixth frame gives two 12-bit signaling strings (known as A and B) per SuperFrame. The A and B strings are used to signal basic status, addressing, and supervisory messages. In ESF, 24 channels are in an Extended SuperFrame, which gives A, B, C, and D signaling strings. These can be used to signal more advanced supervisory functions.

Because CAS takes one bit from each channel in every sixth frame, it is known as Robbed Bit Signaling (RBS). Using RBS means that a slight degradation occurs in voice quality because every sixth frame has only 7 instead of 8 bits to represent the sample; however, this is not generally a perceptible degradation.


Channel Associated Signaling (CAS)—T1

El signaling is slightly different. In an El CAS circuit, the first channel (channel 0 or timeslot 1) is reserved for framing information. The 17th channel (channel 16 or timeslot 17) contains signaling information—no bits are robbed from the individual channels. Timeslots 2-16 and 18-32 carry the voice data. Each channel has specific bits in timeslot 17 for signaling. This means that although El CAS does not use RBS, it is still considered CAS; however, the signaling is outof-band in its own timeslot.


Common Channel Signaling (CCS)

CCS provides for a completely out-of-band signaling channel. This is the function of the D channel in an ISDN PRI or BRI implementation. The full 64 k of bandwidth per channel is available for voice; instead of generating ABCD bits, a protocol known as Q.931 is used out-of-band in a separate channel for signaling. An ISDN PRI Tl provides 23 voice channels of 64 k each (called Bearer or B channels) and one 64 k D (for Data) channel (timeslot 24) for signaling. An ISDN PRI El provides 30 B channels and 1 D channel (timeslot 17); an ISDN BRI circuit provides two 64 k B channels and one D channel of 16 k.

Saturday, October 17, 2009

Introduction to Analog Circuits

Analog (in contrast to digital) circuits are still the most common telephone connections worldwide. The phone line to a North American home is most commonly an analog loop circuit, although more and more digital phone services are being installed. Cisco gateways must connect to various analog services to place calls to the PSTN; the analog circuits that Cisco supports are Foreign Exchange Station (FXS), Foreign Exchange Office (FXO), and Earth and Magneto (E&M). This section examines the components of an analog telephone and the signaling methods used by analog circuits.


Components of an Analog Phone

An analog phone includes the following components:
  • Receiver: The handset speaker
  • Transmitter: The handset microphone
  • 2-wire/4-wire hybrid: Converts 2-wire from the CO to 4-wire in the phone
  • Dialer (tone/pulse): The dialing keypad or rotary dial
  • Switch hook: The switch that closes/opens the circuit (off-hook/on-hook)
  • Ringer: Sounds to indicate inbound call

Foreign Exchange Station

An FXS port connects directly to an analog phone or fax machine. Switches (including CO switches and PBXs) and Cisco gateways will have FXS ports to connect an analog phone. The switch or FXS gateway port must provide power, call progress tones, and dial tone to the analog device. An FXS port on a gateway is also the direct connection to the VoIP network and consequently also contains a coder-decoder (Codec) to convert the analog signal to digital for packetization. Alternatively, a Cisco Analog Telephony Adapter can serve as a remote FXS-to-Ethernet converter to connect an analog station to the VoIP network.

Foreign Exchange Office

An FXO port connects to the PSTN CO switch. If you want to connect your gateway router to the phone company over standard analog lines (that you could plug your analog phone into), you use FXO ports. These ports allow the gateway to place and receive calls to/from the PSTN. FXO ports also include a codec.


Loop-start signaling is commonly associated with local loop circuits (such as an analog line to the PSTN); it is seldom seen on trunk connections. A local loop is a two-wire service that uses very simple electrical signaling; remember that this technology has been in use and substantially unchanged for 100 years!

Following is the loop-start process:

1. A phone that is on-hook breaks the electrical circuit; we say opens the circuit. No electricity can flow because of the open circuit.

2. When the receiver is lifted, the circuit closes and electricity flows. This current is -48V DC. The CO switch that is connected to the local loop detects the current flow and interprets this as an attempt to place a call—we say "seize a circuit." The CO switch plays dial tone down the line to the phone as an indication that it is prepared to collect digits.

3. If the phone is on-hook and the CO switch has a call inbound for it, the CO switch applies 90V AC current to the open circuit; because it is AC, the current can be applied even on the open circuit. By the way, this is why you should not have an analog phone near the bath. The DC voltage won't do much, but you will definitely know it if the phone rings and you get zapped by the AC voltage.

Loop-start works very well for homes or other lightly used circuits, but if it is in constant use, a problem known as glare can occur; this refers to both ends of the circuit being seized at the same time, so that you pick up the phone and there is a caller on the line at the same moment, by coincidence.


Ground-Start Signaling

Ground-start signaling is an adaptation of loop-start. Instead of the circuit being closed only at the phone end, both ends of the circuit have the capability to detect current, and both ends can request and confirm the use of the circuit. This is achieved by both ends being able to ground one of the wires in the circuit. These wires (or leads) are referred to as Tip and Ring. These terms date back to the use of 1/4-inch jacks with a positive contact at the tip and a negative conductor in the ring. The advantage is that it makes glare much less likely, and consequently ground-start is appropriate for trunk connections that are heavily used. However, it is very rare to see a ground-start trunk in a VoIP network or indeed in any new trunk deployment.

The ground-start process as it occurs on a trunk between a PBX and the CO switch is described next; refer to the diagram for each step:

1. The PBX has a call that it must send to the PSTN. It signals to the CO switch that there is an inbound call by grounding the ring lead.

2. The CO senses the ring lead as grounded and grounds the tip lead to signal the PBX that it is ready to receive the call.

3. The PBX senses the tip ground and closes the loop between tip and ring in response; the PBX also removes the ring ground.

4. The voice circuit is complete, and communication can begin.


E&M Signaling

Variously called "Ear and Mouth," "RecEive and TransMit," and "Earth and Magneto," E&M analog trunks were typically used to interconnect PBXs (tie-trunks). E&M connections have separate leads for signaling and voice; the signaling leads are known as the E and M leads.

In an E&M connection, one side is called the trunk side; this is usually the PBX side. The other side is called the signaling-unit side; this is the CO, channel-bank, or Cisco gateway E&M interface. The E lead is used to indicate to the trunk side that the signaling-unit side has gone off-hook; conversely, the M lead is used to indicate to the signaling-unit side that the trunk side has gone off-hook.

Five types of E&M signaling exist, numbered Type I through Type V. In a Cisco Gateway application, Types II and V can be connected back-to-back and Type I cannot be. Cisco does not support Type IV.

Three main techniques are employed in E&M circuit signaling:
  • Wink Start: The terminating side (for example, a Cisco Gateway) uses a brief off-hook-on-hook "wink" to acknowledge that the originating side (for example, a PBX) has gone off-hook. Upon receipt of the wink, the originating side begins sending digits. When the far-end device answers the call, the terminating side goes off-hook and the voice circuit is then set up.
  • Immediate Start: The originating side goes off-hook, waits a set time (perhaps 200ms), and then begins sending digits whether or not the terminating side is ready.
  • Delay Dial: Assume that a PBX is placing a call outbound to the PSTN: First, the PBX goes off-hook. The CO then goes off-hook until it is ready to receive digits; it then goes on-hook. (This time period is the delay dial signal.) The PBX sends digits. When the far-end device answers the call, the CO goes off-hook (called Answer Supervision), and the voice circuit is then set up. The advantage of Delay Dial is that some equipment is not ready to receive digits instantly, even though it has sent the wink; the delay compensates for this.

Tuesday, October 6, 2009

Understanding Traditional Telephony

The PSTN, or Public Switched Telephone Network, is made up of Central Office switches to which subscriber lines are connected. The CO switch is programmed so that it knows which phone number (subscriber line) is attached to a particular port. If the number called is not on the local switch, the call is routed over an interoffice trunk to another switch, which may have the called subscriber line connected directly to it or may in turn route the call to other CO switches. Telephone numbering plans are organized so that calls are routed efficiently through the switch system to the correct destination switch.

Note that for our purposes, a line connects to a single phone number and supports one call at a time, whereas a trunk interconnects two switches and supports multiple calls at a time.


Business Telephony Systems

Businesses have more elaborate requirements of the telephone beyond simply placing calls. Over time, two main types of business systems have evolved: the PBX and the Key System. Both have their place, and both offer calling features that make it easier to carry on business both internally and externally with staff, customers, and suppliers.


Business telephone systems often use a Private Branch Exchange (PBX) switch, usually located in their building. The PBX is configured in much the same way as the PSTN CO switch: it holds the dial plan for all numbers within the business, and external calls are routed over a CO trunk to the PSTN CO switch if the called number is not on the PBX. As a business grows, it is common to install another PBX in another location or building and set up a special trunk (called a tie-line or tie-trunk) between the PBXs so that calls to the remote location are still internal numbers (typically 4- or 5- digit numbers) instead of PSTN calls.

A PBX consists of a control plane (the "brain"), a terminal interface that connects phones to the features they want to use, a switching engine that determines which port to route a call out, line cards to connect to phones, and trunk cards to connect to the PSTN or to tie trunks to other PBXs. PBXs come in a variety of sizes, supporting from 10 to 20,000 phones. All PBXs offer basic calling features, with additional advanced features optional based on hardware capability and licensing. These features typically include Hold, Transfer, Conference, Park, Voice Mail, and so forth.

Key Systems
Smaller businesses will sometimes use a key system. A key system is like a PBX in that it controls a group of local phones, but key systems tend to have fewer features than PBXs. One characteristic of key systems that many businesses specifically request is distributed answering from any phone; that is, all the phones ring at once, and whoever is able to pick up Line 2 (for example) can push the Line 2 button on any phone and take the call. PBXs don't normally do this; they have a central answering point (a receptionist or Auto Attendant) and Direct Inward Dial numbers (DIDs) if needed.


Telephony Signaling

Telephony signaling refers to the messages that must be sent to set up and tear down a phone call—that is, anything other than the actual voice. Following are the three types of telephony signaling:

  • Supervisory: Communicates the current state of the telephony device. There are three types of supervisory signals:
  • On-Hook: The phone is hung up. Only the ringer is active in this state. (Note that if the speakerphone button is pressed, this is the same as being off-hook.)
  • Off-Hook: The phone receiver is out of the cradle. This signals the phone switch (PSTN, PBX, or Key) that the phone wants to make a call; the switch sends a dial tone to indicate that it is ready to receive digits.
  • Ringing: The switch sends voltage to the phone to make it ring, alerting the user that there is an inbound call. The other end of the call hears a ringback tone.

  • Address: Communicates the digits that were dialed. Address signaling is most commonly done using Dual Tone Multi Frequency (DTMF) tones, commonly known as TouchTone dialing. The combination of tones tells the switch what number was pressed. Older systems also support pulse dialing, which is what the old-fashioned rotary dial phones used. Pulse dialing works by repeatedly opening and closing the circuit to the phone switch; the switch counts the number of pulses and interprets that as the number dialed. You might have seen in really old movies when someone picks up the phone and taps the receiver cradle repeatedly; this was how you got the attention of the operator.

  • Informational: Communicates the call status to participants in the call. Informational signals include dial tone, ringback tone, and reorder tone. These tones, and others not mentioned here, will vary from country to country. In England, for example, ringback tone sounds very different from what would be heard in North America.

Signaling System 7 (SS7)

SS7 is a global telephony standard that allows a phone call to be routed between CO switches, between long-distance carriers, and even between national telephone providers in other countries. SS7's primary role is to complete the setup and teardown of phone calls; this is quite a distinct process from the actual transport of the voice signal. In fact, the call control information in an SS7 network must traverse an entirely separate network from the voice path. The capabilities of SS7 have allowed the introduction of relatively complex value-added services, such as call screening, number portability, and prepaid calling cards.

PSTN Call Setup

To make a PSTN call, several steps occur that the caller is unaware of. The following steps refer to Figure 7.


1. The calling phone goes off-hook, closing the circuit to the local CO switch.

2. The local CO switch detects that current is flowing over the closed circuit and sends a dial tone to the calling phone.

3. Address signals (DTMF or pulse) are sent as the calling party dials the called number.

4. The local CO switch collects the digits and makes its routing decision; in this example, it uses an SS7 lookup to locate the destination CO switch.

5. Supervisory signaling indicates to the far-end trunk that a call is inbound.

6. The PBX determines which internal line the call should go to and causes the connected phone to ring.

7. The ringback tone is heard at the calling party end.

8. The called party goes off-hook, and a voice circuit is established end-to-end.

The fact that all this happens with very high reliability billions of times every day is pretty impressive. It also provides some insight into how complex it is to duplicate these functions in a VoIP system. More on that later.

Sunday, September 27, 2009

Unified Communications

Today's work environment can be very different from what our parents experienced. The business environment is more competitive, with an unrelenting pressure to be more efficient, to react quickly, and to make important decisions instantly. Efficiencies can be gained by reducing costs, which in turn increases profit, but significant gains can also be made by investing in the business infrastructure so that productivity increases dramatically. Increased productivity means more opportunities to profit from a newfound competitive edge. This is known as Return on Investment, or ROI. The goal is to maximize the ROI—for every dollar spent, businesses want to see more dollars earned, or at least fewer dollars wasted.

One area in which businesses have found ways to improve their ROI is in their communications. The evolution of communications from traditional telephony, through cell phones, to smart phones and email, and now to Unified Communications, has created opportunities for businesses to access information and get it to workers instantly. Unified Communications puts voice, data, and video on a converged single network. This makes monitoring, administering, and maintaining the network simpler and more cost effective than if three separate systems existed. Unified Communications also puts powerful applications with information-distribution features right where they are needed. Workers today can be almost anywhere and can carry out meaningful or even critical tasks anywhere they can get a connection to the converged network.

The next significant feature of a Unified Communications system is that it is easy to scale, adding more users, more locations, and even more features. Because the Cisco Unified Communications system is a distributed collection of devices, functions, and features that are linked by common protocols, adding a new component is much simpler, and integration of the new component's capabilities and features can appear seamless to the people who use the system.

The components required to create and use such a system are numerous and complex. Cisco has taken significant steps to develop, document, release, and support the various components as an integrated system. The next section examines the components of a Unified Communications system and introduces the devices and applications that make up the system.


Key Components of the Unified Communications Architechture


  • Infrastructure Layer: This layer refers to the network itself, made up of connected switches, routers, and voice gateways. This is the converged network that carries data, voice, and video between users on the system.
  • Call-Processing Layer: This layer manages the signaling of voice and video calls. When a user picks up the phone and dials a number, the call processing agent determines how to route the call, instructs the phones to play dial tone or to ring, and records the details of the call for future analysis. The call agent carries out many other functions; it can be considered the equivalent of a traditional PBX system, but with many more features.
  • Applications Layer: This layer features elements such as voice mail, call-center applications, billing systems, timecard or training systems, and customer resource management applications—to name just some of the many applications that can integrate with, draw from, or otherwise complement the Unified Communications systems. Because the Unified Communications systems are distributed (meaning not constrained to one box or even one location), the applications can be hosted almost anywhere, given appropriate connectivity.
  • Endpoint Layer: This layer includes the parts of the system that the users see, hear, or touch. This includes Cisco Unified IP Phones, PCs with software phones, video terminals, or other applications that send and receive information from the Unified Communications system.

Infrastructure Layer

At the infrastructure layer, we are building the connections between all the devices that send and receive data, voice, and video. These include Layer 2 and 3 switches, routers, and voice gateways. Voice gateways are among the most important components because they provide the connection to the PSTN or other network carriers. One of the critical functions (and one that is unfortunately often underemphasized in many deployments) is quality of service, or QoS. QoS provides service guarantees to various types of network traffic, in particular voice and video traffic. Without QoS, you can experience poor call quality or even failed calls. Infrastructure design and deployment is literally the foundation of the system; if any weaknesses exist here, they will manifest as system failures or unreliability. It is very important to build a solid and correct foundation. The goal is to achieve 99.999% uptime; achieving that goal takes careful attention and good design.


Call Processing Layer

The call processing layer is chiefly about the call agents. A call agent is not a person; it is an application that looks at the signaling traffic from devices that place and receive calls, and it determines what to do with the call. A Unified IP Phone sends a packet to the call agent when you lift the receiver; the call agent instructs the phone to play a dial tone. When you begin dialing a number to call, the call agent receives the digits and tries to find a match for the number in its dial plan. If the destination number is a phone that it controls, it tells the called device to ring. During the call, the call agent also sets up other services, such as Hold, Call Park, Transfer, Conference, and so on. The call agent also instructs the phones to tear down the call when one party hangs up. The call agent usually keeps detailed records of each call made; these are commonly used for billing purposes or troubleshooting.

Cisco provides several options for call agents, matched to the size and requirements of the customer:
  • The Cisco Smart Business Communications System is designed for small businesses with up to 48 users. The system runs on the Cisco Unified Communications 500 Series for Small Business devices.
  • Cisco Unified Communications Manager Express serves up to 240 users and runs on the Integrated Services Router platforms.
  • Cisco Unified Communications Manager Business Edition handles up to 500 users and runs as a standalone installation on a 7800-series Media Convergence server.
  • Cisco Unified Communications Manager can handle 30,000 or more users and runs on clusters of 7800-series Media Convergence servers.

Smart Business Communications System


The Smart Business Communications System is a group of specially designed, integrated devices that can provide highquality routing, firewall, intrusion prevention, Power over Ethernet, wireless, and many WAN and PSTN connectivity options. It is essentially a solution-in-a-box, with a simple web-based interface that is largely plug and play. The Unified Communications 500 Series devices are small and inexpensive, providing the kind of connectivity options small businesses need to allow them to take advantage of Unified Communications with a good ROI. The SBCS is expandable using 500-series switches, and the call agent software can support up to 48 phones. Voice mail and Auto-Attendant functions are provided by the integrated Cisco Unity Express application.


Unified Communication Manager Express


Cisco Unified Communication Manager Express is a software feature that can run on the ISR-series router platforms, including the 800, 1800, 2800, 3800, and 7200-series platforms. The call agent application is embedded with the Cisco IOS software and is configured either from the command line or a Web-based interface. Unified CM Express is a fullfeatured call agent that is cost-effective, reliable, and scalable and integrates with both Service Provider connections and Unified Communications Manager clusters. With support for both H.323 and SIP protocols, site-to-site connections are possible in a variety of environments. The Unified CM Express system can be set up either as a PBX or a Key switch system, providing customers with a familiar experience that suits their operating environment.


Unified Communications Manager, Business Edition

Unified Communications Manager, Business Edition is a standalone installation of the Unified CM application and Cisco Unity Connection, coresident in a single MCS 7800-series appliance. This system can support up to 500 users in a single site or multisite centralized deployment and can be migrated to a full CM cluster if growth necessitates it. Unified CM Business Edition provides medium-size businesses with advanced features such as Mobility (a.k.a. Single Number Reach), Do Not Disturb, Intercom Whisper, and Audible Message Waiting Indication, as well as speech recognition and integrated messaging. Because Unified CM Business Edition uses the same call agent software as a full cluster deployment of Unified CM, it supports full integration with the other Unified Communications applications, such as Unified Presence, Unified Personal Communicator, MeetingPlace Express, Contact Center Express, and so on.


Unified Communications Manager

The full version of Unified Communications Manager is an enterprise-class, fully scalable, redundant, and robust distributed packet-telephony application. Scalable to 30,000 users per cluster, with the capability to form intercluster connections, it can support a global unified communications system for hundreds of thousands of endpoints. Unified CM versions prior to 5.x are Windows based, whereas versions 5.x and 6.x are Linux-based appliances.

Applications Layer

There are effectively a limitless number of applications that can be part of a Unified Communications system, because third-party applications can be developed to closely integrate with the Cisco suite of products. The following is a list of the more common applications found in a Unified Communications system:
  • Voice Mail: Voice mail can be provided using Cisco Unity, Unity Connection, or Unity Express. Unity and Unity Connection run on the MCS 7800 series platforms, and Unity Express is a self-contained module that is added to an ISR router and administered through the command line and GUI. The maximum mailboxes and recording time capacities vary depending on which module (either Advanced Integration Module or Network Module) is installed in the router.
  • Cisco Emergency Responder: This application tracks the location of an IP telephony device based on the physical switch port it is connected to. This information is attached to the caller information in the event the device calls 911, which in turn allows 911 responders to locate the device (and therefore presumably the emergency) more precisely. 911 operation in a Unified Communications environment is a major design challenge because a VoIP phone system can easily throw out the premise that a PSTN call is placed from the same location as the phone that made it.
  • Cisco Unified Contact Center [Express]: This is a call center application with full feature support for advanced call distribution, supervision, escalation and logging. Versions are available to support small and large call centers.
  • Cisco Unified Meeting Place [Express]: This is a full-featured web-conferencing application enabling voice and video conferencing as well as document sharing and collaboration, whiteboarding, and conference participant management.
  • Cisco Unified Presence: This extends the native capabilities of Unified CM 6.x+ to indicate presence information. The native capability includes on/off hook status in speed dials and call lists, whereas the full applications server provides detailed presence information as typically found in chat applications ("On the Phone," "Out to Lunch," "Do Not Disturb," and so on).

Endpoints Layer

An increasing variety of Cisco Unified IP Phones (and third-party IP phones) can be part of a Unified Communications deployment. All Cisco Unified IP Phones provide a display-based user interface, user customization, Power over Ethernet capability (where appropriate), and support for G.711 and G.729 codecs (and, on some models, Cisco Wideband and/or iLBC codecs).

Understanding Unified Communications Applications

In this section, we examine the variety of applications available for integration in a Unified Communications environment, including Messaging, Auto Attendant, Interactive Voice Response (IVR), Contact Center, Mobility, and Presence.

Messaging

A variety of messaging options are available to suit the needs of businesses small and large. The following table provides a summary of the options.


Cisco Unity Express

Unity Express is an ISR-based application that runs either on an AIM module or an NM module. AIM modules are connected to the main board as a daughter board addition and use flash memory for greetings and message storage. AIM modules therefore have less capacity for storage. NM modules are inserted into module bays in ISR routers, use a hard disk for greeting and message storage, and have greater capacity for storage than AIM modules. Unity Express supports from 4 to 16 concurrent sessions and 12 to 250 mailboxes (dependent on the module and platform installed). Unity Express is managed through the command line or a web-based GUI. It allows users to view and sort their voice messages using the IP Phone display, email application, or IMAP client. Unity Express can be deployed in conjunction with Unified CM or CM Express and can supplement a full Unity deployment.


Cisco Unity Connection

Unity Connection is a medium-size business solution with a full range of messaging features. It can be deployed on its own or as a coresident installation as part of Unified Communications Manager Business Edition on suitable MCS platforms. When deployed as part of CM Business Edition, Unity Connection supports up to 500 users; when deployed as a standalone application, Unity connection supports up to 3000 users per server (dependent on hardware). Scalability is achieved by networking up to 10 other Unity messaging products of any type. Fourteen languages are supported for deployments worldwide. Unity Connection also supports speech recognition, allowing users to speak commands to manage their messages hands-free. Multiple interfaces are supported for managing messages from an IP Phone, an email client, a web GUI, or Cisco Unified Personal Communicator. Users can define their own rules to transfer calls based on caller, time of day, and Microsoft Exchange calendar status.


Cisco Unity

Unity is the enterprise-class messaging application with support for up to 7500 users per server and up to 250,000 users in a multi server networked environment. Interoperability with legacy voice-mail systems, notably Octel and Nortel systems, allows a phased transition to IP messaging with minimal disruption to users. Unity supports 35 languages, facilitating deployments worldwide. Full unified messaging is possible with connectors for Exchange, Notes, and GroupWise, providing a single inbox for email, voice mail, and fax messages. Text-to-speech capability allows users to have their emails read to them over the phone by the RealSpeech engine; speech recognition is also available so users can instruct Unity to play, search, or record messages hands-free. Secure messaging is supported, allowing encrypted messages and preventing messages that have expired from being played. Access to messages is made simple, intuitive, and possible from almost anywhere.


Auto Attendant

An Auto Attendant is basically an advanced answering machine; instead of only one message, it can play several, depending on the date and time, which number was called, and most importantly, what numbers the callers pressed in response to the greeting they heard. If you have ever heard: "For service in English, press I. Pour service en Francais, appuyez sur le 2 . . . , " you have been served by an Auto Attendant. Typically, Auto Attendants allow callers to select the department or extension they want to call, and often they allow the caller to spell out a first or last name to search in the company directory. Cisco Unity, Unity Connection, and Unity Express all provide Auto Attendant functionality; Unity and Unity Connection include a simple web interface that makes it very easy to construct menus and test to see that they work as you intended.


Cisco Unified IP IVR

Although Auto Attendants are useful, their functionality is limited to pretty basic menu navigation. To scale this functionality up to call-center size, and especially to include speech recognition, prompt-and-collect ("Please enter your 10-digit account number, followed by the # sign"), Text-to-Speech, database integration, and Java application integration, a much more advanced IVR application is required. Cisco Unified IP IVR has all these advanced capabilities. Call centers that have a high call volume and many possible queues of callers waiting for different agent capabilities can effectively deploy Unified IP IVR to steer callers to the correct agent, or perhaps to an automated information source without the need to tie up an agent at all. Unified IP IVR includes the capability to provide both real-time and historical reports on its utilization and offers multiple-language support.


Cisco Unified Customer Voice Portal

For the very largest call centers, the Unified CVP product provides advanced IVR, including speech recognition, advanced queuing, integration with Cisco Unified Contact Center (Enterprise and Hosted), and powerful call routing, management, and reporting features.


Cisco Unified Contact Center

Cisco provides a range of Contact Center products for SMB, Enterprise, and Service Provider applications. Customer contact solutions provide multiple avenues to reach and interact with customers, including basic telephony as well as feature-rich web, email, and even video interaction. The three Contact Center products are described next:
  • Cisco Unified Contact Center Express: Suitable for 10 to 300 agents, it provides sophisticated call routing, outbound dialing capabilities, comprehensive contact management, and chat and web collaboration in a singleserver, integrated "contact center in a box."
  • Cisco Unified Contact Center Enterprise: Provides intelligent contact routing, call treatment, network-to-desktop computer telephony integration (CTI), and multichannel contact management. It combines multichannel automatic call distributor (ACD) functionality. Sophisticated monitoring allows customers to be routed to the most appropriate agent (based on real-time conditions such as agent skills, availability, and queue lengths) anywhere in the enterprise, regardless of the agent's location.
  • Cisco Unified Contact Center Hosted: An application hosted by service providers, who then lease its functionality to customers who want a virtual contact center without the need to manage and maintain it themselves. Subscribing business customers can have IP or time-division multiplexing (TDM) infrastructures or a combination of the two. Contact Center Hosted provides all the advanced capabilities found in Contact Center Enterprise.

Cisco Unified Mobile Solutions

Today's workforce is mobile, distributed, and utilizes multiple technologies to communicate. The desire to have a seamless transition between the various ways in which people can be reached has spurred the development of mobility features in Cisco Unified Communications. The key products are the following:
  • Cisco Unified Mobility: (a.k.a Single Number Reach) Allows multiple remote destinations (commonly a cell phone, a home office phone, or other work location) to be configured to ring at the same time as the worker's enterprise desk phone. Thus, when a customer calls your work number while you are on your way to a meeting, your cell phone can ring and you can answer without the customer realizing you are away from your desk. Furthermore, if you return to your desk, you can simply pick up your desk phone and continue the call. A related feature, called Cisco Mobile Voice Access, allows users to place calls from their enterprise desk phone from a remote location or a cell phone. By dialing a configured number and entering an access code, the enterprise system will prompt for the number you want to call, and the call will be placed as if you were at your desk. This is useful not only for presenting the preferred Caller-ID number to the customer, but also potentially for long-distance toll savings.
  • Cisco Unified Personal Communicator: A desktop PC (or Mac) application that combines a software IP Phone, IM client, video, and online collaboration capabilities. Presence indications ("Busy," "In a call," "Away," "Do Not Disturb," and so on) can save time and enhance productivity because users can see the status of the person they want to contact before trying to reach them. Integration with an Outlook toolbar provides click-to-call or click-to-chat from a message or contact.
  • Cisco Unified IP Communicator: A fully functioned software IP Phone, often characterized as a "7970 under glass." Users can place and receive calls from their PCs from anywhere that connectivity to the call agent can be established. This is typically achieved through a VPN connection; it is perfectly possible to place a call from an airport boarding lounge or your local coffee shop. Unified IP Communicator can be enhanced with Unified Video Advantage, which integrates a PC webcam for video calls.
  • Cisco Unified Mobile Communicator: An application for smart mobile phones that provides access to enterprise directories, presence indicators, secure text/chat, voice-mail access, call history of any of the user's phones displayed on the mobile handset, and collaboration and conferencing integration with Unified Meeting Place.
  • Cisco Unified Presence: A server-based application that extends the on/off hook status monitoring capability of Unified CM 6.x to include IM-like status messages. Status indications can be displayed or integrated with Personal Communicator, Mobile Communicator, IP Phone Messenger, the Microsoft Office Connector, and IBM Sametime Communicator.

Cisco Telepresence

Cisco Telepresence is a state-of-the-art high-definition videoconferencing system. A specially designed system of furniture, cameras, monitors, and microphones creates a life-sized illusion of a meeting whose participants may be half a world apart. With 1080p HD video, CD-quality spatial audio, and high-quality lighting, the experience is dramatic to say the least. In combination with the Telepresence Multipoint Switch, up to 36 locations can be included in a single conference with nearzero latency. This can only be described as a high-end solution, with commensurate demands on bandwidth.