Voice Over IP Preparing Your Organization For Convergence Missouri Valley Comm. Assoc. 14 April, 2003

Download as pdf or txt
Download as pdf or txt
You are on page 1of 78

Voice over IP Preparing your

organization for convergence


Missouri Valley Comm. Assoc.
14 April, 2003

Walt Magnussen
Associate Director for
Telecommunications
Texas A&M University
What is VoIP?

• VoIP (voice over Internet Protocol)


,commonly referred to as Internet
telephony, is a method of digitizing
voice, encapsulating the digitized voice
into packets and transmitting those
packets over a packet switched IP
network.
VoIP Protocols

• H.323
– RAS
– H.225
– H.245
• SIP
H.323

• Definition: a multimedia standard that


provides a foundation to transport voice,
video and data communications in an IP
based network.
• H.323 Zone
– Collection of terminals, gateways, MCUs
registered with a single gatekeeper.
H.323 Equipment
• Gatekeeper
– Device that provides address translation
– access control for H.323 terminals and gateways
– manage bandwidth allocation
• Gateway
– Device that connects H.323 voice network to non-
H.323 voice network (SIP or PSTN)
– Allows H.323 terminals to communication with non-
H.323 terminals
H.323 Equipment

• MCU (multipoint control unit)


– MC – multipoint controller
• Routes call and control signaling to ensure endpoint
compatibility
– MP – multipoint processor
• Switches, mixes and processes vice and video
streams to conferencing equipment
H.323 Equipment

• Terminal
– An endpoint that supports 2-way streaming
with another H.323 terminal or gateway
– Originates and terminates calls
H.323 – H.225 RAS

• Registration, Admission and Status (RAS),


is responsible for registration, admission,
and disengaging procedures between H.323
gatekeeper and gateway.
H.323 – H.225 RAS Messages

• ARQ – admission request


– Gateway A requests admission to make
a call.
• ACF – admission confirm
– Gatekeeper A responds with IP address
of destination gateway.
H.323 – H.225 RAS Messages

• LRQ – location request


– Gatekeeper A requests contact information
from directory gatekeeper.
• LCF – location confirm
– Gatekeeper B returns IP address of
destination gateway to gatekeeper A.
H.323 – H.225 RAS Messages

• Request in Progress
– RIP
• Bandwidth change
– BRQ, BCF, BRJ
• Resource Availability
– RAI (Indicator)
– RAC (Confirm)
H.323 – H.225 RAS Messages
• Gatekeeper Discovery
– GRQ, CCF, GRJ
• Terminal/Gateway Registration
– RRQ, RCF, RRJ
• Terminal/Gateway Registration
– URQ, UCF, URJ
• Disengage
– DRQ, DCF, DRJ
H.323 – H.225 RAS Messages

• Status Queries
– IRQ – info request
– IRR – info request response
– IACK – info request ACK
– INACK - info request NACK
H.323 – Q.931

• Q.931 is a signaling protocol used to setup


and terminate H.323 connections between
endpoints.
H.323 – Q931 Messages
• Alerting
– Called user has been alerted, (phone is ringing)
• Call Proceeding
– Call has been established, no more call establishment
information will be accepted
• Connect
– Acceptance of call by called party
• Setup
– Indicates H.323 party wants to setup a connection to
called party
H.323 – Q.931 Messages
• Release Complete
– H.225 (Q.931) call has been released, signaling
channel is now open
• Status
– Sent when unknown call signaling message or a
status inquiry message is received
• Status Inquiry
– Requests a call’s status
H.323 – H.245
• Establishes logical channels for transmission of
H.323 data
• Negotiates:
– channel usage
– master/slave configuration
– flow control
– Codec
• H.245 ports
– 1024-5000 TCP in Cisco implementation
H.323 – H.245 Messages
• Master/Slave Determination
– Determines which terminal will be master which will
be slave in the call
• Terminal Capability Set
– Contains information on a terminal’s ability to send and
receive multimedia streams
• Open Logical Channel
– Opens logical channel for transport of multimedia data
• Close Logic Channel
– Closes the logical channel between two endpoints
H.323 – H.245 Messages

