SIP, Session Initiation Protocol

Download Report

Transcript SIP, Session Initiation Protocol

SIP, Session Initiation Protocol
Internet Draft, IETF, RFC 2543
Outline
•
•
•
•
Introduction
SIP Components
SIP Role
SIP Addressing, Naming, Locating,
Messages
• Request and Response Method
• SIP Services
Introduction
• The Session Initiation Protocol (SIP) is an
application-layer control (signaling)
protocol for creating, modifying and
terminating sessions with one or more
participants.
• Include Internet multimedia conferences,
Internet telephone calls and multimedia
distribution.
Introduction (con’d)
• Interoperability
– Between Multiple Equipment Vendors
• Client-Server Model
• Extensibility
– Text-based Encoding
• Transport Independence
– UDP or TCP
SIP Components
• User Agents
– Being end systems that act on behalf of a user
• Clients(UAC) to initiate a SIP request and
servers(UAS) to receive the request and return
responses
• Servers
– Proxy
– Redirect
– Registrar: tracking user locations
SIP Role
SIP Proxy
MGC
MEGACO/
SIP
IP Network
MGCP
PSTN
MG
MGC
MEGACO/
MGCP
RTP
MG
PSTN
Addressing and Naming
• The entities addressed by SIP are users at
hosts (SIP URL)
– email-like identifier of the form user@host
• Examples
– sip:[email protected]
– sip:[email protected]
Locating
• Server
– IP address
– name@domain-> DNS
• User
– Proxy server
• It can send the request in sequence or in parallel to the
locations listed.
– Redirect server
• It can return a response with the list placed in contact headers.
• Then the client can send directly to the uses location.
SIP Messages
• Two kinds of SIP messages
– Request and Response
• The generic-message format
– Start-line
• Method, SIP Version,...
– Headers
– An Empty Line
• Indicating the end of the header fields
– Message Body
• Session Description Protocol (SDP) : Optional
Header Fields
• General
– Apply to both request and response messages
• Entity
– Define information about the message body
• Request
– Allow the client to pass additional information about
the request
• Response
– Allow the server to pass additional information about
the response
SIP Headers
General-headers Entity-headers Request-headers Response-headers
Call-ID
Content-Encoding
Accept
Allow
Contact
Content-Length
Accept-Encoding
ProxyAuthentication
Cseq
Content-Type
Accept-Language
Unsupported
Date
Authorization
Warning
Encryption
Hide
Expires
Max-Forwards
From
Organization
Record-Route
Priority
To
Proxy-Authentication
Via
Proxy-Require
Require
Response-Key
Subject
User-Agent
Request Method
• INVITE
– The user is being invited to participate in a session.
• ACK
– The client has received a final response to an INVITE.
• BYE
– The client wishes to release the call.
• CANCEL
– It cancels a pending request (not completed request).
• REGISTER
– It conveys the user’s location information to a SIP server.
Request Example
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP tpts7.seed.net.tw
From: <sip:[email protected]>
To: C.Y.Cho <sip:[email protected]>
Call-ID: [email protected]
Cseq: 1 INVITE
Content-Length: …
Response Messages
1xx
Informational
Provisional
2xx
Success
Final
3xx
Redirection
Final
4xx
Client Error
Final
5xx
Server Error
Final
6xx
Global Failure
Final
Response Example
SIP/2.0 200 OK
Via: SIP/2.0/UDP vc.cs.nthu.edu.tw
Via: SIP/2.0/UDP tpts7.seed.net.tw
From: Fingal <sip:[email protected]>
To: Patric <sip:[email protected]>
Call-ID: [email protected]
Cseq: 1 INVITE
Content-Type: applcation/sdp
Content-Length: …
Invitation for SIP Proxy
example.com
fiction.com
[email protected]
(1) INVITE
[email protected]
(7) 200 OK
(8) ACK [email protected]
science.fiction.com
(3) pgn@pepperoni
(2) pgn
location server
pepperoni
(4) INVITE pgn@pepperoni
(6) 200 OK
sippo (9) ACK pgn@pepperoni
pgn@pepperoni
(5)
Invitation for Redirect Server
example.com
[email protected]
(1) INVITE
[email protected]
(2) pgn
fiction.com
(3) pgn@pepperoni
location server
(4) 302 Moved temporarily
Contact: [email protected]
(5) ACK [email protected]
sippo
science.fiction.com
pepperoni
(6) INVITE [email protected]
(7) 200 OK
(8) ACK [email protected]
pgn@pepperoni
SIP Services
• Similar to the Intelligent Network (IN)
services
– Call Transfer, Call Forwarding, Conference
Calling, User Mobility…
SDP
• Session Description Protocol
• It includes:
–
–
–
–
Session Name and purpose
Time (the session is active)
The media comprising the session
How to receive those media (e.g. addresses, ports,
formats and so on).
• Additional information can be
– The bandwidth to be used by the conference