16_1_SIP_H323

Download Report

Transcript 16_1_SIP_H323

Communication
Systems
16th lecture (last but one)
Chair of Communication Systems
Department of Applied Sciences
University of Freiburg
2006
1 | 45
Communication Systems
administrational stuff
●
●
●
Next Tuesday
–
last practical course – on VoIP and SIP
–
we provided a list of SIP accounts for testing last lecture,
everybody should be able to connect the SIP server and start
a VoIP session over it
Next Friday – written examinations, starting 10a.m.
Grades in oral or written exams will be sent to the examinations
office (an will be available there beginning of winter term)
–
If you need a special printed paper – please tell us, so we
could prepare it – it will be available at the secretaries of the
computing department
2 | 45
Communication Systems
Last lecture – real time protocols and QoS
●
Introduction to real time services for video broadcasting, voiceover-IP, Internet telephony
●
Introduction of special multimedia protocols
●
RTP (Real Time Transport Protocol)
– RTCP (RTP Control Protocol)
– RSVP (Resource Reservation Protocol)
Problems of RSVP and multimedia chanllenges
●
Bandwidth management and Quality of Services
–
●
Provide QoS control in IP networks, i.e., going beyond best effort
to provide some assurance for QoS
3 | 45
Communication Systems
Plan for this lecture – Voice over IP
●
●
We will introduce SIP – session initialization protocol
–
Telephony over IP networks
–
Only session setup, but compression, packet transport left to
other services like RTP and RTCP
Second part of the lecture will introduce H.323 protocols
–
Standard defined by the ITU, thus much more complex with
much more options and extensions to it
–
Primarily defined for ISDN/digital telephony networks
–
H.32x series defines not only VoIP but classical telefony too
(H.324) and ISDN (H.320)
4 | 45
Communication Systems
application layer protocols – internet telephony
●
●
For a rather long time telephone and data networks were different
entities – remember the network taxonomy
–
packet orientated vs. circuit switched
–
packet orientation is rather efficient in bandwidth using but
cannot give any guarantees on packet delivery
–
bandwidth growth and optional QoS helped to offer service
quality near to circuit switching
Why to provide two completely different infrastructures for rather
the same services?
–
voice is just another piece of data (and not the biggest one
compared to other applications and services in use)
5 | 45
Communication Systems
application layer protocols – internet telephony
●
Voice-over-IP is a big hype at the moment
–
every network equipment vendor has some products in its
portfolio (even companies like Siemens are able to offer
products conforming to standards!!)
–
many new “telephone companies” evolve to offer services, the
old providers have to think on new strategies
–
all of them hope for reduce of costs and a source for roaring
profits :-)
●
so TCP/IP is just used for another application/service
●
this service has to meet some requirements
6 | 45
Communication Systems
internet telephony - requirements
●
●
●
security
–
reduced costs might induce new type of SPAM – spit (spam
over internet telephony)
–
how to know that the caller is the one he claims to, same for
the called partner
compatibility to existing services
–
routing of emergency calls
–
location of emergency
presence
–
rebustness of servers and “routes”
–
permanent updates of clients (mobile devices move from
network to network)
7 | 45
Communication Systems
internet telephony - requirements
●
●
Voice over IP should offer
–
higher robustness (e.g. alternate routes)
–
better voice quality
–
mobility, multimedia and conferencing
–
secure communication
–
gateways to other telephone systems (GSM, UMTS, PSTN)
–
100% open standards
hope of a combination of lower costs with better functionality
8 | 45
Communication Systems
internet telephony – infrastructure (idialized :-))
9 | 45
Communication Systems
internet telephony - standards
●
●
●
Requirements by VoIP services
–
enough bandwidth for digitized audio stream (both directions!)
–
minimal jitter and noise
Two main VoIP standards
–
H323 – standard developed by Telcos - ITU (second part of
lecture)
–
SIP – internet standard
SIP is session initialization protocol
– developed by Henning Schulzrinne (Feb. 1999)
– IETF Standard RFC 2543 (March 1999)
– current: RFC 3261 (June 2002)
10 | 45
Communication Systems
internet telephony - SIP
●
SIP just for session setup not for transport of multimedia streams
●
inspired by HTTP
–
text based Peer-to-Peer application layer protocol
–
using requests and replies to set up a connection
11 | 45
Communication Systems
internet telephony - SIP
●
Requirements toward SIP
–
localization of endpoints
–
setup of connections
–
exchange of media and presence information
modification of sessions: rerouting and cancelling of calls
– complete a session
– scalability (more than one session should be possible)
SIP addresses designed same way as email addresses
– sip: “[email protected]”
–
●
12 | 45
Communication Systems
SIP - entities
●
●
Peers = User Agents (UA)
a UA can fulfill on of the following roles
– user agent client (UAC)
= initiator of a request
–
●
SIP clients
– telephones: as UAC or UAS
–
●
user agent server (UAS)
= application, which contacts the
user and answers requests for him
Gateways: connections to other networks, translates between
different audio and video codecs
SIP server
– might act as proxy server and could be used for
●
●
authentification, authorization
secure routing and rerouting
13 | 45
Communication Systems
SIP – server
●
SIP server
–
redirect server = information
service
–
location server is the request
address for the host on wich a
given user might be reached on
–
registrar server acts as
registration service
●
●
●
registers the current location
of the clients
often at the same place as
proxy or redirect
is not a required component
for SIP, but useful in larger
setups
14 | 45
Communication Systems
SIP – message types
●
SIP defines messages for communiction setup end ending
15 | 45
Communication Systems
SIP – direct example session
●
●
direct SIP connection
disadvantage:
–
●
the calling party has to know
the IP address of called
party
INVITE message contains
the details, which type of
session is to be initiated
16 | 45
Communication Systems
SIP – direct example session
17 | 45
Communication Systems
SIP – header fields
●
●
●
●
●
●
●
●
●
Request URI, SIP version number
VIA: SIP version number, protocol, every SIP entity adds host and
port, which created or routed the message
Max-Forwards is decremented at every hop
To, From: tags as identifier
Call-ID: sender creates local non-ambiguous identifier which is
globally unique in combination with the full qualified domain name
CSeq: command sequence is incremented with every new request
More optional fields
Contact contains the SIP address of the current host, if connected
over proxy – messages could be sent directly
Content-Type and –Length tell the style of the following SDP body
18 | 45
Communication Systems
SIP – “trying message” (message before ringing)
19 | 45
Communication Systems
SIP – “ringing message”
20 | 45
Communication Systems
SIP – “ringing” (cont.)
●
To and From fields are the
same as in INVITE
–
●
connection over a proxy
–
–
–
●
direction of the initiating
request is important
only answers to requests,
does not send requests by
itself
no media abilities (does
not handle media
sessions)
reads header and does
not analyse body+
proxy may send request for
clients location to location
server
21 | 45
Communication Systems
SIP – OK (200) message
22 | 45
Communication Systems
SIP – redirect, registering & instant messaging
●
redirection
client sends INVITE to the SIP redirect server
– redirect server sends a request to the location server or requests
the IP of the client to call
– current data is sent to the client, which ACK's
– from now on further on like direct connection
registration
– REGISTER message to SIP registration server
–
●
●
–
binding of the SIP URI with IP the users client/machine
–
200 OK
instant messaging like the wellknown tools in that sector
– online status, buddy lists ...
23 | 45
Communication Systems
SDP – service description protocol
●
session description protocol
(SDP)
– IETF standard RFC 2327
–
text coded like SIP
–
description syntax
24 | 45
Communication Systems
SDP – service description protocol
●
example:
v=0
o=calling 2890844526 2890844526 IN IP4 10.8.4.254
s=Phone Call
c=IN IP4 100.101.102.103
t=0
m=audio 49170 RTP/AVP
a=rtpmap:0 PCMU/8000
●
●
●
Version is 0 (at the moment no other versions available)
Origin o=username session-id version network-type adress-type adress
Subject s=subject
25 | 45
Communication Systems
SDP – service description protocol (cont.)
●
●
●
●
●
Connection Data c=network-type address-type connection-adress
Time t=start-time stop-time
Media Announcements m=media port transport format-list
Attributes a=…
This setup defines the multimedia session
–
which usually uses RTP / RTCP explained later this lecture
26 | 45
Communication Systems
SIP – firewalls, NAT, ...
●
NAT
–
SIP messages contain IP addresses in the data segments
of its packets
–
internal network addresses from the NATted network are
not visible from the „outside“ world
A
calls B, B gets the message from A, but not vice versa
 problem
