Session Initiation Protocol SIP - PowerPoint PPT Presentation

1 / 97
About This Presentation
Title:

Session Initiation Protocol SIP

Description:

User agent clients. Application programs sending SIP requests. Servers ... A user agent server. Accept SIP requests and contacts the user. The user responds an ... – PowerPoint PPT presentation

Number of Views:169
Avg rating:3.0/5.0
Slides: 98
Provided by: MFC5
Category:

less

Transcript and Presenter's Notes

Title: Session Initiation Protocol SIP


1
Session Initiation Protocol (SIP)
  • Chapter 5

2
Introduction
  • A powerful alternative to H.323
  • More flexible, simpler
  • Easier to implement
  • Advanced features
  • Better suited to the support of intelligent user
    devices
  • A part of IETF multimedia data and control
    architecture
  • SDP, RTSP (Real-Time Streaming Protocol), SAP
    (Session Announcement Protocol)

3
The Popularity of SIP
  • Originally Developed in the MMUSIC
  • by Handley, Schulzrinne, Schooler, and Rosenberg
  • A separate SIP working group
  • RFC 3261
  • Many developers
  • SIP MGCP/MEGACO
  • The VoIP signaling in the future
  • back-off or SIPit (SIP Interoperability Tests)
  • Test products against each other
  • Organized by SIP Forum

4
  • The 18th SIPit event in Tokyo, Japan took place
    April 17-21, 2006, and will be hosted by JPNIC
  • The 17th SIPit event in Stockholm, Sweden took
    place 2005-09-11 to 2005-09-16 and was hosted by
    Hotsip
  • The 16th SIPit event in Banff, Canada took place
    2005-04-04 to 2005-04-08 and was hosted by Jasomi
    Networks
  • The 15th SIPit event in Taiwan took place
    2004-08-23 to 2004-08-27 and was hosted by
    CCL/ITRI
  • The 14th SIPit event in Cannes, France took place
    2004-02-08 to 2004-02-13 and was hosted by ETSI

5
SIP Basic Functionality
  • User location determination of the end system to
    be used for communication
  • User capabilities determination of the media and
    media parameters to be used
  • User availability determination of the
    willingness of the called party to engage in
    communications
  • Call setup "ringing", establishment of call
    parameters at both called and calling party
  • Call handling including transfer and termination
    of calls.

6
SIP Philosophy
  • Internet Standard
  • - IETF - http//www.ietf.org
  • Reuse Internet addressing (URLs, DNS, proxies)
  • - Utilizes rich Internet feature set
  • Reuse HTTP coding
  • - Text based
  • Makes no assumptions about underlying protocol
  • - TCP, UDP, X.25, frame, ATM, etc.
  • - Support of multicast

7
SIP Architecture
  • A signaling protocol
  • The setup, modification, and tear-down of
    multimedia sessions
  • SIP SDP
  • Describe the session characteristics
  • Separate signaling and media streams

8
SIP Network Entities
  • Clients
  • User agent clients
  • Application programs sending SIP requests
  • Servers
  • Responds to clients requests
  • Clients and servers may be in the same platform
  • Proxy
  • Acts as both clients and servers

9
  • Four types of servers
  • Proxy servers
  • Handle requests or forward requests to other
    servers
  • Can be used for call forwarding

10
  • Redirect servers
  • Map the destination address to zero or more new
    addresses
  • Do not initiate any SIP requests

11
  • A user agent server
  • Accept SIP requests and contacts the user
  • The user responds ? an SIP response
  • A SIP device
  • E.g., an SIP-enabled telephone
  • A registrar
  • Accepts SIP REGISTER requests
  • Indicating the user is at a particular address
  • Typically combined with a proxy or redirect
    server

12
SIP Call Establishment
  • It is simple
  • A number of interim responses