• Request Mode
– Receive terminal requests type of transportation
from a transmit terminal
– Types of Modes:
• Video
• Audio
• Data
• Encryption
H.323 – H.245 Messages

• Send Terminal Capacity Set


– Instructs far-end terminal to send transmit and
receive capabilities
• End Session Command
– Indicates the end of the H.245 session
H.323 Call Setup via
Gatekeepers
Session Initiated Protocol (SIP)

What is SIP?
• Text based Internet Protocol
• Resembles HTTP and SMTP
• Designed to set up a session between 2
endpoints
• Messages are sent in ASCII rather than
encoded in binary
SIP - Network Elements

SIP’s basic architecture is client/server in


nature.
Main elements in a SIP network:
• User Agents
• Proxy Servers
• Redirect Servers
• Location Servers
SIP – User Agents

• User Agents: The endpoints in the SIP


network, such as SIP phones. They
function as either a client (UAC) when
initiating requests, or a server (UAS) when
responding to requests.
SIP – Proxy Servers

• Proxy Servers: Acts as both a server and a


client for the purpose of making requests on
behalf of other clients. Unlike User Agents,
Proxy Servers do not initiate new SIP
requests. A Proxy Server interprets, and, if
necessary, rewrites a request message
before forwarding it.
SIP – Redirect Servers

• SIP Redirect Servers: Provides the client


with information about the next hop or hops
that a message should take and then the
client contacts the next hop server or UAS
directly.
SIP – Location Servers

• SIP Location Servers: A server that accepts


REGISTER requests, and processes
requests from UACs for registration of their
current location. A registrar is typically co-
located with a proxy or redirect server and
may offer location services.
SIP – Call Setup
SIP Methods:
– INVITE: User or service is being invited to participate
in a session.
– ACK: Client has received a final response to an
INVITE request.
– OPTIONS: Server being queried about capabilities.
– BYE: User Agent Client indicates to server to release
the call.
– CANCEL: Cancels a pending request.
– REGISTER: Client registers address with a SIP server.
SIP – Responses
• SIP Responses
– 1XX Informational: Request received, continuing to process
request.
– 2XX Success: Action successfully received, understood and
accepted.
– 3XX Redirection: Further action required to complete
request.
– 4XX Client Error: Request contains bad syntax or cannot be
executed at server.
– 5XX Server Error: Server failed to execute an apparently
valid request.
– 6XX Global Failure: Request cannot be executed at any
server.
SIP – Typical Call Scenario for
Proxy Mode
SIP – Typical Call Scenario for
Redirect Mode
Codec ITU G.711
• G.711 is the international standard for encoding
telephone audio on a 64 kbps channel. It is a pulse
code modulation (PCM) scheme operating at a 8
kHz sample rate, with 8 bits per sample, fully
meeting ITU-T recommendations. The module is
designed and tested on the TI TMS320C54x
platform but can be ported to other DSP and RISC
platforms, as well as MS Windows.

Information from http://www.spiritcorp.com/


Codec ITU G.711(cont)
• Features
• Fully compliant with ITU-T G.711
• 64 kbit/s expander input rate
• 104 or 112 kbit/s expander output rate
• A-law or mu-law expander input
• Uniform PCM expander output
• 104 or 112 kbit/s compressor input rate
• 64 kbit/s compressor output rate
• Uniform PCM compressor input
• A-law or mu-law compressor output
• Selectable frame/buffer memory size according to the system needs
• Very simple application interface
• Compliant with TI's eXpressDSP standard. Code is reentrant, supports multithreading
and dynamic memory allocation. At the same time allows direct (non-eXpressDSP)
interface to enable static memory allocation
• Can be easily ported to any DSP or RISC platform
Codec ITU G.723.1
• G.723.1 is a speech compression algorithm standardized
by ITU. G.723.1 has dual coding rates at 5.3 and 6.3 kbps.
The vocoders process signals with 30 ms frames and have
a 7.5 ms look-ahead and low distortion while passing
DTMF tones through. The input/output of this algorithm is
16 bit linear PCM samples.
• Middle bit rate G.723.1 vocoder delivers one of the highest
compression ratios of any of the current ITU standards
without compromising speech quality. This vocoder can
perform full duplex compression and decompression
functions for multimedia, visual telephony, wireless
telephony, and videoconferencing products.
Codec ITU G.723.1 (cont)
• Features
• Fully bit exact with ITU-T G.723.1
• 5.3 and 6.3 Kbps encoded bit stream rates
• Discontinuous transmission support (DTX) using Voice
Activity Detection (VAD) and Comfort Noise Generation
(CNG)
• Includes optional High Pass Filter and optional Post Filter
• Direct interface with PCM 8KHz sampled data. Both
sample-by-sample and block based processing supported
• Very simple application interface
• Can be easily ported to any platform.
Codec ITU G.726

