an introduction to voice over ip
Download
Skip this Video
Download Presentation
An Introduction to Voice over IP

Loading in 2 Seconds...

play fullscreen
1 / 66

An Introduction to Voice over IP - PowerPoint PPT Presentation


  • 394 Views
  • Uploaded on

An Introduction to Voice over IP. Lance Parr Lead Systems Administrator VoIP Laboratory Manager Texas A&M University College Station, Texas. What is VoIP?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'An Introduction to Voice over IP' - elina


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
an introduction to voice over ip

An Introduction to Voice over IP

Lance Parr

Lead Systems Administrator

VoIP Laboratory Manager

Texas A&M University

College Station, Texas

what is voip
What is VoIP?
  • VoIP (Voice over Internet Protocol), sometimes 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.
voice over ip the basics
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.
voip protocols
VoIP Protocols
  • H.323 Multimedia Standard
    • H.225 RAS - Registration, Admission, Status
    • Q.931 - Call Signaling (Setup & Termination)
    • H.245 - Call Control (Preferences, Flow Control, etc.)
    • Lots of G.7XX CODECS for audio
  • SIP – Session Initialization Protocol
    • Covered in next presentation
slide7

RTCP

RTP

TCP

UDP

Layer 3 IP

Layer 2 Ethernet/ATM

h 323
H.323
  • Definition: a multimedia standard that provides a foundation to transport voice, video and data communications in an IP based non-QOS network.
  • H.323 Zone
    • Collection of terminals, gateways, MCUs registered with a single gatekeeper.
h 323 entities
H.323 Entities
  • Terminals (LAN Endpoints)
  • Gateways (Optional but really useful)
  • Gatekeepers (Also optional)
  • MCUs
h 323 equipment
H.323 Equipment
  • 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
  • Gatekeeper
    • Provides address translation (H.323 & E.164 to IP)
    • Admission control for H.323 terminals and gateways
    • Manage bandwidth allocation
    • Other optional services
h 323 equipment12
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 equipment13
H.323 Equipment
  • Terminal
    • An endpoint that supports 2-way streaming with another H.323 terminal or gateway
    • Originates and terminates calls
    • Includes videoconferencing stations, hard phones, & soft phones
call setup using h 225 ras
Call Setup using H.225 RAS
  • Registration, Admission and Status (RAS), is responsible for registration, admission, and disengaging procedures between H.323 Gatekeeper and Gateway.
  • Discovery: GRQ, GCF, GCR
    • Unicast Discovery using UDP port 1718. Endpoint knows GK IP & register directly
    • Multicast using UPD multicast address 224.0.1.41 – non static, less admin overhead
call setup using h 225 ras15
Call Setup using H.225 RAS
  • Registration by terminals, Gateways & MCUs using H.323 ID or E.164 address
    • RRQ Registration Request
    • RCF Registration Confirm
    • RRJ Registration Reject
    • URQ Un-registration Request
    • URF Un-registration Confirm
    • URJ Un-registration Confirm
h 323 h 225 ras messages
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.
signaling using q 931 messages
Signaling using Q.931 messages
  • Q.931 is a signaling protocol used to setup, manage, and terminate H.323 connections between endpoints.
    • ARQ, ACF, ARJ Admission messages
    • LRQ, LCF, LRJ Location Request messages
    • IRQ, IRR, IACK, INAK Status messages
    • BRQ, BCF, BRJ, RAI, RAC Bandwdith messages
h 323 h 225 ras messages18
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 messages19
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 messages20
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 messages21
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 messages
H.323 – Q.931 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 messages23
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
H.323 – H.245
  • Establishes logical channels for transmission of H.323 data
  • Negotiates:
    • channel usage
    • master/slave configuration
    • flow control
    • Codec used
  • H.245 ports
    • 1024-5000 TCP in Cisco implementation
h 323 h 245 messages
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 messages26
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 messages27
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
directory and tier 1 gatekeeper call setup
Directory and Tier 1 Gatekeeper Call Setup

Directory Gatekeeper

3. LRQ

2. LRQ

Tier 1 Gatekeeper

Tier 1 Gatekeeper

4. LCF

1. ARQ

2. RIP

8. ACF

7. ARQ

5. ACF

6. Q.931 Call Setup

VoIP PBX

VoIP PBX

8. Q.931Call Proceed

H.245

RTP

IP Phone

IP Phone

codec itu g 711
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
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 722 1
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
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

codec itu g 723 1
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
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
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
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
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
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
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
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
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
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
slide45
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 (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
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
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

voip codecs bandwidth vs quality
VOIP Codecs - bandwidth vs. Quality
  • The tradeoffs:
    • How much do you need (quality)?
    • How much can you afford?
    • How much coding delay can you tolerate?
    • Do you have special needs?
issues with voip
Issues with VoIP
  • Firewalls
  • NAT
  • QoS
  • Network Testing
voip issues firewalls
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
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
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
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 equipment57
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 equipment58
H.323 Ports used by Cisco equipment

Source: Terminal Dest.: Terminal

Description Type Destination Port

RTP UDP 1024-65535

RTCP UDP 1024-65535

port usage
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)
voice over ip the reasons that we have all heard
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.
tcp ip implementations
TCP/IP implementations
  • Departmental VOIP PBX
  • Centralized VOIP PBX
  • Road warriors
  • VOIP trunking
    • Intranet
    • Internet
voip decisions
VOIP decisions
  • Power for VOIP phones
  • E-911 mapping
  • Which Codec to use
qos issues
QoS issues
  • QoS has been added to the H.245 OLC packets to allow endpoints to set QoS parameters for the media streams, including RSVP parameters. H.323 only communicates QoS information between H.323 devices. Actual reservation and control of resources is outside the scope of the standard.
qos options
QoS options
  • Prioritize by Application
  • Prioritize by Address - many applications
  • Create separate VLANs
ad