13
SIP Advantages
  • Attempt to keep the signaling as simple as
    possible
  • Offer a great deal of flexibility
  • Various pieces of information can be included
    within the messages
  • Including non-standard information
  • Enable the users to make intelligent decisions
  • The user has control of call handling
  • No need to subscribe call features

14
  • Call Completion to Busy Subscriber service

15
Overview of SIP Messaging Syntax
  • Text-based
  • Similar to HTTP
  • SIP messages
  • message start-line
  • message-header CRLF
  • message-body
  • start-line request-line status-line
  • Request-line specifies the type of request
  • The response line
  • The success or failure of a given request

16
  • Message headers
  • Additional information of the request or response
  • E.g.,
  • The originator and recipient
  • Retry-after header
  • Subject header
  • Message body
  • Describe the type of session
  • The media format
  • SDP, Session Description Protocol
  • Could include an ISDN User Part message
  • Examined only at the two ends

17
SIP Requests
  • method SP request-URI SP SIP-version CRLF
  • request-URI
  • The address of the destination
  • Methods
  • INVITE, ACK, OPTIONS, BYE, CANCLE, REGISTER
  • extensions INFO, REFER, UPDATE,
  • INVITE
  • Initiate a session
  • Information of the calling and called parties
  • The type of media
  • IAM (initial address message) of ISUP
  • ACK only the final response

18
  • BYE
  • Terminate a session
  • Can be issued by either the calling or called
    party
  • Options
  • Query a server as to its capabilities
  • A particular type of media
  • The response if sent an INVITE
  • CANCEL
  • Terminate a pending request
  • E.g., an INVITE did not receive a final response

19
  • REGISTER
  • Log in and register the address with a SIP server
  • all SIP servers multicast address
    (224.0.1.75)
  • Can register with multiple servers
  • Can have several registrations with one server
  • INFO
  • RFC 2976
  • Transfer information during an ongoing session
  • DTMF digits
  • account balance information
  • midcall signaling information generated in
    another network

20
SIP Responses
  • SIP version SP status code SP reason-phrase CRLF
  • reason-phrase
  • A textual description of the outcome
  • Could be presented to the user
  • status code
  • A three-digit number
  • 1XX Informational
  • 2XX Success (only code 200 is defined)
  • 3XX Redirection
  • 4XX Request Failure
  • 5XX Server Failure
  • 6XX Global Failure
  • All responses, except for 1XX, are considered
    final
  • Should be ACKed

21
  • 180 Ringing
  • 181 Call Is Being Forwarded
  • 182 Queued
  • 183 Session Progress
  • 200 OK
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Moved Temporarily
  • 305 Use Proxy
  • 380 Alternative Service

22
One number service
23
SIP Addressing
  • SIP URLs (Uniform Resource Locators)
  • user_at_host
  • E.g.,
  • sipcollins_at_home.net
  • sip3344556789_at_telco.net
  • Supplement the URL
  • sip3344556789_at_telco.netuserphone
  • sipuserpassword_at_hostporturi-parameters?headers

24
Message Headers
  • Provide further information about the message
  • information elements
  • E.g.,
  • Toheader in an INVITE
  • The called party
  • Fromheader
  • The caling party
  • Four main categories
  • General, request, response, and entity headers
  • A list in Table 5-2
  • Mapping in Table 5-3

25
General Headers
  • Used in both requests and responses
  • Basic information
  • E.g., To, From, Call-ID,
  • Contact
  • A URL for future communication
  • May be different from the From header
  • Requests passed through proxies

26
  • Request Headers
  • Apply only to SIP requests
  • Addition information about the request or the
    client
  • E.g.,
  • Subject
  • Priority, urgency of the request
  • Authorization, authentication of the request
    originator
  • Response Headers
  • Further information about the response
  • E.g.,
  • Unsupported, features
  • Retry-After