• ITU-T G.726 has speech compression and


decompression at rates of 16, 24, 32 and 40
Kbps based on Adaptive Differential Pulse
Code Modulation (ADPCM). It can be
effectively used for speech compression in
such applications as speech storing, digital
circuit multiplication and telephony
applications.
Codec ITU G.726 (cont)
• Features
• Fully bit exact with ITU-T G.726
• Sample-by-sample or block based analog input
• 16, 24, 32 or 40 Kbps bit stream rate
• A-law, mu-law and 14-bit uniform 8 kHz PCM
input/output
• Direct interface with PCM 8KHz sampled data. Both
sample-by-sample and block based processing supported
• Very simple application interface
• Can be easily ported to any DSP or RISC platform
Codec ITU G.728
• ITU-T recommendation G.728 Annex G is the
fixed-point version of the coding of speech at
16kbps using Low Delay Code Excited Linear
Prediction (LD-CELP). It uses backward
adaptation of predictors and gain to achieve an
algorithmic delay of 0.625 ms. Under error-free
transmission conditions the perceived quality of a
16 kbit/s LD-CELP codec is equivalent to that of a
codec conforming to 32 kbit/s ADPCM. The
codec is suitable for applications such as VoIP.
Codec ITU G.728(cont)

• Features:
• API functions for initialization, encoding
and decoding of speech data
• Supports Multi-channel operation

Information from http://www.hellosoft.com


Codec ITU G.729
• ITU-T recommendation G.729 codec belongs to the Code-
Excited Linear-Prediction coding (CELP) model speech
coders and uses Conjugate-Structure Algebraic-Code-
Excited Linear-Prediction (CS_ACELP) for coding speech
signals at 8 kbits/sec. The coder operates on speech frames
of 10 ms corresponding to 80 samples at a sampling rate of
8000 samples per second and the total algorithmic delay is
15 milliseconds. The encoder functionality includes Voice
Activity Detection and Comfort Noise Generation
(VAD/CNG) and the decoder is capable of accepting
silence frames. G.729 provides near toll quality
performance under clean channel conditions and is the
default codec as prescribed by the Frame Relay Forum and
is also suitable for voice over network (VoIP) applications.
Codec ITU G.729 (cont)
• Features:
• C-callable API functions for initialization,
encoding and decoding of speech data
• Voice Activity Detection and Comfort Noise
Generation
• Supports Multi-channel operation and Reentrancy
• Code passes all test vectors specified by ITU-T
• Optimized implementation
Codec ITU G.729A
• ITU-T recommendation G.729 annex A (referred as G.729A) is
the reduced complexity version of G.729 recommendation and
operates at 8 kbits/sec. This version is developed mainly for
multimedia simultaneous voice and data applications, although
the use of the codec is not limited to these applications. This
version is bit stream interoperable with the full version (G729).
The coder operates on speech frames of 10 ms corresponding to
80 samples at a sampling rate of 8000 samples per second and
the total algorithmic delay is 15 milliseconds. The encoder
functionality includes Voice Activity Detection and Comfort
Noise Generation (VAD/CNG) and the decoder is capable of
accepting silence frames. The performance of this codec may
not be as good as the G729 in certain circumstances. The codec
is suitable for voice over network (VoIP) applications
Codec ITU G.729A (cont)
• Features:
• C-callable API functions for initialization,
encoding and decoding of speech data
• Voice Activity Detection and Comfort Noise
Generation
• Supports Multi-channel operation and Reentrancy
• Code passes all test vectors specified by ITU-T
• Optimized implementation
Codec ITU G.722.1

