1 kommunikatsiooniteenuste arendus irt0080 loeng 8 avo ots telekommunikatsiooni õppetool, ttÜ...
TRANSCRIPT
1
Kommunikatsiooniteenuste arendusIRT0080Loeng 8
Avo Otstelekommunikatsiooni õppetool,
TTÜ raadio- ja sidetehnika [email protected]
2
• 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 (Session Initiation Protocol)
SIP proxy SIP proxy
V V V V
SIP
signaling
RTP/UDP packets
3
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
4
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 text-based
• Provides reliability without assuming anything about the lower layer transport protocols
5
Components
• User Agents– User Agent Client– User Agent Server
• Network Servers– Registration Servers– Proxy Servers
• Stateful Proxy Server
• Stateless Proxy Servers
– Redirect Servers
6
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)
7
Protocol Building blocks
User Agent A
RegistrationServer
User Agent BProxy Server
Location Server
B’s current location
RegistrationServer
8
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.0Via: SIP/2.0/UDP saturn.belltell.comFrom: sip:[email protected]: sip:[email protected]: 1 REGISTERCall-ID: [email protected]: sip:[email protected]:3890Expires: 7200
9
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)
10
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
addressesINVITE 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
11
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.
12
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
13
200 (OK)
INVITE
180 (Ringing)180 (Ringing)
200 (OK)
ACK ACK
RTP MEDIA PATH
BYE BYE
200 (OK) 200 (OK)
Call Teardown
MediaPath
Call Setup
INVITE
Proxy
200 (OK)
INVITE
180 (Ringing)
ACK
BYE
200 (OK)
Proxy User AgentUser Agent
VoIP Call setup : SIP message flow
14
Motivation
Collaborative AppsCollaborative Apps
SameTimeSameTime
Notes Calendar/emailNotes Calendar/email
(SIP-enabled) (SIP-enabled) Services/ InfrastructureServices/ Infrastructure
Corporate VoIP/dataCorporate VoIP/data networknetwork(VoIP trial)(VoIP trial)
VoIP infrastructureVoIP infrastructureEnhancements Enhancements (conferencing, context)(conferencing, context)
Web BrowserWeb Browser
VoIP enabled portalsVoIP enabled portals
Client-side SIP serviceClient-side SIP service
In-house conferencing service In-house conferencing service (IP/ PSTN phones)(IP/ PSTN phones)
Distributed application scenarios, Distributed application scenarios, e.g. networked gamese.g. networked games
Game servers, IM serversGame servers, IM servers
15
Applic
ati
on Inte
rface
SIP ServiceSIP Service
Web Browser
IM Agent
Email Client
Other Apps(Multi-player Games, …)
Wrapper 1
Wrapper 2
Wrapper 3
SIPSIPStackStackwith with
pub/subpub/sub
Client Laptop
IP Phone
SoftPhone
PSTN/ cell phone
16
LINGID
http://www.wifi.ee/foorum2/viewtopic.php?t=1083
http://www.packetizer.com/voip/sip/
http://www.tech-invite.com/
17
Lingid (1)http://www.eventhelix.com/RealtimeMantra/
CongestionControl/queueing_theory.htm
http://www.tmcnet.com/voip/conference/m05/sip-workshop.
aspx
http://en.wikipedia.org/wiki/SIP_trunking
http://en.wikipedia.org/wiki/Session_Initiation_Protocol
http://en.wikipedia.org/wiki/IP_Multimedia_Subsystem
18
Lingid (2)http://www.ietf.org/rfc/rfc4740.txt?number=4740
http://www.cisco.com/en/US/products/ps6638/products_data_sheet09186a00804fe332.html
http://www1.cs.columbia.edu/~kns10/talks/belllabs.ppt
http://www1.cs.columbia.edu/~kns10/talks/