could be solved with a proxy server sitting in the
internal and external LAN
●
Firewalls
–
RTP does not use fixed layer 4 port numbers
–
variable in the range of 1024 - 65534
27 | 45
Communication Systems
SIP – firewalls, NAT, ... (cont.)
●
stun protocol
–
simple traversal of UDP through NATs
–
returning public's IP port
–
can help to determine which kind of NAT is used
–
most clients implement that protocol to produce the
relevant SDP messages
–
stun server will send its response to the IP:port the initial
packet was sent to
●
●
if change-ip flag, then sends from different IP
if change-port flag from different port
28 | 45
Communication Systems
H323 – the ITU specification of VoIP
●
●
Introduced SIP
–
Internet standard, thus rather simple in layout and functionality
–
compression, packet transport left to other services like RTP
and RTCP (earlier lectures)
–
the latter define container and control protocols for multimedia
data streams
H.323 is another standard for VoIP
–
Standard defined by the ITU, thus much more complex with
much more options and extensions to it
–
Primarily defined for ISDN/digital telephony networks
(remember the protocol stacks of the ISDN/SS7/Q.931 of
earlier lectures)
29 | 45
Communication Systems
internet telephony - standards
●
●
●
●
●
H.323 – standard developed by Telcos - ITU
Thus the H.32x series defines not only VoIP but classical
telefony too (H.324) and ISDN (H.320) - “umbrella standard”
1996 the first version 1 was introduces, today modern
equipment is using version 5
Family of protocols: defines the transmission of multimedia
content in realtime over unreliable networks
Protocol suite consists of several modules: terminal,
gateway, gatekeeper, MCU (multipoint controller unit)
30 | 45
Communication Systems
H.323 - components
H.323
Gatekeeper
H.323
Terminal
H.323
Terminal
Paketorientiertes Netzwerk
H.323
MCU
H.323
Gateway
H.320
Endpunkt
ISDN
Andere Telefonnetze
Analoges
Telefon
klass.
Telefonie
SIP
SIP
Client
31 |45
Communication Systems
H.323 – terminals
●
Terminals and their components
–
–
–
●
●
communication end points
hardware modules like (IP Telephones) or software
(softphones)
used mainly for audio communication, but video and data (e.g.
Whiteboard application) possible too
Terminals has to implement audio codecs (G.7XX)
–
Required codec: G.711 (just ISDN PCM)
–
Optional codecs: G.722, G.723, G.728, G.729
–
Codecs may comprimise between qualitiy, needed computing
power, used bandwidth
And may implement video codecs (H.26X)
–
Optional: H.261, H.263
32 | 45
Communication Systems
H.323 – terminal components
●
●
Terminals implements a data channel H.225.0 for
–
conversion of streams for the transport of the different kinds of
network interfaces and vice versa
–
Framing, numbering of sequenzen, error detection and
correction
The terminal system unit is defined by standards H.245 for
media control
– Call control
–
Capability exchange
–
Setup and description of logical channels (voice, video,
other applications)
33 | 45
Communication Systems
H.323 – protocols and transportation
●
●
The H.245 media control channel, the data channels and the
call signaling channel requires a certain reliability and
therefor may use TCP
The unreliable UDP is used for the voice and video channels,
which use the RTP (presented last lecture)
34 | 45
Communication Systems
H.323 - protocol
Daten
●
●
Steuerung
Audio
Video
Layered protocol
–
precall control
–
control of the calls itself
–
media control
–
transport of media data
H.323 is not TCP/IP
dependent and can be
used over ISDN too
G.711
G.723.1
G.729
G.729A
H.225.0
H.245
T.12X
H.261
H.263
RAS
RTP/
RTCP
TCP
RTP/
RTCP
UDP
IP
Physikal. Schicht / Vermittlungsschicht
35 | 45
Communication Systems
H.323 – gatekeeper, MCU
●
●
Gatekeeper
– „Manager“ of a zone
–
Access control
–
Address translation (telephone numbers – IP addresses)
–
Call authorization
–
Gatekeeper could be found by either fixed IP setting in
terminals or dynmically be multicast request
Multi controller unit (MCU)
– allows multipoint connections, conferences
–
e.g. for video conferences with more than two partners
–
Multiplexing of audio/video channels
36 | 45
Communication Systems
H.323 – gateway
●
Gateways
–
–
–
–
–
Interface to other types of telephony networks or between
different network like IP and ISDN
Seamless translation
Signal conversion
Translates in realtime between two protocol stacks and their
respective formats
Or: interface to another H.323 gateway
37 | 45
Communication Systems
H.323 – call setup
●
H323 connection between two participants
–
–
Call setup uses the H225 protocol
● A -> B: Setup
● B -> A: Alerting
● A -> B: Connect
Device setup done via H245 protocol
● A -> B: termCapSet
● B -> A: termCapAck
● B -> A: termCapSet
● A -> B: termCapAck
● A -> B: mSDet
● B -> A: mSDetAck
● A -> B: mSDetConfirm
38 | 45
Communication Systems
H.323 – call setup and destruction
–
–
–
Device setup done via H245 protocol (cont.)
● A -> B: openReq
● B -> A: openAck
● B -> A: openReq
● A -> B: openAck
Then: Voice and video streams via RTP packets
Call teardown
● A -> B: endSession
● B -> A: endSession
● A -> B: releaseComplete
39 | 45
Communication Systems
H.323 – devices
●
●
●
Several vendors in the market, e.g. Polycom
Computing dept. uses soft and hardware client by that
vendor capable of ISDN and IP network connections
Other softclients:
–
–
MS Netmeeting
Gnome Meeting (Linux)
40 | 45
Communication Systems
H-protocols and codecs
●
●
●
●
codecs encode and decode analog data for transport over
digital networks (independent of network type)
g series codecs are defined for audio, h series for video
streams
rather common – pulse code modulation (PCM)
– sampling -> quantisation -> encoding
– G.711: 8000 Hz x 256 Q.-Intervalle = 64 kbit/s
– well known standard for ISDN telephone networks
codecs might offer compression and voice activity detection
(or silence detection)
41 | 45
Communication Systems
H-protocols and codecs
●
●
how to select suitable codecs (different for voice, music, ...)
tradeoff between bandwidth and “qualitty”
– rather subjective criterion (mean opion score)
–
different popular voice codecs compared
42 | 45
Communication Systems
bandwidth and codecs
●
●
●
needed bandwidth for a multimedia session depends on the
demands of the codec used
– often this bandwidth is needed full-duplex
rather big overhead through headers
e.g. packets travelling over ethernet
– 18 Byte ethernet, 20 Byte IP, 8 Byte UDP, 12 Byte RTP
–
~ 58 Byte header information / ~ 120 Byte for codec
(depending on samples and data rate)
43 | 45
Communication Systems
H.323 – SIP comparison
●
●
●
●
●
●
handle rather the same type of services
H.323 was developed for telecommunication, not primerily
for IP networks
SIP is directly focused for the Internet use
H.323 is able to handle video conferences and offers more
complex telefony functions
SIP much simpler, but clearer and easier to
understand/implement, scales better
SIP might take over, but many products implement H.323 so
it is not dead by now
44 | 45
Communication Systems
Literature
●
Kurose & Ross: Computer Networking, 3rd edition (international)
Section 7.4.3 SIP
●
Tanenbaum: Computer Networks, 4th edition:
Section 7.4.5 Voice over IP
45 | 45