Download presentation
Presentation is loading. Please wait.
1
Session Initiation Protocol
The department of Information & Communications Engineering Dong-uk, kim
2
Table of Contents Introduction Transaction Transport Registration
Dialog Initiating a session Terminating a session Headers
3
Introduction
4
Introduction Many Applications that require the creation and management of a session. The Session initiation Protocol Can enabling UA to discover one another General-purpose tool for creating, modifying and terminating session Works independently of underlying transport protocols
5
SIP URIs Two URI schemes
Similar to the form of an address: SIP URI - introduced in RFC 2543 example: Secure SIP URI - introduced in RFC 3261 example: Requires TLS over TCP as transport for security
6
SIP URIs (cont’d) Several types of SIP URIs:
Address of Record (AOR) (identifies a user) example: Need DNS records to locate SIP Servers for “domain.com” Fully Qualified Domain Name (FQDN) (identifies a specific device)
7
Functionality User Location User Availability User Capabilities
Determination of the end system to be used for communication User Availability Determination of the willingness of the called party to engage in communication User Capabilities Determination of the media and media parameters to be used Session Setup Establishment of session parameters between parties Session Management Transfer, modifying
8
Operation
9
SIP Message structure INVITE sip:bob@biloxi.com SIP/2.0 <CRLF>
Start Line Via: SIP/2.0/UDP Call-ID: From: To: CSeq: 1 INVITE Max-forwards: 70 Content-Type: application/sdp Content-Length:885 Headers Blank Line <CRLF> v=0 o=xener IN IP s=hello session c=IN IP m=audio 3456 RTP/AVP Content
10
Request Method INVITE ACK BYE CANCEL OPTIONS REGISTER REFER PUBLISH
Basic Extention INVITE ACK BYE CANCEL OPTIONS REGISTER REFER PUBLISH SUBSCRIBE NOTIFY MESSAGE INFO UPDATE
11
Response code 1xx: Provisional
request received, continuing to process the request 2xx: Success the action was successfully received, understood, and accepted 3xx: Redirection further action needs to be taken in order to complete the request 4xx: Client Error the request contains bad syntax or cannot be fulfilled at this server 5xx: Server Error the server failed to fulfill an apparently valid request 6xx: Global Failure the request cannot be fulfilled at any server
12
Transaction
13
Transaction A SIP Transaction consists of A single request
Zero or more provisional responses One or more final responses i.e.> An INVITE request Final response (which is not 2xx response) The final ACK is part of the transaction
14
Transaction Process
15
INVITE Client Transaction
Timer A At each retransmit. T1 = 500ms(default) Timer B 64 * T1 Timer D At least 32sec. In unreliable transport The duration, the server transaction can remain in the Complete state == at INV. Server trans. Timer C ? Managed by TU Update at recv 101 ~199 Reset to different value But At least 3 min. If Fires CANCLE / treat like 408
16
INVITE Server Transaction
Timer G At each retransmit. T1 = 2 * T1 T1 = 500ms(default) Timer H 64 * T1 == timer B Timer I
17
Non-INVITE Client Transaction
Non-INVITE transaction do not make use of ACK Simple req-res interactions
18
Non-INVITE Server Transaction
19
Transport
20
Transport Layer Mandatory UDP & TCP If Message size is larger than
Path MTU – 200 1300 (at unknown path MTU) Must be sent using an RFC 2914 (such as TCP)
21
Registrations
22
Overview SIP offers a discovery capability
Registration creates bindings in a location service Associates AoR ∈ Contact addresses
23
Registration Msg. The Request-URI names the domain of the location service for which the registration is meant The to header field containsthe address of record whose registrations is to be created The From header field contains the address-of-record of the person responsivle foor the registrations The value is the same as the To headerfield unless the request is a third-party registrations All registrations from a UA should use the same Call-ID header field vbalue for registrations sent to a paricular registar. The CSeq value guarantees proper ordering of REGISTERrequests. A UA must increment the CSeq value by one for each REGISTER request with the same Call-ID The Contact header field with zero or more values containing address bindings. Expire header field indicates how long the UA would like the binding to be vaild. The value is a number indicationg seconds.
24
Discover a Registrar UA can use three ways to determine the address to which to send registrations Configuration With a registrar address Using AoR A UA should use the host part of the AoR as the Request- URI and address the request there, using the normal SIP server locations mechanisms Multicast Well-known (by all SIP servers) “sip.mcast.net”( )
25
Registrar
26
Dialog
27
Dialog Represents a Peer to Peer SIP relationship between two user agents Facilitates sequencing of messages between the UAs and proper routing of requests A dialog is identified at each UA with a dialog ID which consists of Call-ID value A local tag A remote tag
28
Creating A Dialog
29
Requests within a Dialog
30
Initiating a Session
31
Overview
32
UAC Processing Initial Offer MUST be in either An INVITE
Answer : 2xx Msg. Final 2xx response Answer : ACK Send INVITE Msg. UAC waits for response for the INVITE “Expire:” Transaction returns a timeout Treat as if “408”
33
UAC Processing 1xx Response Early dialog 3xx Response
Using Contact Addr. Depend on Response Code 4xx ~ 6xx Response Terminating early dialog
34
UAS Processing “Expires:” in INVITE Request
If fires 487 (Request Terminated) Progress Can not answer the invitation immediately Provisional response To prevent cancelation UAS must send a non-100 provisional response at every min. Redirected 300, 301, 302 “Contact : ” Rejected 488 response should include a warning header Why the offer was rejected
35
UAS Processing Accepted The UAS core generates a 2xx response.
INVITE contains offer msg. 2xx response should contain answer
36
Terminating a Session
37
Terminating a Session Each session is Associated with a single dialog
When a BYE is received on a dialog Any session associated with the dialog should terminated A UA must not send BYE outside of a dialog
38
UAs Behavior UAC Creates a new non-INVITE client transaction UAS
UAS receiving BYE msg. Must check if it matches an existing dialog If not, responses 481 (Call/Transaction does not exists)
39
Headers
40
Summary of SIP headers Header field Where Proxy ACK BYE CAN INV OPT
REG Compact Accept R - o m* 2xx 415 c Accept-Encoding Accept-Language Alert-Info ar 180 Allow r
41
Summary of SIP headers(2)
Header field Where Proxy ACK BYE CAN INV OPT REG Compact Allow 405 - m Authentication-Info 2xx o Authorization R Call-ID c r i Call-Info ar Contact 1xx 3xx d 485 Content-Disposition Content-Encoding e Content-Language Content-Length t l
42
Summary of SIP headers(3)
Header field Where Proxy ACK BYE CAN INV OPT REG Compact Content-Type * - c CSeq r m Date a o Error-Info Expires From f In-Reply-To R Max-Forwards amr Min-Expires 423 MIME-Version Organization ar Priority Proxy-Authenticate 407 401
43
Summary of SIP headers(4)
Header field Where Proxy ACK BYE CAN INV OPT REG Compact Proxy-Authorization R dr o - Proxy-Require ar Record-Route 2xx,18x ma Reply-To Require c Retry-After 404,413, 480,486, 500,503, 600,603 Route adr Server r Subject s Supported m* k 2xx
44
Summary of SIP headers(5)
Header field Where Proxy ACK BYE CAN INV OPT REG Compact Timestamp o To c(1) r m t Unsupported 420 - User-Agent Via R amr v rc dr Warning WWW-Authenticate 401 ar 407 ▶ In “where” R: in requests r: in responses 2xx, 4xx, etc: response code c: copied from request to response ▶ In “proxy” a: can add/concatenate if not present m: can modify value d: can delete value r: must be able to be read (cannot be encrypted) ▶ In methods c: conditional o: optional m: mandatory t: should be sent, but can be omitted m*: should be sent, but can be omitted (mandatory in stream-based transport protocol)
45
IETF WGs Applications Area General Area Internet Area
Operations and Management Area Real-time Applications and Infrastructure Area Routing Area Security Area Transport Area
46
WGs WG name Activity and Key words avt RTP bliss Interoperability
drinks Provisioning, orthogonal to ENUM & SPEERMINT ecrit Emergency ENUM Telephone number mapping geopriv Location convey iptel Ip telephony with “tel” URI mediactrl Media server control mmusic SDP p2psip P2psip sigtran IP, PSTN interworking simple IM & Presence, PIDF SIP sipping Investigation, Event Package, 3GPP speechse MRCP, TTS speermint Session peering xcom Centrailzed conference avt Audio/Video Transport bliss Basic Level of Interoperability for SIP Services drinks Data for Reachability of Inter/tra-NetworK SIP ecrit Emergency Context Resolution with Internet Technologies enum Telephone Number Mapping geopriv Geographic Location/Privacy iptel IP Telephony mediactrl Media Server Control mmusic Multiparty Multimedia Session Control p2psip Peer-to-Peer Session Initiation Protocol sigtran Signaling Transport simple SIP for Instant Messaging and Presence Leveraging Extensions sip Session Initiation Protocol sipping Session Initiation Proposal Investigation speechsc Speech Services Control speermint Session PEERing for Multimedia INTerconnect xcon Centralized Conferencing
48
( ㅡ_-)’’ No. Is RFC WG remark title Rev. Status Abstract 1 RFC GEOPRIV
A Presence Architecture for the Distribution of GEOPRIV Location Object - A protocol that carries PIDF_LO which used [I-D-SIP-location-Conveyance] 2 RFC 4119 A Presence-based GEOPRIV Location Object Format Describes a Location-Object(LO) for carrying geographical information on the internet. 3 IMPP RFC 2778 A Model for Presence and Instatnt Messaging A Logical model for presence and instant messaging architecture 4 RFC 2779 Instatn Messaging / Presence Protocol Requirements Defines a minimal set of requirements of IMPP 5 RFC 3859 Common Profile for Presence (CPP) Defines common semantics and data formats for preence 6 RFC 3860 Common Profile for Instant Messaging (CPIM) Defines common semantics and data formats for IM 7 RFC 3861 Address Resolution for Instant Messaging and Presence Provides a guidance for locationg the resources associated with URIs using DNS, SRV 8 RFC 3863 Presence Information Data Format (PIDF) A Definition for Presence Information Data Format (PIDF) as an Extension of XML 9 SIMPLE RFC 4482 CIPID: Contact Information for the PIDF Additional Contact Information to the Presentity 10 RFC 4660 Fuctional Description of Event Notification Filtering Describes the opeations a subscriber performs in order to put filtering rules associated with a subscription 11 RFC 4662 A SIP Event Notification Extention for Resource Lists A Subscribe mechanism for a list of resource, instade of send SUBSCRIBE to each resource 12 RFC 4481 Timed Presence Extensions to the PIDF to Indicate Status Information for Pas and Future Time Intervals A PIDF extension for timed status information for a time interval fully in the future or the past 13 RFC 5263 SIP Extension for Partial Notification of Presence Information Describes the partial notification mechanism 14 RFC 5262 PIDF Extension for Partial Prescnce A Definition for using PIDF XML for partial presence 15 RFC 5264 Publication of Partial Presence Information A mechanism for partial presence information 16 RFC 5196 SIP UA Capability Extension to PIDF Defines a PIDF extension to represent SIP IA capabilities 17 RFC 4479 A Data Model for Presence A definition to PIDF for presence and instant messaging 18 RFC 5025 Presecne Authorization Rules Authorization rules for Presence 19 RFC 3856 A Presence Package for the SIP Presence extension for the event package 20 RFC 4480 RPID: Rich Presence Extensions to the PIDF An extension that adds optional elements to the PIDF 21 RFC 3857 A Watcher Information Event Templete-Package for the SIP An event templete package for event notification for management watcher information that associated a resource 22 RFC 3858 An XML based Format for Watcher Information A PIDF Definition for Watcher Information 23 RFC 4825 The XML Configuration Access Protocol(XCAP) A protocol definition that can read, write, modify application in XML format on a server 24 RFC 4826 XML Formats for Representing Resource Lists A Definition how to reprensenting resource list with XCAP 25 RFC 4827 An XCAP Usage for Manipulating Presence Document Contents Describes a usage of the XCAP for manipulating the contents of PIDF 26 Draft interdomain-scaling-analysis Presence Interdomain Scalling Analysis for SIP/SIMPLE Publication Requested An analysis for presence and IM traffic as an informational doc. 27 view-sharing Optimizing Federated Presence with View Sharing Active A traffic reduce method with view sharing associated I-D-interdomain-scaling-analysis 28 A SIP Event Package for the SIP The usage of the SIP for subscriptions and notifications of presence 29 SIP info-event SIP INFO Method and Package Framework Defines a event package for session defining, negotiation and exchanging with INFO method 30 location-conveyance Location Conveyance for the SIP Defines an extension to the SIP to convey geographic location information from one to another SIP entity 31 RFC 3515 The SIP Refer Method Defines REFER method, refer event package and refer-to request header 32 SIPPING presence-scaling-requirements Scaling Requirements for Presence in SIP/SIMPLE A set of requirements for enabling interdomain scaling on presence 33 cc-framework A Call Control and Multi-party usage framework for the SIP Define a framework and requirements for call control and multi party usage of SIP 34 cc-transfer Session Initiation Protocol Call Control - Transfer Waiting for AD As a part of SIP Multipart call control - call transfer with REFER 35 config-framework A Framework for SIP User Agent Profile Delivery AD Evaluation A Framework ro enable configuratio of SIP UA in SIP deployment 36 policy-package A SIP Event Package for Session-specific Session Policies IESG Evaluation Enables UA to subacribe to session policy for a SIP session and to receive notifications, if it change 37 rtcp-summary SIP Package for Voice Quaity Reporting Event A Definition to enable the collection and reporting that measure the qualituy for VoIP sessions 38 gruu-reg-event Registration Event Package Extention for SIP GRUUs Last Call Reg. event package (RFC3680) extention to GRUU for frequency unreachable 'contact' information 39 pending-additions The SIP Pending Additions Event Package RFC Ed. Queue Defines a event package whereby user agent can subscribe to the consent-related state of the resources [ID-sip-consent-framework] that are being added to a resource list that defines translation 40 RFC 4575 A SIP Event Package for Conference State A SIP Event Package for tightly coupled conferences using the SIP 41 RFC 4235 An INVITE-Initiated Dialog Event Package for the SIP A Dialog event package for INVITE initiated dialog 42 RFC 4730 A SIP Event Package for Key Press Stimulus Describes a KPML that enables monitoring of DTMF signals and user XML docs refered to as KPML 43 RFC 3842 A Message Summary and Message Waiting Infication Event Package for the SIP A SIP Event Package to carry message waiting status and message summaries form a messaging systm to UA 44 RFC 4354 A SIP Event Package and Data Format for Various Setting in Support for the PTToCellular Service Defines a SIP event package to support publication, subscription, and notification of additional capabilities for PoC 45 RFC 3680 A SIP Event Package for Registration A Event Package for Register event occurred state 46 SPEERMINT RFC 5344 Presence and Instant Messaging Peering Use Cases Describes several user cases of peering of non-VoIP services between two or more Service Provider
49
SIP-overload WG Rate-based Overload Control
Limit the request rate a server receives from an upstream element. Feedback: X requests per second. Loss-based Overload Control Reduce the request rate a server receives by a percentage X. Feedback: reduce load by X%. Window-based Overload Control Limit the number of request a server can receive without confirming a request. Feedback: send X more requests. Overload Signal-based Overload Control De-/increase of request rate until a target overload notification rate is reached. Feedback: server overloaded (503 response without Retry–After header)
50
Any Questions
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.