180 likes | 193 Views
Kommunikatsiooniteenuste arendus IRT0080. Loeng 8. Avo Ots. telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst. avo.ots@ttu.ee. 1. SIP (Session Initiation Protocol). A signaling protocol for setting up multimedia sessions between endpoints
E N D
Kommunikatsiooniteenuste arendus IRT0080 Loeng 8 Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst. avo.ots@ttu.ee 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 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 text- based • 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 Location Server Registration Server Registration Server User Agent A User Agent B Proxy Server 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:watson@belltell.com To: sip:watson@belltel.com CSeq: 1 REGISTER Call-ID: 70710@saturn.belltell.com Contact: sip:watson@globe..belltell.com: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:watson@ieee.org SIP/2.0 Via: SIP/2.0/UDP c.belltell.com From: sip:a.g.bell@belltell.com To:sip:watson@ieee.org Call-ID: 23534@c.belltell.com 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 User Agent INVITE INVITE INVITE Call Setup 180 (Ringing) 180 (Ringing) 180 (Ringing) 200 (OK) 200 (OK) 200 (OK) ACK ACK ACK Media Path RTP MEDIA PATH Call Teardown BYE BYE BYE 200 (OK) 200 (OK) 200 (OK) 13
Motivation Collaborative Apps Web Browser SameTime VoIP infrastructure Enhancements (conferencing, context) Notes Calendar/email VoIP enabled portals Distributed application scenarios, e.g. networked games Corporate VoIP/data network (VoIP trial) (SIP-enabled) Services/ Infrastructure Client-side SIP service In-house conferencing service (IP/ PSTN phones) Game servers, IM servers 14
Application Interface Web Browser IP Phone Wrapper 1 SIP Stack with pub/sub IM Agent SoftPhone Wrapper 2 Email Client Wrapper 3 SIP Service Other Apps (Multi-player Games, …) 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/sip- workshop.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