Teenus_78 - Raadio- ja sidetehnika instituut

Download Report

Transcript Teenus_78 - Raadio- ja sidetehnika instituut

Kommunikatsiooniteenuste
arendus
IRT0080
Loeng 8
Avo Ots
telekommunikatsiooni õppetool,
TTÜ raadio- ja sidetehnika inst.
[email protected]
1
SIP (Session Initiation Protocol)
• A signaling protocol for setting up multimedia sessions between endpoints
• Fundamental shift from PSTN : infrastructure consists of software on standard
servers
– SIP designed in line with other Internet protocols by the IETF
– Uses overlay control network consisting of SIP Proxies to route SIP messages :
Media path (RTP/UDP) decoupled from signaling
– name@domain addressing; message syntax similar to HTTP
SIP proxy
SIP proxy
SIP
signaling
RTP/UDP
packets
V
V
2
Protocols
• Session Initiation Protocol – for signaling
• Reservation Protocol – for reserving network
resources
• Real-Time protocol – Transporting real-time
data and providing QoS feedback
• Real-Time Streaming protocol – for controlling
delivery of streaming media
• Session Advertising Protocol – advertising
multimedia sessions via multicast
• Session Description Protocol – to describe
multimedia sessions
3
Session Initiation Protocol
• Application layer protocol for creating, modifying
and terminating multimedia sessions
• Supports unicast, mesh and multicast conferences,
and combination of these modes
• Similar to HTTP, Client-Server protocol, and textbased
• Provides reliability without assuming anything
about the lower layer transport protocols
4
Components
• User Agents
– User Agent Client
– User Agent Server
• Network Servers
– Registration Servers
– Proxy Servers
• Stateful Proxy Server
• Stateless Proxy Servers
– Redirect Servers
5
Parser
• Sip messages are sent as text (Unicode characters)
• The Sip message grammar is given in the
augmented BNF-form (RFC 2543)
• Syntax tree builder (JTBGJ)
• Parser Generator (Javacc)
6
Protocol Building blocks
Registration
Server
User
Agent A
Location
Server
Proxy Server
Registration
Server
User
Agent B
B’s current
location
7
Registration
• SIP Client sends REGISTER message to the
Registration server.
• Indicates the physical location
• REGISTER messages can be multicast
(“sip.mcast.net” – 224.0.1.75)
• Serves as a simple locator service.
REGISTER sip:belltell.com SIP/2.0
Via: SIP/2.0/UDP saturn.belltell.com
From: sip:[email protected]
To: sip:[email protected]
CSeq: 1 REGISTER
Call-ID: [email protected]
Contact: sip:[email protected]:3890
Expires: 7200
8
Name Translation, UserLocation
• SIP Addressing by a Sip URL
(user@host:port)
• Resolves host name through
– DNS server
– Checks if domain name refers to a host
– Mail exchange host
• User at a specific host derived through zero
or more translations
• If called party is not at SIP server, can be
directed or proxied (personal mobility)
9
Session invitation
• Caller sends the request directly to UAS or to the
nearest proxy server
• Proxy server uses the locator service to determine
the next hop server
• Proxy forwards the request towards the callee
• Redirect server simply returns the alternate
addresses
INVITE
sip:[email protected] SIP/2.0
Via:
SIP/2.0/UDP c.belltell.com
From:
sip:[email protected]
To:sip:[email protected]
Call-ID:
[email protected]
Cseq:
1 INVITE
10
Session Invitation (cont.)
• If there are more than one locations to be
contacted, the proxy forks the requests to all the
locations.
• The callee’s response is propagated backwards the
servers ( uses the Via header )
• Stateful Proxy maintains the state according to the
Call-ID. So forwards responses accordingly
• The caller sends ACK request following the
response.
11
Feature negotiation
• Allows a group of end systems to agree on the
media to exchange and their respective parameters
such as encodings.
• INVITE request has a listing of media types and
associated encodings that the calling party is
willing
• Called party responds with a subset of media types
and encodings that it is willing to use
• Feature changes
– Subsequent INVITE request
– OPTIONS request
12
VoIP Call setup : SIP message flow
Proxy
Proxy
User Agent
Call
Setup
User Agent
INVITE
INVITE
180 (Ringing)
180 (Ringing)
180 (Ringing)
200 (OK)
200 (OK)
200 (OK)
ACK
ACK
ACK
Media
Path
Call
Teardown
INVITE
RTP MEDIA
PATH
BYE
BYE
BYE
200 (OK)
200 (OK)
200 (OK)
13
Motivation
Collaborative Apps
Web Browser
SameTime
Notes Calendar/email
VoIP enabled portals
Distributed application scenarios,
e.g. networked games
(SIP-enabled)
Services/ Infrastructure
Client-side SIP service
VoIP infrastructure
Enhancements
(conferencing, context)
Corporate VoIP/data
network
(VoIP trial)
In-house conferencing service
(IP/ PSTN phones)
Game servers, IM servers
14
IM Agent
Email Client
Other Apps
(Multi-player
Games, …)
Application Interface
Web Browser
IP Phone
SIP
Stack
with
pub/sub
Wrapper 1
Wrapper 2
SoftPhone
Wrapper 3
SIP Service
PSTN/ cell phone
Client Laptop
15
LINGID
http://www.wifi.ee/foorum2/viewtopic.php?t=
1083
http://www.packetizer.com/voip/sip/
http://www.tech-invite.com/
16
Lingid (1)
http://www.eventhelix.com/RealtimeMantra/Congestio
nControl/queueing_theory.htm
http://www.tmcnet.com/voip/conference/m05/sipworkshop.aspx
http://en.wikipedia.org/wiki/SIP_trunking
http://en.wikipedia.org/wiki/Session_Initiation_Protoc
ol
http://en.wikipedia.org/wiki/IP_Multimedia_Subsyste
m
17
Lingid (2)
http://www.ietf.org/rfc/rfc4740.txt?number=4740
http://www.cisco.com/en/US/products/ps6638/product
s_data_sheet09186a00804fe332.html
http://www1.cs.columbia.edu/~kns10/talks/belllab
s.ppt
http://www1.cs.columbia.edu/~kns10/talks/
18