Anna Sfairopoulou Page 1 SIP. Anna Sfairopoulou Page 2 What we will see... Signalling vs Media SIP standarization and design principles Message syntax.

Slides:



Advertisements
Similar presentations
SIP(Session Initiation Protocol) - SIP Messages
Advertisements

SIP, Presence and Instant Messaging
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
Internet Telecom Expo September 20, 2000 SIP vs. H.323 SIP vs. H.323 Will the Real IP Telephony Please Stand Up? Jonathan Rosenberg.
1 IP Telephony (VoIP) CSI4118 Fall Introduction (1) A recent application of Internet technology – Voice over IP (VoIP): Transmission of voice.
Johan Garcia Karlstads Universitet Datavetenskap 1 Datakommunikation II Signaling/Voice over IP / SIP Based on material from Henning Schulzrinne, Columbia.
H. 323 Chapter 4.
July 20, 2000H.323/SIP1 Interworking Between SIP/SDP and H.323 Agenda Compare SIP/H.323 Problems in interworking Possible solutions Conclusion Q/A Kundan.
Voice over IP Fundamentals
January 23-26, 2007 Ft. Lauderdale, Florida An introduction to SIP Simon Millard Professional Services Manager Aculab.
Signaling: SIP SIP is one of Many ITU H.323 Originally for video conferencing The first standard protocol for VoIP Still in wide usage, but negative.
Session Initiation Protocol Winelfred G. Pasamba.
Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 1 Advanced services with SIP.
Session Initiation Protocol (SIP) By: Zhixin Chen.
SIP/RTP/RTCP Implementation by George Fu, UCCS CS 525 Semester Project Fall 2006.
VoIP Using SIP/RTP by George Fu, UCCS CS 522 Semester Project Fall 2004.
Cmpe 491 Special Project In Computer Engineering SIP User Agent In JAVA Alp Eren YILMAZ & Serdar YALÇINKAYA.
A Generic Event Notification System Using XML and SIP Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University
12/05/2000CS590F, Purdue University1 Sip Implementation Protocol Presented By: Sanjay Agrawal Sambhrama Mundkur.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 2. SIP.
SIP, Session Initiation Protocol Internet Draft, IETF, RFC 2543.
An Introduction to SIP Moshe Sambol Services Research Lab November 18, 1998.
Internet Telephony Helen J. Wang Network Reading Group, Jan 27, 99 Acknowledgement: Jimmy, Bhaskar.
1 Extending SIP Speaker: Hsuan-Ming Chen Adviser: Ho-Ting Wu Date: 2005/04/26.
Introduction to SIP Speaker: Min-Hua Yang Advisor: Ho-Ting Wu Date:2005/3/29.
Secure Telephony Enabled Middle-box (STEM) Maggie Nguyen Dr. Mark Stamp SJSU - CS 265 Spring 2003 STEM is proposed as a solution to network vulnerabilities,
Session Initialization Protocol (SIP)
Session Initialization Protocol (SIP) Presented by: Aishwarya Gurazada CISC856: TCP/IP and upper layer protocols May 5 th 2011 Some slides borrowed from.
SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.
Signaling & Network Control 7th Semester
Session Initiation Protocol Tutorial Ronen Ben-Yossef VP of Products - RADCOM
Internet, Part 2 1) Session Initiating Protocol (SIP) 2) Quality of Service (QoS) support 3) Mobility aspects (terminal vs. personal mobility) 4) Mobile.
Internet, Part 2 1) Session Initiating Protocol (SIP) 2) Quality of Service (QoS) support 3) Mobility aspects (terminal vs. personal mobility) 4) Mobile.
Session Initiation Protocol Team Members: Manjiri Ayyar Pallavi Murudkar Sriusha Kottalanka Vamsi Ambati Girish Satya LeeAnn Tam.
NAT Traversal Speaker: Chin-Chang Chang Date:
1 Kommunikatsiooniteenuste arendus IRT0080 Loeng 8 Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
1 Kommunikatsiooniteenuste arendus IRT0080 Loeng 4 Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.
Call Control with SIP Brian Elliott, Director of Engineering, NMS.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
H.323 An International Telecommunications Union (ITU) standard. Architecture consisting of several protocols oG.711: Encoding and decoding of speech (other.
Presented By Team Netgeeks SIP Session Initiation Protocol.
SIP, SDP and VoIP David A. Bryan CSCI 434/534 December 6, 2003.
SIP:Session Initiation Protocol Che-Yu Kuo Computer & Information Science Department University of Delaware May 11, 2010 CISC 856: TCP/IP and Upper Layer.
Simon Millard Professional Services Manager Aculab – booth 402 The State of SIP.
Omar A. Abouabdalla Network Research Group (USM) SIP – Functionality and Structure of the Protocol SIP – Functionality and Structure of the Protocol By.
Security, NATs and Firewalls Ingate Systems. Basics of SIP Security.
VoIP Signaling Protocols A signaling protocol is a common language spoken by telephones and call-management servers, the PSTN, and legacy PBX systems as.
RSVP Myungchul Kim From Ch 12 of book “ IPng and the TCP/IP protocols ” by Stephen A. Thomas, 1996, John Wiley & Sons. Resource Reservation.
Session Initiation Protocol (SIP) Chapter 5 speaker : Wenping Zhang data :
CSE5803 Advanced Internet Protocols and Applications (14) Introduction Developed in recent years, for low cost phone calls (long distance in particular).
1 Internet Telephony: Architecture and Protocols an IETF Perspective Authors:Henning Schulzrinne, Jonathan Rosenberg. Presenter: Sambhrama Mundkur.
The Session Initiation Protocol - SIP
S Postgraduate Course in Radio Communications. Application Layer Mobility in WLAN Antti Keurulainen,
1 Personal Mobility Management for SIP-based VoIP Services 王讚彬 國立台中教育大學資訊工程學系
7: Multimedia Networking7-1 protocols for real-time interactive applications RTP, RTCP, SIP.
Postech DP&NM Lab Session Initiation Protocol (SIP) Date: Seongcheol Hong DP&NM Lab., Dept. of CSE, POSTECH Date: Seongcheol.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 24 – Multimedia Session Protocols Klara Nahrstedt Spring 2014.
سمینار تخصصی What is PSTN ? (public switched telephone network) تیرماه 1395.
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
IP Telephony (VoIP).
SIP over MANETs Introduction to SIP SIP vs MANETs Open Issues
Session Initiation Protocol
Internet, Part 2 1) Session Initiating Protocol (SIP)
Session Initiation Protocol (SIP)
Alfredo Terzoli / Mosioua Tsietsi
Net 431: ADVANCED COMPUTER NETWORKS
Internet, Part 2 1) Session Initiating Protocol (SIP)
Simulation of Session Initiation Protocol
SIP Basics Workshop Dennis Baron July 20, 2005.
Presentation transcript:

Anna Sfairopoulou Page 1 SIP

Anna Sfairopoulou Page 2 What we will see... Signalling vs Media SIP standarization and design principles Message syntax SIP addressing SIP methods –Request messages –Response messages SIP entities (servers) Examples

Anna Sfairopoulou Page 3 Why SIP SIP  VoIP + WLAN  competition to cellular telephony? IMS component P2PSIP Application layer mobility using SIP

Anna Sfairopoulou Page 4 The simplest voice call Listening on port 5060 Expecting UDP Expecting CODEC PCM A-law Knows port 5060 Knows UDP Knows CODEC PCM A-law Knows address Internet Alice Bob Self-written C code: Open socket Take voice samples from microphone Send voice samples in UDP packets Self-written Java code: Open socket Wait for UDP packets Playback voice samples

Anna Sfairopoulou Page 5 What if... Alice doesn't know Bob's IP address? Alice uses a different codec? Bob is busy in a previous call? Bob is absent? Other media desired (e.g. Video)? Cesar would like to join in?  Some form of call control (a.k.a. SIGNALING) is needed!

Anna Sfairopoulou Page 6 Think about the road system...

Anna Sfairopoulou Page 7 Media vs Signaling To interchange user data, transport protocols are used –UDP –TCP To control that interchange, signaling protocols are used –RSVP –SIP –RTSP (+ RTP on top)