27
  • Entity Header
  • Session information presented to the user
  • Session description, SDP
  • The RTP payload type, an address and port
  • Content-Length, the length of the message body
  • Content-Type, the media type of the message
  • Content-Encoding, for message compression
  • Content Disposition,
  • Content-Language,
  • Allow, used in a Request to indicate the set of
    methods supported
  • Expires, the date and time

28
Example of SIP Message Sequences
  • Registration
  • Via
  • Call-ID
  • host-specific
  • Content-Length
  • Zero, no msg body
  • Cseg
  • Avoid ambiguity
  • Expires
  • TTL
  • 0, unreg
  • Contact

29
Invitation
  • A two-party call
  • Subject
  • optional
  • Content-Type
  • application/sdp

30
(No Transcript)
31
Via Headers and Routing
  • Via headers are used for routing SIP messages
  • Requests
  • Request initiator puts address in Via header
  • Servers check Via with senders address, then add
    own address, then forward. (if different, add
    received parameter)
  • Responses
  • Response initiator copies request Via headers.
  • Servers check Via with own address, then forward
    to next Via address
  • All Via headers are copied from request to
    response in order
  • Response is sent to address in top Via header

32
(No Transcript)
33
Receiving Subsequent Requests
  • 1. If the Call-ID is new,
  • - the request is for a new call, regardless
    of the values
  • of the To and From header fields.
  •  2. If the Call-ID exists,
  • - the request is for an existing call.
  • - If the To, From, Call-ID, and CSeq values
    exactly match (including tags) those of any
    requests received previously,
  • - the request is a retransmission. 
  • 3. If there was no match to the previous step,
  • - To From fields compared against existing
    call leg local and remote addresses.
  • - If there is a match, the CSeq in the
    request gt last CSeq
  • received on that leg,
  • - the request is a new transaction for an
    existing call leg.

34
Reliability
  • If UDP is used
  • SIP client should retransmit a BYE, CANCEL,
    OPTIONS, or REGISTER request, exponential
    backoff, starting at a T1 second interval,
    doubling the interval for each packet, and
    capping off at a T2 second interval.
  • Retransmit a INVITE request with an interval that
    starts at T1 seconds, exponential back off, cease
    retransmissions if a provisional or definitive
    response recvd., or once it has sent a total of 7
    request packets
  • Clients using TCP do not need to retransmit
    requests

35
Termination of a Call
  • Cseq
  • Has changed

36
Redirect Servers
  • An alternative address
  • 302, Moved temporarily
  • Another INVITE
  • Same Call-ID
  • Cseq

37
Proxy Servers
  • Entity headers are omitted
  • Changes the Req-URI
  • Via
  • The path
  • Loop detected, 482
  • For a response
  • The 1st Via header
  • Checked
  • removed

38
(No Transcript)
39
Proxy state
  • Can be either stateless or stateful
  • Record-Route
  • The messages and responses may not pass through
    the same proxy
  • Use Contact
  • A Proxy might require that it remains in the
    signaling path
  • In particular, for a stateful proxy
  • Insert its address into the Record-Route header
  • The response includes the Record-Route header
  • The Record-Route header is used in the
    subsequent requests
  • The Route header the Record-Route header in
    reverse order, excluding the first proxy
  • Each proxy remove the next from the Route header

40
Forking Proxy
  • fork requests
  • A user is registered at several locations
  • branchxxx

41
(No Transcript)
42
The Session Description Protocol
  • The message body
  • SDP, RFC 2327
  • The Structure of SDP
  • Session Level Info
  • Name
  • The originator
  • The time
  • Media Level Info
  • Media type
  • Port number
  • Transport protocol
  • Media format

43
  • SDP session description structure

44
SDP Syntax
  • A number of lines of text
  • In each line
  • fieldvalue
  • Session-level fields first
  • Media-level fields
  • Begin with media description field (m)

