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.

Slides:



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

SIP, Presence and Instant Messaging
SIP, Firewalls and NATs Oh My!. SIP Summit SIP, Firewalls and NATs, Oh My! Getting SIP Through Firewalls Firewalls Typically.
Presence, Security and Privacy. VON The Current Environment Many Faces of Security Authentication Verify someone is who they.
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
IM May 24, 2000 Introduction to SIP Jonathan Rosenberg Chief Scientist.
Internet Telecom Expo September 20, 2000 SIP vs. H.323 SIP vs. H.323 Will the Real IP Telephony Please Stand Up? Jonathan Rosenberg.
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.
Session Initiation Protocol Winelfred G. Pasamba.
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
Anna Sfairopoulou Page 1 SIP. Anna Sfairopoulou Page 2 What we will see... Signalling vs Media SIP standarization and design principles Message syntax.
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.
SIP 逄愛君 SIP&SDP2 Industrial Technology Research Institute Computer & Communication Research Laboratories Elgin Pang Outline.
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.
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.
Via contains the address at which the originator is expecting to receive responses to this request. Mandatory To contains a display name and a SIP URI.
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
Telephony Features with SIP
3. VoIP Concepts.
Session Initiation Protocol Team Members: Manjiri Ayyar Pallavi Murudkar Sriusha Kottalanka Vamsi Ambati Girish Satya LeeAnn Tam.
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.
B2BUA – A New Type of SIP Server Name: Stephen Cipolli Title: System Architect Date: Feb. 12, 2004.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
Improving the Routing Efficiency of SIP Instant Message SIP 即時傳訊之繞送效能研究 adviser : Quincy Wu speaker : Wenping Zhang date :
Basic SIP Applications Dawit Kifle Principal Software Engineer.
Presented By Team Netgeeks SIP Session Initiation Protocol.
SIP, SDP and VoIP David A. Bryan CSCI 434/534 December 6, 2003.
7/6/20061 Speermint Use Case for Cable IETF 66 Yiu L. Lee JULY 2006.
1 SPEERMINT Use Cases for Cable IETF 66 Montreal 11 JULY 2006 Presented by Yiu L. Lee.
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.
Toshiba Confidential 1 Presented by: Philipe BC Da’Silva SESSION INITIATION PROTOCOL.
Session Initiation Protocol (SIP) Chapter 5 speaker : Wenping Zhang data :
Open issues from SIP list Jonathan Rosenberg dynamicsoft.
1 RFC4028 Session Timer in the Session Initiation Protocol Speaker : Ying Shun Lin Adviser : Quincy Wu.
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.
SIP wg Items Jonathan Rosenberg dynamicsoft Caller Preferences: Changes Discussion of Redirects –Previous draft only proxy –Nothing different for redirect.
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
Session Initiation Protocol (SIP)
Simulation of Session Initiation Protocol
SIP Basics Workshop Dennis Baron July 20, 2005.
Presentation transcript:

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 growth MGCP Dumb phones controlled by smart server “Softswitch” – PSTN emulation view Megaco/H.248 Standard version of MGCP

Core SIP Functions Establishment of peer to peer sessions Management of peer to peer sessions Keepalives Graceful and Non-graceful termination Rendezvous Forking Search Policy Based Routing Loose Routing Mobility Limited terminal mobility Device Mobility

Core SIP Functions Secure User Identification Exchange and Management of Media Session data User registration Capability declaration Capability query Reliability

SIP Technology Community SIP RFC3261 DNS 3263 Events 3265 Rel 3262 O/A 3264 RTP SDP SIMPLE SigComp SIP Extensions ENUM MIDCOM STUN ROHC

SIP Design Philosophy Patterned after other Successful Internet Standards HTTP Don’t Reinvent the PSTN General Purpose Functionality Do Not Dictate Architectures or Services It needs to work on any IP Network Leverage the Best of Existing Standards URLs MIME RFC822 Scalability Push state to the edge

Basic Design Request/Response Protocol SIP is a Peer Protocol – all entities send requests and receive requests Modelled after HTTP Each request invokes method Main purpose of request Messages contain bodies Agent request response

Transactions Fundamental unit of messaging exchange Request Zero or more provisional responses Usually one final response Maybe ACK All signaling composed of independent transactions Identified by Cseq Sequence number Method tag INVITE ACK BYE 200 First Transaction Second Transaction Cseq: 1 Cseq: 2

