0% found this document useful (0 votes)
28 views

Chap5 PartI

The document discusses Session Initiation Protocol (SIP), including its architecture, network entities, requests, responses, addressing, headers, and message sequences. SIP is an alternative to H.323 that is more flexible and simpler to implement.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Chap5 PartI

The document discusses Session Initiation Protocol (SIP), including its architecture, network entities, requests, responses, addressing, headers, and message sequences. SIP is an alternative to H.323 that is more flexible and simpler to implement.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Session Initiation Protocol (SIP)

Chapter 5
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)

Internet Telephony 2
The Popularity of SIP
„ Originally Developed in the MMUSIC (Multiparty
Multimedia Session Control)
„ A separate SIP working group
„ RFC 2543
„ Many developers
„ The latest version: RFC 3261
„ SIP + MGCP/MEGACO
„ The VoIP signaling in the future
„ “bake-off”
„ Various vendors come together and test their products against
each other
„ to ensure that they have implemented the specification correctly
„ to ensure compatibility with other implementations

Internet Telephony 3
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

Internet Telephony 4
SIP Network Entities [1/4]

„ 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

Internet Telephony 5
SIP Network Entities [2/4]
„ Four types of servers
„ Proxy servers
„ Handle requests or forward requests to other servers
„ Can be used for call forwarding, time-of-day routing, or
follow-me services

Internet Telephony 6
SIP Network Entities [3/4]
„ Redirect servers
„ Map the destination address to zero or more new
addresses

Internet Telephony 7
SIP Network Entities [4/4]
„ A user agent server
„ Accepts SIP requests and contacts the user
„ The user responds → an SIP response
„ A SIP device
„ E.g., a SIP-enabled telephone
„ A registrar
„ Accepts SIP REGISTER requests
„ Indicating that the user is at a particular address
„ Personal mobility
„ Typically combined with a proxy or redirect server

Internet Telephony 8
SIP Call Establishment
„ It is simple, which contains a number of interim
responses.

Internet Telephony 9
SIP Advantages

„ Attempt to keep the signaling as simple as possible


„ Offer a great deal of flexibility
„ Does not care what type of media is to be exchanged
during a session or the type of transport to be used for
the media
„ Various pieces of information can be included
within the messages
„ Including non-standard information
„ Enable the users to make intelligent decisions
„ The control of the intelligent features is placed in the hands
of the customer, not the network operator.
„ E.g., SUBJECT header

Internet Telephony 10
Call Completion to Busy Subscriber Service

Internet Telephony 11
Overview of SIP Messaging Syntax
„ Text-based
„ Similar to HTTP
„ Disadvantage – more bandwidth consumption
„ 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 indicates the success or
failure of a given request.

Internet Telephony 12
„ 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 most common structure for the message body
is SDP (Session Description Protocol).
„ Could include an ISDN User Part message
„ Examined only at the two ends

Internet Telephony 13
SIP Requests [1/2]

„ Method SP Request-URI SP SIP-version CRLF


„ Request-URI
„ The address of the destination
„ Methods
„ INVITE, ACK, OPTIONS, BYE, CANCLE, REGISTER
„ INVITE
„ Initiate a session
„ Information of the calling and called parties
„ The type of media
„ 〜IAM (initial address message) of ISUP
„ ACK only when receiving the final response

Internet Telephony 14
SIP Requests [2/2]
„ 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
„ CANCEL
„ Terminate a pending request
„ E.g., an INVITE did not receive a final response
„ REGISTER
„ Log in and register the address with a SIP server
„ “all SIP servers” – multicast address (224.0.1.1750)
„ Can register with multiple servers
„ Can have several registrations with one server

Internet Telephony 15
“One number” service

Internet Telephony 16
SIP INFO Method

„ Specified in RFC 2976


„ For transferring information during an ongoing
session
„ The transfer of DTMF digits
„ The transfer of account balance information
„ Pre-paid service
„ The transfer of mid-call signaling information

Internet Telephony 17
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
Internet Telephony 18
SIP Addressing

„ SIP URLs (Uniform Resource Locators)


„ user@host
„ sip:[email protected]
„ sip:[email protected]

Internet Telephony 19
Message Headers

„ Provide further information about the


message
„ E.g.,
„ To:header in an INVITE
„ The called party
„ From:header
„ The calling party
„ Four main categories
„ General, Request, Response, and Entity headers

Internet Telephony 20
General Headers
„ Used in both requests and responses
„ Basic information
„ E.g., To:, From:, Call-ID: (uniquely identifies a specific
invitation to a session), …
„ Contact:
„ Provides a URL for use in future communication regarding
a particular session
„ Examples 1: In a SIP INVITE, the Contact header might
be different from the From header.
„ An third-party administrator initiates a multiparty session.
„ Example 2: Used in response, it is useful for directing
further requests directly to the called user.
„ Example 3: It is used to indicate a more appropriate
address if an INVITE issued to a given URI failed to reach
the user.

Internet Telephony 21
„ Request Headers
„ Apply only to SIP requests
„ Addition information about the request or the client
„ E.g.,
„ Subject:
„ Priority:, urgency of the request (emergency, urgent,
normal, or non-urgent)
„ Response Headers
„ Further information about the response that cannot
be included in the status line
„ E.g.,
„ Unsupported
„ Retry-After

Internet Telephony 22
Entity Headers
„ Indicate the type and format of information
included in the message body
„ Content-Length: the length of the message
body
„ Content-Type: the media type of the message
body
„ E.g., application/sdp
„ Content-Encoding: for message compression
„ Content Disposition: how a message part
should be interpreted
„ session, alert …

Internet Telephony 23
Examples of SIP Message Sequences

„ Registration
„ Via:
„ From: and To:
„ Call-ID:
„ host-specific
„ Contact: (for future SIP
message transmission)
„ *
„ Content-Length:
„ Zero, no msg body
„ CSeq:
„ A response to any request
must use the same value of
CSeq as used in the request.
„ Expires:
„ TTL
„ 0, unreg

Internet Telephony 24
Invitation
„ A two-party call
„ Subject:
„ optional
„ Content-Type:
„ application/sdp
„ A dialog ID
„ To identify a peer-to-peer
relationship between two
user agents
„ Tag in From
„ Tag in To
„ Call-ID
Termination of a Call

„ Cseq:
„ Has changed

Internet Telephony 26
Redirect Servers
„ An alternative address
„ 302, Moved temporarily
„ Another INVITE
„ Same Call-ID
„ CSeq ++
Proxy Servers
„ Sits between a user-agent client and the far-end user-
agent server
„ Numerous proxies can reside in a chain between the
caller and callee.
„ The last proxy may change the Request-URI.
„ Via:
„ The path taken by a request
„ Loop detected, 482 (status code)
„ For a response
„ The 1st Via: header
„ Checked
„ Removed
„ Branch: used to distinguish between multiple responses to the
same request
„ Forking Proxy: Issue a single request to multiple destinations
Internet Telephony 28
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 information contained in the Record-Route: header is
used in the subsequent requests related to the same call.
„ The Route: header = the Record-Route: header in reverse
order

Internet Telephony 30
Forking Proxy
„ “fork” requests
„ A user is registered at several locations
„ ;branch=xxx
„ In order to handle such forking, a proxy must be
stateful.

Internet Telephony 31

You might also like