45
Mandatory Fields
  • v(protocol version)
  • o(session origin or creator and session id)
  • s(session name), a text string
  • t(time of the session)
  • tltstart timegt ltstop timegt
  • NTP time values in seconds
  • m(media)
  • mltmediagt ltportgt lttransportgt ltfmt listgt
  • Media type
  • The transport port
  • The transport protocol
  • The media format, an RTP payload format

46
Optional Fileds
  • i(session information)
  • A text description
  • At both session and media levels
  • u(URI of description)
  • Where further session information can be obtained
  • Only at session level
  • e(e-mail address)
  • Who is responsible for the session
  • Only at the session level
  • p(phone number)
  • Only at the session level

47
  • c(connection information)
  • Connection type, network type, and connection
    address
  • At session or media level
  • b(bandwidth information)
  • In kilobits per second
  • At session or media level
  • rltrepeat intervalgt ltactive durationgt ltlist of
    offsets from start- timegt
  • For regularly scheduled session
  • How often and how many times

48
  • z(timezone adjustments)
  • zltadjustment timegt ltoffsetgt ltadjustment timegt
    ltoffsetgt ....
  • For regularly scheduled session
  • Standard time and Daylight Savings Time
  • k(encryption key)
  • kltmethodgtltencryption keygt
  • An encryption key or a mechanism to obtain it
  • At session or media level
  • a(attributes)
  • Describe additional attributes

49
Ordering of Fields
  • Session Level
  • Protocol version (v)
  • Origin (o)
  • Session name (s)
  • Session information (i)
  • URI (u)
  • E-mail address (e)
  • Phone number (p)
  • Connection info (c)
  • Bandwidth info (b)
  • Time description (t)
  • Repeat info (r)
  • Time zone adjustments (z)
  • Encryption key (k)
  • Attributes (a)
  • Media level
  • Media description (m)
  • Media info (i)
  • Connection info (c)
  • Optional if specified at the session level
  • Bandwidth info (b)
  • Encryption key (k)
  • Attributes (a)

50
Subfields
  • Field ltvalue of subfield1gt ltvalue of subfield2gt
    ltvalue of subfield3gt
  • Origin (o)
  • Username, the originators login id or -
  • session ID
  • A unique ID
  • Make use of NTP timestamp
  • version, a version number for this particular
    session
  • network type
  • A text string IN refers to Internet
  • address type
  • IP4, IP6
  • Address, a fully-qualified domain name or the IP
    address
  • omhandley 2890844526 2890842807 IN IP4
    126.16.64.4

51
  • Connection Data
  • The network and address at which media data are
    to be received
  • Network type, address type, connection address
  • cIN IP4 224.2.17.12/127
  • Media Information
  • Media type
  • Audio, video, application, data, or control
  • Port, 1024-65535
  • Format
  • List the various types of media
  • RTP/AVP payload types
  • m audio 45678 RTP/AVP 15 3 0
  • G.728, GSM, G.711

52
  • Attributes
  • Property attribute
  • asendonly
  • arecvonly
  • value attribute
  • aorientlandscape
  • rtpmap attribute
  • The use of dynamic payload type
  • artpmapltpayload typegt ltencoding namegt/ltclock
    rategt /ltencoding parametersgt.
  • mvideo 54678 RTP/AVP 98
  • artpmap 98 L16/16000/2

53
Usage of SDP with SIP
  • SIP for the establishment of multimedia sessions
  • SDP a structured language for describing the
    sessions
  • The entity header

54
Negotiation of Media
  • Fig 5-15
  • G.728 is selected
  • If a mismatch
  • 488 or 606
  • Not Acceptable
  • A Warning header
  • INVITE with multiple media streams
  • Unsupported should also be returned
  • With a port number of zero

55
(No Transcript)
56
  • Offer/answer

57
(No Transcript)
58
  • OPTIONS Method
  • Determine the capabilities of a potential called
    party

