Voice Over IP
IP Telephony
Instead of using traditional circuit switch systems for voice
communications, IP Telephony uses a packet protocol originally
designed for data communications.
Definition
IP Telephony
Transmission of voice, fax, and related services over packetswitched IP- based networks.
Internet Telephony
Specific sub-set of IP Telephony in which the principal
transmission network is the public Internet.
Voice-over-the-Net(VoN) ; Internet Phone ; Net
Telephony
Voice-over-IP (VoIP)
Specific sub-set of IP Telephony in which the principal
transmission network(s) is (are) private, managed IP-based
network(s).
Voice-over-frame relay ; Voice-over-cable ; Voive-overDSL (VoDSL)
PC-to-PC
Internet
ISP
ISP
PSTN
PSTN
USER A
Server
Modem
USER B
Modem
PC-to-Phone
IP Telephony
Provider
Internet
ISP
IPTP
Gateway
PSTN
PSTN
USER A
USER B
Modem
USER B
Phone-to-Phone (1)
Management IP Network
Gateway
Gateway
Network of IP Telephony
Service Provider
PSTN
USER AUSER B
USER A
PSTN
USER B
USER B
Phone-to-Phone (2)
ISP
Internet
PSTN
ISP
PSTN
Server
USER A
USER A
USER B
IP Telephony: QoS
Packet loss (%)
10
ITU G.114
Utility Recommendation
0
100
200
300
400
500
Delay (ms)
RSVP
QoS: Delays
Network Delay
Sender Delay:
Coding delay
Packeting delay
Transmission delay
IP Network
Receiver Delay:
Sender
Network
DePacketing delay
Receiver delay
Inversion
Loss Packet
T"#T#T
Decoding delay
Delay Variation :
T#T Jitter
Receiver
Delay
QoS Technologies
Reservation
Allocates resources on a per-flow basis
Prioritization
Traffic flows are aggregated and categorized by "class of
service
DiffServ and MPLS.
L2 marking
Understanding L3 Marking
DSCP
IP Telephony Protocols
SIP, H.323 and MGCP
Signaling and
Gateway Control
Media
Audio/
Video
H.225
H.245
Q.931
RAS
SIP
MGCP
TCP
RTP
RTCP
RTSP
UDP
IP
H.323 Version 1 and 2 supports H.245 over TCP, Q.931 over TCP and RAS over UDP.
H.323 Version 3 and 4 supports H.245 over UDP/TCP and Q.931 over UDP/TCP and RAS over UDP.
Packet Encapsulation
RTP datagram
Version,
flags & CC
Payload
Type
Sequence
Number
Synchronization
Source ID
Timestamp
CSRC ID
(if any)
Codec Data
0-60
0-1460
UDP datagram
Source
Port Number
Destination
Port Number
Version &
header length
UDP length
2
Total
Length
Packet
ID
Ethernet Frame
Inter-frame
gap
Preamble
12
Flags &
TTL
Frag Offset
Header
Checksum
Source
Address
Destination
Address
Start of frame
delimiter
0-1472
Options
(if any)
Data
0-40
0-1480
Length or
Ethertype
Destination
Address
1
Data
Protocol
IP packet
TOS
UDP checksum
Source
Address
6
Data
2
0-1500
Pad
Checksum
0-46
Location
Server
Redirect
Server
Registrar
Server
PSTN
User Agent
Gateway
Proxy
Server
Proxy
Server
SIP components
UAC: user-agent client (caller application)
UAS: user-agent server: accept, redirect, refuse
call
redirect server: redirect requests
proxy server: server + client
registrar: track user locations
user agent = UAC + UAS
often combine registrar + (proxy or redirect
server)
SIP Messages
SIP components communicate by exchanging SIP messages:
SIP Methods:
INVITE Initiates a call by inviting
user to participate in session.
ACK - Confirms that the client has
received a final response to an INVITE
request.
BYE - Indicates termination of the call.
CANCEL - Cancels a pending request.
REGISTER Registers the user agent.
OPTIONS Used to query the
capabilities of a server.
INFO Used to carry out-of-bound
information, such as DTMF digits.
SIP Headers
SIP borrows much of the syntax and semantics from
HTTP.
A SIP messages looks like an HTTP message message
formatting, header and MIME support
The SIP address is identified by a SIP URL, in the
format: user@host.
4.
5.
6.
SIP: Registering
Each time a user turns on the SIP
user client (SIP IP Phone, PC, or
other SIP device), the client
registers with the proxy/registration
server.
Registration can also occur when
the SIP user client needs to inform
the proxy/registration server of its
location.
The registration information is
periodically refreshed and each user
client must re-register with the
proxy/registration server.
Typically the proxy/registration
server will forward this information
to be saved in the location/redirect
server.
Proxy/
Location/
Registration
Redirect
Server
Server
REGISTER
REGISTER
SIP Phone
User
200
200
SIP Messages:
REGISTER Registers the address
listed in the To header field.
200 OK.
User Agent
INVITE
Location/Redirect Server
INVITE
User Agent
Proxy Server
302
(Moved Temporarily)
ACK
INVITE
INVITE
302
(Moved Temporarily)
ACK
Call
Setup
180 (Ringing)
200 (OK)
ACK
Media
Path
Call
Termination
180 (Ringing)
200 (OK)
ACK
INVITE
180 (Ringing)
200 (OK)
ACK
BYE
BYE
200 (OK)
200 (OK)
200 (OK)
SIP
Gateway
Invite
180 Ringing
200 OK
SIP + SDP
(TCP or UDP)
Ack
Bearer
Plane
RTP Stream
RTP Stream
RTCP Stream
Media (UDP)
H.323 Components
Gatekeeper
Multipoint
Control Unit
Circuit
Switched
Networks
Packet Based
Network
Terminal
Gateway
H.323 : Communication
Establishment
Establishing communication using H.323 may
occur in five steps:
1. Call setup.
2. Initial communication and capabilities
exchange.
Setup
Alerting
H.323
H.225 (TCP) Gateway
(Q.931)
Connect
Signaling
Plane
H.245 (TCP)
Bearer
Plane
RTP Stream
RTP Stream
RTCP Stream
Media (UDP)
stateless
Having no information about what occurred previously. Most modern applications maintain
state, which means that they remember what you were doing last time you ran the
application, and they remember all your configuration settings. This is extremely useful
because it means you can mold the application to your working habits.
The World Wide Web, on the other hand, is intrinsically stateless because each request for a
new Web page is processed without any knowledge of previous pages requested. This is one
of the chief drawbacks to the HTTP protocol. Because maintaining state is extremely useful,
programmers have developed a number of techniques to add state to the World Wide Web.
These include server APIs, such as NSAPI and ISAPI, and the use of cookies.
Having no information about what occurred previously. Most modern applications maintain
state, which means that they remember what you were doing last time you ran the
application, and they remember all your configuration settings. This is extremely useful
because it means you can mold the application to your working habits.
The World Wide Web, on the other hand, is intrinsically stateless because each request for a
new Web page is processed without any knowledge of previous pages requested. This is one
of the chief drawbacks to the HTTP protocol. Because maintaining state is extremely useful,
programmers have developed a number of techniques to add state to the World Wide Web.
These include server APIs, such as NSAPI and ISAPI, and the use of cookies.
stateful
Having the capability to maintain state. Most common applications are inherently stateful.
Quantization Process
Quantization Techniques
CODECs
MOS
DSPs