RFC 3261 Session Initiation Protocol - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

RFC 3261 Session Initiation Protocol

Description:

'ringing', establishment of session parameters at both called & calling party. Session Management ... re-invites used to change session states. ACK confirms ... – PowerPoint PPT presentation

Number of Views:863
Avg rating:3.0/5.0
Slides: 24
Provided by: code5
Category:

less

Transcript and Presenter's Notes

Title: RFC 3261 Session Initiation Protocol


1
RFC 3261Session Initiation Protocol
  • Aqeeluddin MohammedFarhan Ali Khan

2
Introduction
  • The need for it?- Creating Managing a
    session.- Users may move between endpoints, may
    be addressable by different names, may
    communicate in several different media.
  • What is SIP?- SIP enables internet endpoints to
    discover each other to agree on a
    characterization of the session they would like
    to share.- Independent of the underlying
    transport protocol without any dependency on
    the type of session being established.

3
SIP does not provide services
Important
  • It provides primitives that can be used to
    implement different services.
  • E.g. SIP can locate a user deliver an opaque
    object to his current location.
  • Session Description Protocol (SDP) can be used to
    describe sessions.
  • RTP can be used to carry real-time session
    multimedia data.
  • SIP should be used with other protocols in order
    to provide complete services to the user

4
Facets of Establishing/Terminating Multimedia
Communications
  • User Locationdetermination of end-system to be
    used for communication
  • User availabilitydetermination of the
    willingness of the called party to engage in
    communications
  • User capabilitiesdetermination of the media
    media parameters to be used
  • Session Setupringing, establishment of session
    parameters at both called calling party
  • Session Managementmodifying session parameters,
    transfer/termination of session

5
SIP Protocol Structure
  • Structured as a layered protocol
  • Each layer is independent
  • Transport layer defines howclient server send
    receiverequests/responses
  • A transaction is a request its responses.
  • Transaction layer handles retransmissions,
    matching responses to requests
  • Every SIP entity except stateless proxies is a
    Transaction User

Transaction User
Transaction
Transport
Syntax Encoding
6
SIP Message Structure
7
Message Structure (continued)
  • SIP Addresses
  • Format e.g. sipkhan_at_uta.edu
  • must include host, may include username, port
    number.
  • Request Line
  • request method followed by SIP address version
  • Response Line
  • SIP version followed by response code a textual
    description of the response code

8
Message Header Fields
  • Via address at which requester is expecting to
    receive responses to this request
  • Max-Forwards limits the number of hops a request
    can make on its way to destination
  • To SIP URI towards which the request was made
  • From SIP URI that indicates the originator of
    request
  • Call-ID GUID for this call
  • CSeq incremented for each new request within a
    dialog, traditional sequence number
  • Contact SIP URI representing direct route to
    entity
  • Content-Type contains a description of message
    body
  • Content-Length contains octet count of message
    body

9
Request Methods/Messages
  • INVITE initiate sessions
  • session description included in message body
  • re-invites used to change session states
  • ACK confirms session establishment
  • can only be used with INVITE
  • BYE terminates session
  • CANCEL cancels a pending INVITE
  • OPTIONS capability inquiry
  • REGISTER binds a permanent address to current
    location

10
Response Codes
  • Borrowed from HTTPStructure xxx explanatory
    text
  • Receivers only need to understand the numeric
    code (xxx)
  • 1xx Informational- 100 Trying- 180 Ringing-
    181 Call is being forwarded
  • 2xx Success- 200 OK

11
Response Codes (continued)
  • 3xx Redirection- 300 Multiple Choices- 301
    Moved Permanently- 302 Moved Temporarily
  • 4xx Client Error- 400 Bad Request- 401
    Unauthorized- 486 Busy Here
  • 5xx Server Failure- 500 Server Internal Error
  • 6xx Global Failure- 600 Busy Everywhere

12
SIP Entities
  • User Agent (user application)- UA Client
    originates call- UA Server listens for incoming
    calls
  • SIP Proxy Server- relays call signaling
  • SIP Redirect Server- redirects calls to other
    servers
  • SIP Registrar- accepts registrations from
    users- maintains users whereabouts at a location
    server

13
Registering with a SIP Registrar
  • 1 User issues request to register itself with
    SIP Registrar
  • 2 SIP Registrar creates/updates user entry in
    location server
  • 3 SIP Registrar responds back with OK message
    indicating successful registration

Image Source IPTel.org SIP Tutorial
14
SIP Operation
Request Message
Response Message
BYE
INVITE
Media Session
Alice
Bob
100 Trying
180 Ringing
200 OK
200 OK
15
SIP Operation using Proxy
  • INVITE
  • INVITE
  • 100 Trying
  • INVITE
  • 100 Trying
  • 180 Ringing
  • 180 Ringing
  • 180 Ringing
  • 200 OK
  • 200 OK
  • 200 OK
  • ACK

LocationServer
Request Message
Response Message
Get the address for Bob
2
AliceProxy
BobsProxy
5
7
10
1
6
9
3
4
8
11
12
Media Session
Alice
Bob
16
Session teardown
LocationServer
Request Message
Response Message
AliceProxy
BobsProxy
BYE
Media Session
Alice
Bob
200 OK
17
SIP Operation in Redirection
  • INVITE
  • INVITE
  • 100 Trying
  • 30x Moved
  • INVITE
  • INVITE
  • 100 Trying
  • 180 Ringing
  • 180 Ringing
  • 180 Ringing
  • 200 OK
  • 200 OK
  • 200 OK
  • ACK

BobsProxy1
Request Message
Response Message
LocationServer
2
4
Get the address for Bob
5
AliceProxy
BobsProxy2
7
9
12
1
6
8
11
3
10
13
14
Media Session
Alice
Bob
18
Proxy vs. Redirect
  • A SIP server may proxy or redirect a request.
  • Which of the two applies, is a configuration
    issue.
  • Redirection useful if a user moves or changes his
    provider.
  • Proxy useful when relaying user request, forking.
  • Serves as rendezvous point at which callees are
    globally reachable
  • Determine next hop at which signal should be
    relayed (UA, Redirect, Proxy)
  • Several destinations may be tried for a request
    either sequentially or in parallel before failing

19
Stateful vs. Stateless Proxy
  • Stateful Proxy
  • they keep the state of the transaction during the
    request processing. This allows the division of a
    request message in several ones (forking), with
    the purpose to find in parallel the location of
    the called in order to obtain the best path.
  • Stateless Proxy
  • they do not keep the state of the transaction
    during the requests processing, they only resend
    messages.

20
Summary
  • TCP/UDP port 5060 used to connect to servers
  • Provides mechanism to locate users
  • Only used in setup, maintenance tearing down of
    sessions
  • Similar to HTTP, human readable request-response
    structure
  • Doesnt provide services, rather provides
    primitives that can be used to implement
    different services.
  • Works independent of underlying transport protocol

21
SIP being used in
  • Most widely used in IP Telephony
  • Vonage
  • BroadVoice
  • SJPhone
  • by many other VoIP solution providers
  • Instant Messaging Presence
  • Gizmo

22
References
  • RFC 3261
  • http//www.en.voipforo.com/SIP/SIP_architecture.ph
    p
  • http//en.wikipedia.org/wiki/Session_Initiation_Pr
    otocol
  • http//www.iptel.org/sip/siptutorial.pdf
  • http//en.wikipedia.org/wiki/List_of_SIP_software

23
Questions ?
Write a Comment
User Comments (0)
About PowerShow.com