59
SIP Extensions and Enhancements
  • RFC 2543, March 1999
  • obsoleted by RFCs 3261,3262, 3263, 3265
  • Will be enhanced considerably before it becomes
    an Internet standard
  • 183 session progress (RFC 3261)
  • Supported header (RFC 3261)
  • Require
  • Supported

60
183 Session-Progress Message
  • The addition of a new response
  • Status code 183
  • To open a one-way media path
  • From the called party to calling party
  • convey information about the progress of the call
    that is not otherwise classified
  • Tones or announcements
  • ACM (address complete message) of SS7
  • For SIP PSTN SIP connections
  • When a temporary media stream is needed
  • Note that alerting signal can be
  • Status code 180 (ringing)
  • The temporary media stream will be terminated
  • As soon as the called user answers

61
The SIP Supported Header
  • The Require header
  • UACs tell UASs about options that the UAC expects
    the UAS to support
  • require 100rel
  • may receiver 420 (Bad Extension)
  • The Supported header
  • enumerates all the extensions supported by the
    UAC or UAS
  • Included in both requests and responses
  • BYE, CANCEL, INVITE, OPTIONS and REGISTER
  • Should not be included in the ACK
  • 421, extension required
  • The UAS needs a particular extension to process
    the request

62
(No Transcript)
63
SIP INFO Method
  • A new SIP method RFC 2976
  • The transfer of information in the middle of a
    call
  • DTMF digits, account-balance information,
    mid-call signaling information (from PSTN)
  • A powerful, flexible tool to support new services
  • e.g., the users prepaid account balance

64
SIP Event Notification
  • SIP-specific event notification
  • be informed of some event(s)
  • RFC 3265
  • SUBSCRIBE
  • subscribe to certain event
  • Event header
  • NOTIFY
  • inform the user
  • 200 (OK) response

65
(No Transcript)
66
SIP for Instant Messaging
  • SIMPLE - SIP for Instant Messaging and Presence
    Leveraging Extensions
  • a working group
  • RFC 3994, 3856
  • The exchange of content between a set of
    participants in near real time
  • IMs are usually grouped together into brief live
    comversations
  • MESSAGE request, RFC 3994
  • a message body in the form text/plain, or
    message/cpim (common presence and instant
    message) using XML

67
  • Doesnt establish a SIP dialog
  • Can be associated with an existing SIP dialog
  • Contact header is forbidden
  • No Record-Route or Route header

68
(No Transcript)
69
REFER Method
  • RFC 3515
  • Instruct the receiver to contact a third party
  • Refer-to
  • Can be interpreted as an implicit SUBSCRIBE
  • The sender will be notified the result
  • 202 (accepted)
  • An extension
  • A SIP message is tunneled within a SIP message
  • Refer-by

70
(No Transcript)
71
(No Transcript)
72
Reliability of Provisional Responses
  • Provisional Responses
  • 100 (trying), 180 (ringing), 183 (session in
    progress)
  • Are not answered with an ACK
  • If the messages is sent over UDP
  • Unreliable
  • Lost provisional response may cause problems when
    interoperating with other network
  • 180, 183 ? Q931 alerting or ISUP ACM
  • To drive a state machine
  • E.g., a call to an unassigned number
  • ACM to create a one-way path

73
  • RSeq
  • Response seq
  • 1, when retxm
  • Rack
  • Response ACK
  • PRACK
  • Prov Resp ACK
  • the option tag
  • 100rel
  • Should not
  • Apply to 100
  • hop-by-hop

74
(No Transcript)
75
UPDATE Method
  • RFC 3311
  • Change the media format in the early state
  • re-INVITE cannot be used it changes the state
  • Can be used to reserve network resources