Anna Sfairopoulou Page 8 Signaling serves to... Set up and tear down VoIP calls/sessions Reserve bandwidth among routers Establish secure connections over the Internet Interchange routing information Inform of network malfunctions Configure network equipment remotely Etc.

Anna Sfairopoulou Page 9 The ATM cube revisited

Anna Sfairopoulou Page 10 Layers vs Planes Layering: Structures how data transport is done in a network Planes: Define what purpose a data transfer serves: –User plane: Transfer of user info –Control plane: Control the transfer of user info –Management plane: Check and update status of network elements (routers, servers, etc.)

Anna Sfairopoulou Page 11 The purpose of signaling Interchange of control information for the management of traffic aggregates and of the network as a whole Signaling protocols represent a parallel network for the purpose of network and traffic control  The complexity and the intelligence of the network lies mainly here!

Anna Sfairopoulou Page 12 The real “simplest” voice call

Anna Sfairopoulou Page 13 The real “simplest” voice call SIP Express Server (SER) Database (MySQL) DNS (Named) Twinkle

Anna Sfairopoulou Page 14 Signalling Signalling serves to control user data transfer across the network –Data transfer is easy, signaling is hard! SIP is a session-layer signaling protocol RTP is a session-layer data transfer protocol UDP is the transport protocol mostly used to transport both

Anna Sfairopoulou Page 15 SIP standardization First designed by Henning Schulzrinne and Mark Handley starting in 1996 Standardized in IETF RFC 3261 –See also RFC 3551, 2327, 3219, 3761, 3525, Decentralized design –The intelligence lies on the nodes Ongoing process –Extensions –Services

Anna Sfairopoulou Page 16 SIP design principles (I) Modelled after HTTP –Text-based Based on transactions –Request / response Simple –Less than 10 methods / packet types Only for call control –No QoS, no media transfer, no application-specific functions

Anna Sfairopoulou Page 17 SIP design principles (II) Session-oriented –Can manage any session-based service Online gaming Videoconferencing Virtual reality Chat Etc

Anna Sfairopoulou Page 18 The SIP-related protocol “Zoo” Loosely coupled to other Internet protocols –SDP, DNS, SMTP, HTTP, RSVP,... Defines complementary protocols to enable special services –TRIP, ENUM, SPIRITS, PINT,... Any VoIP network needs a combination of protocols to work

Anna Sfairopoulou Page 19 VoIP protocol stack SIP TCP / UDP / SCTP? MPEG, H.261, etc. RTP UDP IP RTCP, TRIP, etc. TCP / UDP? Fast/GigEth, ATM, MAC/LLC, etc. DSL, Phy GigEth, PHY etc. SignalingMedia Transport Support Physical Network Transport Session Presentation Layer Datalink

Anna Sfairopoulou Page 20 SIP fundamentals Which messages do we need to control a VoIP call? –Let's try to find out...

Anna Sfairopoulou Page 21 A basic SIP call Alice Bob | | | INVITE | | >| | 180 Ringing | |< | | | | 200 OK | |< | | ACK | | >| | Both Way RTP Media | | | | BYE | |< | | 200 OK | | >| | | INVITE SIP/2.0 From: Alice To: Bob m=audio RTP/AVP 0 a=rtpmap:0 PCMU/8000 SIP/ OK m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000

Anna Sfairopoulou Page 22 Message syntax (I) SIP is request / response Every request carries a method indicating the request type INVITE SIP/2.0 Every response carries a status code explaining the answer SIP/ OK Request Line or Status Line Message Headers Payload

Anna Sfairopoulou Page 23 Message syntax (II) Both carry message headers with the parameters –Variable depending on method / context –Additional information about the message –Ex: From: Alice Payload transports additional info (normally using SDP) –No user data! –description of audio / video capabilities –Ex: m=audio 3456 RTP/AVP 0