• G.722.1 is a low-bit-rate wideband coder,


which codes speech at 24 kbps or 32 kbps.
The quality at 32 kbps is the same as that of
G.722 SB-ADPCM at 64 kbps. It uses a
transform-coding scheme called Modulated
Lapped Transform (MLT), with a 20 ms
frame size. The algorithmic delay is 40 ms
(20 ms frame size + 20 ms look-ahead).
Codec ITU G.722.1(cont)
• Supports all bit rates viz. 16/32 kbps at 16 khz
sampling rate
• C callable API for initialization, encoding and
decoding of speech data
• Supports Multi-channel capability
• Optimized implementation
• Bit Compliant with ITU-T test vectors

Information found at http://www.ittiam.com/pages/products/g722-1.htm


GIPS
• GIPS Enhanced G.711 - G.711 with GIPS developed enhancement
providing superior packet loss robustness. GIPS Enhanced G.711
consists of the G.711 codec combined with an enhancement to provide
packet loss robustness. Call setup is done with G.711 and the
enhancement is detected and activated after call setup if both end
points have the enhancement. The enhancement unit works similarly to
an encryption method. The packets are transcoded to provide packet
loss robustness instead of privacy. A SoundWare solution with GIPS
Enhanced G.711 in combination with NetEQ™ provides a PSTN
speech quality level at packet loss/delay rates up to 10%. This is
achieved without increasing the bit rate, and without significant
increases in latency and complexity.

• Information provided by http://www.globalipsound.com


GIPS (cont)
• GIPS Enhanced G.711Quality:At parity with PSTN,
even under severe packet loss conditions
• SAMPLING RATE:8 kHz
• BITRATE:Variable, in average equal to
G.711COMPLEXITY: Very lowPACKET LOSS
ROBUSTNESS: Very highALGORITHMIC
DELAY:Equal to G.711
• VOICE ACTIVITY DETECTION: Available
• COMPATIBILITY:Transparent with G.711 at the end-
points and is only activated if the both end-points are
improved with a GIPS codecDTMF,
• FAX AND MODEM COMPATIBLE:Yes
Speech Codec Comparison
• Codec TypeRate Algorithmic Delay(ms)
• G.711 A-Law / µ-Law 64 0
• G.722 SB-ADPCM 64/ 56/ 48 0
• G.723.1/ AMP-MLQ/ACELP* 6.3/ 5.3 37.5
• G.726 ADPCM 16/ 24/ 32/ 40 0
• G.727 Embedded ADPCM 16/ 24/ 32/ 40 0
• G.728 LD-CELP 16 <2
• G.729 CS-ACELP 8 15
• G.729 ACS-ACELP 8 15
• G.729 BCS-ACELP* 8 15
• G.729 ABCS-ACELP* 8 15
Notes on Table
• All codecs are voice-band and run at an 8kHz sampling
rate, except for G.722 which has a 7kHz bandwidth and
16kHz sample rate
• * These rates are nominal due to utilization of silence
compression schemes
• G.711 and G.722 are provided free of charge with G.728 if
required for H.320
• Algorithmic delay of "non-predictive" codecs is effectively
zero

Information from http://www.spa.com.au/faqs/codecs.html


Matching PSTN Quality
Better Than PSTN Quality
Issues with VoIP

• Firewalls
• NAT
• QoS
• Network Testing
VoIP Issues – Firewalls

• A set of security mechanisms than an


organization implements to prevent
unsecured access from the outside world to
its internal network.
• Typically work by blocking access of
certain network protocols to specific ports.
VoIP Issues – NAT
• Helps protect the intranet from exposure to
unwanted traffic by providing one single
external address to remote users.
• Translates local intranet addresses into an
external address.
• Remote users connect to this external
address to connect to the local user, without
actually knowing its local address.
Issues with Firewalls and NAT
• H.323 requires the use of specific static
ports for RAS messages, and a number of
dynamic ports for RTP.
• SIP has one port (5060) for SIP messages,
as well as dynamic ports for RTP.
• For these protocols to pass the firewall, the
specific static and the range of dynamic
ports must be opened for all traffic.
H.323 Ports used by Cisco
equipment
Source: Call Manager Dest.: Gatekeeper
Description Type Destination Port
H.225 RAS UDP 1719