Session Independence Body of SIP message used to establish call describes the session Session could be Audio Video Game SIP operation is independent of type of session SIP Bodies are MIME objects MIME = Multipurpose Internet Mail Extensions Mechanisms for describing and carrying opaque content Used with HTTP and

Protocol Components User Agent End systems Hard and soft phones PSTN Gateways Phone Adaptors Media Servers Anything that originates or terminates SIP calls Proxy SIP server responsible for relaying and processing requests between user agents Main job: where to send request next? Back-to-Back User Agent (B2BUA) SIP server that terminates and re- originates SIP SBCs, Call Agents, etc.

SIP Addressing SIP addresses are URL’s URL contains several components Scheme (sip) Username Hostname Optional port Parameters Headers and Body SIP allows any URI type tel URIs http URLs for redirects mailto URLs leverage vast URI infrastructure user=host?Subject=foo

The SIP Trapezoid a.com b.com SIP RTP

SIP Methods INVITE Invites a participant to a session idempotent - reINVITEs for session modification BYE Ends a client’s participation in a session CANCEL Terminates a search OPTIONS Queries a participant about their media capabilities, and finds them, but doesn’t invite ACK For reliability and call acceptance REGISTER Informs a SIP server about the location of a user

SIP Architecture Request Response Media Corp DB a.com sp.com b.com

SIP Message Syntax Many header fields from http Payload contains a media description SDP - Session Description Protocol INVITE SIP/2.0 From: J. Rosenberg ;tag=76ah Subject: Conference Call To: John Smith Via: SIP/2.0/UDP ;branch= z9hG4bK74bf9 Call-ID: Content-type: application/sdp CSeq: 4711 INVITE Content-Length: 187 v=0 o=user IN IP s=Sales c=IN IP t=0 0 m=audio 3456 RTP/AVP 0

SIP Address Fields Request-URI Contains address of next hop server Rewritten by proxies based on result of Location Service To Address of original called party Contains optional display name From Address of calling party Optional display name INVITE SIP/2.0 From: J. Rosenberg ;tag=76ah Subject: Conference Call To: John Smith Via: SIP/2.0/UDP ;branch= z9hG4bK74bf9 Call-ID: Content-type: application/sdp CSeq: 4711 INVITE Content-Length: 187 v=0 o=user IN IP s=Sales c=IN IP t=0 0 m=audio 3456 RTP/AVP 0

SIP Responses Look much like requests Headers, bodies Differ in top line Status Code Numeric, Meant for computer processing Protocol behavior based on 100s digit Other digits give extra info Reason Phrase Text phrase for humans Can be anything Status Code Classes (1XX): Informational (2XX): Success (3XX): Redirection (4XX): Client Error (5XX): Server Error (6XX): Global Failure Two groups : Provisional Not reliable : Final, Definitive Example 200 OK 180 Ringing

Example SIP Response Note how only difference is top line Rules for generating responses Call-ID, To, From, Cseq are mirrored in response Branch parameter used as transaction ID Tag added to To field to identify dialog SIP/ OK From: J. Rosenberg ;tag=76ah To: John Smith ;tag=112 Via: SIP/2.0/UDP ;branch= z9hG4bK74bf9 Call-ID: Content-type: application/sdp CSeq: 4711 INVITE

SIP Transport SIP Messages over UDP or TCP/TLS or SCTP Reliability mechanisms defined for UDP UDP More Widely Used Faster No connection state TCP preferred these days NAT Larger SIP messages Reliability mechanisms depend on SIP request method INVITE anything except INVITE Reason: optimized for phone calls

Registrations REGISTER creates mapping in server from one URI to another REGISTER properties UA location in Contact Registrar identified in Request URI Identifies registered user in To and From field Expires header indicates desired lifetime Can be different for each Contact Registrations are soft-state REGISTER sip:example.com SIP/2.0 To: From: Call-ID: CSeq: 123 REGISTER Contact: Expires: 3600 to

Registration Handling Registrar is logical function handling REGISTER Registrar steps: Authenticate Authorize Add Binding Lower expiration Return all currently registered UA (can be more than one) SIP/ OK To: From: Call-ID: CSeq: 123 REGISTER Contact: Contact:

Forking A proxy may have more than one address for a user Happens when more than one SIP URL is registered for a user Can happen based on static routing configuration In this case, proxy may fork Forking is when proxy sends request to more than one proxy at once First 200 OK that is received is forwarded upstream All other unanswered requests cancelled INVITE INVITE INVITE

Routing of Subsequent Requests Initial SIP request sent through many proxies No need per se for subsequent requests to go through proxies Each proxy can decide whether it wants to receive subsequent requests Inserts Record-Route header containing its address For subsequent requests, users insert Route header Contains sequence of proxies (and final user) that should receive request Proxy UA1 UA2 INVITE BYE

Setting up the Session INVITE contains the Session Description Protocol (SDP) in the body SDP conveys the desired session from the callers perspective Session consists of a number of media streams Each stream can be audio, video, text, application, etc. Also contains information needed about the session codecs addresses and ports SDP also conveys other information about session Time it will take place Who originated the session subject of the session URL for more information SDP origins are multicast sessions on the mbone Originator of INVITE is not originator of session

Anatomy of SDP SDP contains informational headers version (v) origin(o) - unique ID information (I) Time of the session Followed by a sequence of media streams Each media stream contains an m line defining port transport codecs Media Stream also contains c line Address information v=0 o=user IN IP s=Mbone Audio i=Discussion of Mbone Engineering Issues t=0 0 m=audio 3456 RTP/AVP 0 78 c=IN IP a=rtpmap:78 G723 m=video 4444 RTP/AVP 86 c=IN IP a=rtpmap:86 H263

Negotiating the Session Called party receives SDP offered by caller Each stream can be accepted rejected Accepting involves generating an SDP listing same stream port number and address of called party subset of codecs from SDP in request Rejecting indicated by setting port to zero Resulting SDP returned in 200 OK Media can now be exchanged v=0 o=user IN IP t=0 0 m=audio 3456 RTP/AVP 0 c=IN IP m=video 0 RTP/AVP 86 c=IN IP Audio stream accepted, PCMU only. Video stream rejected

Changing Session Parameters Once call is started, session can be modified Possible changes Add a stream Remove a stream Change codecs Change address information Call hold is basically a session change Accomplished through a re-INVITE Same session negotiation as INVITE, except in middle of call Rejected re-INVITE - call still active! INVITE 200 ACK INVITE 200 ACK reINVITE

Hanging Up How to hang up depends on when and who After call is set up either party sends BYE request From caller, before call is accepted send CANCEL BYE is bad since it may not reach the same set of users that got INVITE If call is accepted after CANCEL, then send BYE From callee, before accepted Reject with 486 Busy Here C S INVITE 100 HangupAccept CANCEL 200 OK ACK BYE 200 OK

Call Flow for basic call: UA to proxy to UA Call setup 100 trying hop by hop 180 ringing 200 OK acceptance Call parameter modification re-INVITE Same as initial INVITE, updated session description Termination BYE method INVITE 100 Trying INVITE 100 Trying 180 Ringing 200 OK ACK BYE 200 OK RTP

Privacy and Identity RFC 3325: A Private Extension for Asserted Identity in Trusted Networks RFC 3323: A Privacy Mechanism for SIP RFC 4474: SIP Identity

RFC3325 Asserted Identity Trust Domain Authenticates Caller and verifies identity. Adds PAID. INVITE P-Asserted-Identity:

RFC3323 – SIP Privacy Trust Domain INVITE P-Asserted-Identity: From: anonymous INVITE Privacy: id From: anonymous Anonymous Caller INVITE From: anonymous

4474: SIP Identity Authenticates Caller and verifies identity. Signs Request. INVITE From: Identity: asd87f7as66sda8z INVITE From: Verifies Signature Only useful for addresses!

Transfers and Dialog Movement: REFER (RFC 3515) Joe Alice Bob REFER Refer-To: Bob INVITE INVITE Bob Referred-By: Joe

Third Party Call Control (3pcc): RFC 3725 RTP INVITE no SDP 200 SDP A INVITE SDP A 200 SDP B ACK SDP B

SIP and Quality of Service RFC 3312: Integration of Resource Management with SIP Problem How to make sure phone doesn’t ring unless resources are reserved Solution SIP does not do resource reservation! SIP INVITE tells far side not to ring Both sides do regular QoS reservations RSVP PDP context activation UPDATE to change state INVITE w. Preconditions 183 Progress QoS Reservations UPDATE w. Preconditions 180 Ringing 200 OK ACK