Anna Sfairopoulou Page 24 SIP addressing SIP URL (Uniform Resource Locator) –Specify the location of a resource (user) – -like addresses –But it is not an address! Non sip URLs can be also found in SIP messages –mailto, tel. im …

Anna Sfairopoulou Page 25 Original SIP methods (I) Six methods defined initially in the standard –INVITE –ACK –BYE –CANCEL –OPTIONS –REGISTER

Anna Sfairopoulou Page 26 Original SIP methods (II) INVITE initiates sessions –session description included in message body – re-INVITEs used to change session state ACK confirms session establishment – can only be used with INVITE BYE terminates sessions

Anna Sfairopoulou Page 27 Original SIP methods (III) CANCEL cancels a pending INVITE OPTIONS capability inquiry REGISTER binds a permanent address to current location –may convey user data (CPL scripts)

Anna Sfairopoulou Page 28 SIP methods extensions INFO mid-call signaling COMET preconditions met PRACK provisional reliable responses ACK SUBSCRIBE/NOTIFY/MESSAGE instant messaging REFER call re-direction UPDATE update call state PUBLISH user info

Anna Sfairopoulou Page 29 SIP responses (I) Borrowed from HTTP:  xyz code + explanatory text Receivers need to understand x 1yz Informational –100 Trying –180 Ringing –183 Session in progress 2yz Success –200 ok

Anna Sfairopoulou Page 30 SIP responses (II) 3yz Redirection –300 Multiple choices –302 Moved temporarily –305 Use proxy 4yz Request failure – 400 Bad Request – 401 Unauthorized – 407 Proxy authentication required – 486 Busy Here 

Anna Sfairopoulou Page 31 SIP responses (III) 5yz Server failure –500 Server internal error –501 Not implemented –503 Service unavailable 6yz Global failure –600 Busy everywhere –606 Not acceptable

Anna Sfairopoulou Page 32 A basic SIP call (again) Alice Bob | | | INVITE | | >| | 180 Ringing | |< | | | | 200 OK | |< | | ACK | | >| | Both Way RTP Media | | | | BYE | |< | | 200 OK | | >| | | INVITE SIP/2.0 From: Alice To: Bob m=audio RTP/AVP 0 a=rtpmap:0 PCMU/8000 SIP/ OK m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000

Anna Sfairopoulou Page 33 SIP message headers Huge number of different headers –See RFC 3261 –Nomenclature: SIP header = Other protocol's header field Headers parameterize the request or response A SIP entity ignores headers it does not understand –Simplifies interworking

Anna Sfairopoulou Page 34 Header types General headers –Basic info to process the transaction –E.g. “To”, “From” and “Call-ID” headers Request headers –Additional info about request or sender –E.g. The “Subject” header Response headers –Additional info about response or receiver –E.g. “Unsupported” and “Retry-After” header Entity headers

Anna Sfairopoulou Page 35 A complete SIP message

Anna Sfairopoulou Page 36 Example: Invite message Starting Line Headers Separator Message Body

Anna Sfairopoulou Page 37 SIP entities: UAC & UAS User Agent Client (UAC) –Places calls –Sends requests User Agent Server (UAS) –Waits for incoming calls –Sends responses A SIP terminal is a UAC + UAS –Beware of this special client/server terminology!

Anna Sfairopoulou Page 38 SIP network entities Servers (UAS) –Proxy server –redirect server –registrar Can be combined in a single device  p.e. SER!!! They deal only with signaling Media is transported end-to-end –There are exceptions...  Signaling controls media interchange: It is not necessary to touch the media streams directly!

Anna Sfairopoulou Page 39 SIP entities: Registrar Users register their contact info –Keeps the info at a Location Server (Which is simply a database) –SIP address, but also other addresses, with a type indication: user = phone –Enables personal and terminal mobility and user behaviour patterns

Anna Sfairopoulou Page 40 Registration example

Anna Sfairopoulou Page 41 Registration example Contact could also be a specific location e.x. pc1.grup2.labtel2.upf.edu Un-Register –Send the same message but with EXPIRE = 0