Source: Call Manager Dest.: Call Manager


Description Type Destination Port
H.225 Call Setup TCP 1720
H.245 Call Control TCP 1024-5000
H.323 Ports used by Cisco
equipment
Source: Gatekeeper Dest.: Gatekeeper
Description Type Destination Port
H.225 RAS UDP 1719

Source: Terminal Dest.: Call Manager


Description Type Destination Port
Skinny TCP 2000
H.323 Ports used by Cisco
equipment
Source: Terminal Dest.: Terminal
Description Type Destination Port
RTP UDP 1024-65535
RTCP UDP 1024-65535
Gatekeeper Peering and
Redundancy
Redundant GK

• Tier 1 Gatekeeper
– http://gk02.tamu.edu/level/7/exec/-
/show/running-config/CR

• Directory Gatekeeper
– http://gk03.net.tamu.edu/level/7/exec/-
/show/running-config/CR
Voice Over IP - the reasons that
we have all heard!
• Perception
– It is cheaper to run just one network.
– It is easier to integrate advanced technology
when your phone is on the network (CTI).
– If you don’t do it someone else will.
• Reality
– Convergence will occur some day so it is
important that we build the required
relationships now.
Voice over IP - the basics

• Most implementations use H.323 protocol


– Same protocol that is used for IP video.
– Uses TCP for call setup
– Traffic is actually carried on RTP (Real Time
Protocol) which runs on top of UDP.
Directory and Tier 1
Gatekeeper Call Setup
Directory Gatekeeper
2. LRQ 3. LRQ
Tier 1 Gatekeeper Tier 1 Gatekeeper

4. LCF
1. ARQ 2. RIP 7. ARQ 8. ACF
5. ACF
6. Q.931 Call Setup
VoIP PBX 8. Q.931Call Proceed VoIP PBX
H.245

RTP
IP Phone IP Phone
TCP/IP implementations

• Departmental VOIP PBX


• Centralized VOIP PBX
• Road warriors
• VOIP trunking
– Intranet
– Internet
VOIP decisions

• Power for VOIP phones


• E-911 mapping
• Which Codec to use
VOIP Codecs - bandwidth vs.
Quality
Parameters the impact VOIP-
How much is to much?

• Packet loss
• Latency
• Jitter
QoS issues

• Area vs. Wide area


• Layer II vs Layer III
• Who sets the priority
– Administrative Data
– Web based data
– Voice (VOIP)
– Video (H.323)
QoS options

• Prioritize by Application - Cisco VOIP uses


ports 2000-53247
• Prioritize by Address - many applications
• Create separate VLANs
Port Usage
• Cisco Call Manager -- Call Control for IP Phone
– 2000 TCP
• Cisco Call Manager -- H.225 Signaling
– 1720 TCP
• Cisco IP Phone -- RTP Streaming
– 16384-32766 UDP (dynamically allocated)
• Cisco IP Phone – TFTP, DNS
– 49152-53247 TCP (dynamically allocated)
• Cisco IP Phone – Call Control
– 49152-53247 TCP (dynamically allocated)
QoS Systems

• IEEE 802.1p
• RSVP
• Diffserv
• Over provisioning
Queing methods

• Fair-weighted
• Strict
Is all of your equipment able to
support QoS

• Cisco - CDP a 911 location solution?


• How many queues are available?
Establishing the relationships

• Voice and Data shops


• Service providers
• Customers
• Use working groups as much as possible
VOIP as a collaboration tool

• Microsoft vision
– Presence
– Instant Messaging
– T.120 data collaboration
– Voice and video collaboration
VOIP Costing

• Hardware
• Support
• Vendors
– H.323 Cisco, Nortel, Avaya, 3COM
– SIP, Broadsoft, Pingtel, Microsoft

You might also like