76
Summary of SIP methods
  • INVITE create a session
  • BYE terminates a session
  • ACK acknowledges a final response for an INVITE
    request
  • CANCEL cancels an INVITE request
  • REGISTER binds a public SIP URI to a Contact
    address
  • OPTIONS queries a server for capabilities
  • SUBSCRIBE installs a subscription for a resource
  • NOTIFY informs about changes in the state of the
    resource
  • MESSAGE delivers an Instant Message
  • REFER used for call transfer, call diversion,
    etc.
  • PRACK acknowledges a provisional response for an
    INVITE request
  • UPDATE changes the media description (e.g. SDP)
    in an existing session
  • INFO used to transport mid-session information
  • PUBLISH publication of presence information

77
Integration of SIP and Resource Mang
  • RFC 3312
  • The signaling might take a different path from
    the media
  • Assume resource-reservation mechanisms available
    (Chapter 8)
  • On a per-session basis
  • On an aggregate basis
  • A new SIP header in the INVITE
  • Resources reservation is needed
  • The user should not yet be alerted
  • But unrecognized header is ignored

78
  • Integration of Resource Management and SIP for IP
    Telephony
  • A new method, PRECONDITION-MET
  • The far-end phone will not ring until
  • Also specifies extensions to SDP
  • Can define any number of preconditions in SDP
    without revise SIP every time
  • The response is sent using reliable signaling
  • Once the resource is reserved
  • An UPDATE request is sent
  • If failed, could select a lower-bandwidth codec

79
(No Transcript)
80
  • The preconditions/requirements in the SDP
  • Three status
  • desired, current, and confirmed
  • Resource reservation
  • end-to-end (e2e), local, and remote
  • Purpose
  • send, recv, and sendrecv
  • Strength
  • mandatory, optional, none and failure

81
  • Examples
  • maudio 4444 RTP/RTCP 0
  • acurr qos e2e none
  • ades qos mandatory e2e sendrecv
  • acurr qos e2e send
  • ades qos mandatory e2e sendrecv
  • acurr qos e2e sendrecv
  • ades qos mandatory e2e sendrecv

82
(No Transcript)
83
Usage of SIP for Features/Services
  • Personal mobility by registration
  • Can carry MIME (Multi-Purpose Internet Mail
    Extension) content
  • Text, HTML documents, an image, etc.
  • SIP address is a URL
  • Click-to-call applications
  • Supplementary Custom Local Area Signaling Service
    (CLASS) services
  • Call waiting, call forwarding, multi-party
    calling, call screening
  • Proxy-controlled QoS, IN SCP, INAP, OSA

84
Call Forwarding
  • On busy
  • 486, busy here

85
Consultation Hold
  • A SIP UPDATE

86
Windows Messenger
  • SIP-based
  • Runs on Windows XP systems
  • Core Features
  • Presence and contact list management
  • Instant Messaging
  • Voice and Video
  • Data collaboration and File transfer
  • PC to Phone
  • Administrative Policies to enable/disable
    features
  • Acoustic Echo Cancellation in software

87
  • Microsoft .Net SIP server or enterprise SIP
    server
  • Can not go point-to-point using IP addressing-
    needs proxy server
  • Microsoft Live Communications Server (LCS) is
    their proxy server

88
SIP/H.323 Interoperability Using the Radvision MCU
Microsoft Live Communication Server
Radvision MCU
SIP
IMfirst
H.323
Microsoft Active Directory
Internet
Windows Messenger Clients
H.323 Clients
89
Interworking
  • PSTN Interworking
  • A SIP URL
  • A network gateway
  • Fig. 5-27
  • SIP to PSTN call
  • Fig. 5-28
  • PSTN to SIP call
  • PSTN SIP PSTN
  • MIME media types
  • For ISUP and QSIG

90
(No Transcript)
91
(No Transcript)
92
Interworking with H.323
  • An Internet draft
  • SIP-H.323 interworking gateway

93
(No Transcript)
94
(No Transcript)
95
(No Transcript)
96
(No Transcript)
97
Summary
  • The future for signaling in VoIP networks
  • Simple, yet flexible
  • Easier to implement
  • Fit well with the media gateway control protocols
Write a Comment
User Comments (0)
About PowerShow.com