Anna Sfairopoulou Page 42 SIP entities: Proxy server Proxy Server –Acts on behalf of UAC Processing the request Responding to requests Forwarding requests –Can impersonate the client –Acts both as client and server –Forking proxies Forwards an INVITE to several destinations in parallel

Anna Sfairopoulou Page 43 Proxy example

Anna Sfairopoulou Page 44 Stateless vs Stateful proxy In general –Stateless: get a request, forward it, forget about it –Stateful: remembers previous responses/requests of a particular transaction act more intelligently on subsequent requests! Record-Route: force future messages to pass from this proxy

Anna Sfairopoulou Page 45 SIP entites: Redirect server Maps destination SIP addresses to “reachable” addresses –SIP address, , telephone number, etc. –Depending on user preferences Informs the client about them –No message forwarding!

Anna Sfairopoulou Page 46 Redirection example

Anna Sfairopoulou Page 47 Additional examples (taken from RFC 3665 and Collins)

Anna Sfairopoulou Page 48 Session establishment through two proxies In this scenario, Alice completes a call to Bob using two proxies Proxy 1 and Proxy 2. The initial INVITE (F1) contains a pre-loaded Route header with the address of Proxy 1 (Proxy 1 is configured as a default outbound proxy for Alice). The request does not contain the Authorization credentials Proxy 1 requires, so a 407 Proxy Authorization response is sent containing the challenge information. A new INVITE (F4) is then sent containing the correct credentials and the call proceeds. The call terminates when Bob disconnects by initiating a BYE message. Proxy 1 inserts a Record-Route header into the INVITE message to ensure that it is present in all subsequent message exchanges. Proxy 2 also inserts itself into the Record-Route header. The ACK (F15) and BYE (F18) both have a Route header.

Anna Sfairopoulou Page 49

Anna Sfairopoulou Page 50 Unsuccessful temporarily unavailable In this scenario, Bob initially sends a 180 Ringing response to Alice, indicating that alerting is taking place. However, then a 480 Unavailable is then sent to Alice. This response is acknowledged and then proxied back to Alice.

Anna Sfairopoulou Page 51

Anna Sfairopoulou Page 52 Forking proxy Used if a particular user is registered at several locations Stateful! –Proxy remembers that it has two sessions pending and it cancels the one the moment the other responds The “branch” parameter in the “via” header allows to distinguish among forked requests (and responses)

Anna Sfairopoulou Page 53

Anna Sfairopoulou Page 54 SDP Session Description Protocol –Which is not a protocol... –...but a description language for media flows Convey sufficient information to participate in a multimedia session Independent of SIP –But they work nicely together

Anna Sfairopoulou Page 55 SDP message info SDP includes description of: –Media to use Codec Sampling rate –Media destination IP address and port number –Session name and purpose –Times the session is active –Contact information

Anna Sfairopoulou Page 56 SDP message example v=0 o=alice IN IP s=Wedding Proposal c=IN IP t= m=audio RTP/AVP a=rtpmap:15 G728/8000 a=rtpmap:98 L16/11025/2 m=audio 4666 RTP/AVP 4 a=rtpmap:4 G723/8000

Anna Sfairopoulou Page 57 SDP capability negotiation Caller offers set of possible media Callee accepts or rejects every one of them –If several chosen, re-invite If none acceptable, warning sent back and re-invite Alternative: Use the OPTIONS method –Query the callee's capabilities prior to INVITE

Anna Sfairopoulou Page 58 SDP examples 1.Successful capability selection with SDP 2.Re-invite after capability exchange with SDP 3.Capability query with OPTIONS (Taken from Collins)

Anna Sfairopoulou Page 59 Example 1: Successful capability selection

Anna Sfairopoulou Page 60 Example 2: Re-Invite after capability exchange

Anna Sfairopoulou Page 61 Example 3: capability query with OPTIONS

Anna Sfairopoulou Page 62 For next class Find an article on any of the following topics: - SIP + WLANs - Mobile P2PSIP - Application layer mobility using SIP Small presentation (5-10 slides) each during seminar Short report (max. 2 pages) on paper send by Friday, 29 January