Sip(session intial protocol)

Embed Size (px)

Citation preview

  • 7/24/2019 Sip session intial protocol

    1/99

    Session Initiation Protocol

  • 7/24/2019 Sip session intial protocol

    2/99

    2009/11/13 2

    Goal We want to know

    SIP Architecture SIP Messages Syntax

    Basic Call Example Session Description Protocol (SDP)

    SIP Extensions

  • 7/24/2019 Sip session intial protocol

    3/99

    2009/11/13 3

    TCP

    IPv4/IPv6 support mobility

    UDP

    Q

    oS

    RTSPH.323......Web

    Applications

    RTCP RTPSDP

    SIP Megaco

    Wireless Access

    3GPP/3GPP2iMAX W i Fi

    Layer 2

    Layer 1

    Media

    Audio, Video

    RSVP

    ADSL Cable

    Residential Access

    Ethernet

    Company Access

    SignalingQuality of

    ServiceMedia

    Transport

    Multimedia protocol stack

  • 7/24/2019 Sip session intial protocol

    4/99

    SIP Architecture

    Introduction to SIP

    SIP Network Entities

    Simple Example

  • 7/24/2019 Sip session intial protocol

    5/99

    2009/11/13 5

    Introduction

    A powerful alternative to H.323 More flexible, simpler

    Easier to implement Advanced features

    Better suited to the support of intelligent userdevices

    A part of IETF multimedia data and controlarchitecture

    SDP (Session Description Protocol), RTSP (Real-Time Streaming Protocol), SAP (SessionAnnouncement Protocol)

  • 7/24/2019 Sip session intial protocol

    6/99

    2009/11/13 6

    The Popularity of SIP

    Originally Developed in the MMUSIC (MultipartyMultimedia Session Control) A separate SIP working group

    RFC 2543 The latest version: RFC 3261

    SIP + MGCP/MEGACO The VoIP signaling in the future

    bake-off or SIPit (SIP Interoperability Tests) 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

  • 7/24/2019 Sip session intial protocol

    7/99

    2009/11/13 7

    SIP Basic (1/2)

    SIP is a peer-to-peer protocol End-devices initiate sessions SIP is an application layersignaling protocol

    Create, modify and terminate sessions

    Applications can be voice, video, gaming, instantmessaging, presence, call control, etc.

    SIP uses existing IETF protocols to provide: Message formatting (HTTP 1.1)

    Name resolution and mobility (DHCP and DNS) Media (RTP) Media negotiation (Session Description Protocol

    SDP) Application encoding (MIME)

  • 7/24/2019 Sip session intial protocol

    8/99

    2009/11/13 8

    SIP Basic (2/2)

    SIP is ASCII text-based Eases implementation and debugging Uses URI style addresses and syntax Flexible transport

    can use UDP, TCP, TLS, or SCTP Uses SDP for describing media sessions

    Audio, video, realtime text ...

    Simple extensible protocol

    MethodsDefine transaction HeadersDescribe transaction

    BodySDP and other MIME content

  • 7/24/2019 Sip session intial protocol

    9/99

    2009/11/13 9

    SIP Architecture

    A signaling protocol The setup, modification, and tear-down of multimedia

    sessions

    SIP + SDP

    Describe the session characteristics Separate signaling and (RTP) media streams

    SIP Signaling

    IP Network

    RTP Media Stream

    SIP User SIP User

  • 7/24/2019 Sip session intial protocol

    10/99

    2009/11/13 10

    SIP Network Entities

    Client-Server Model Clients

    User agent clients (UAC)

    Application programs sending SIP requests Servers

    Responds to clients requests

    Four types of servers

  • 7/24/2019 Sip session intial protocol

    11/99

    2009/11/13 11

    Types of Servers (1/3)

    Proxy serversProxy servers Handle requests or forward requests to other servers

    Can be used for call forwarding, time-of-day routing, orfollow-me services

    [email protected] [email protected]

    1.Request [email protected]

    2.Request [email protected]

    4.Response 3.Response

  • 7/24/2019 Sip session intial protocol

    12/99

    2009/11/13 12

    Types of Servers (2/3)

    Redirect serversRedirect servers Map the destination address to zero or more new

    addresses

    Redirect Server

    1.Request [email protected]

    [email protected]

    [email protected]

    2.Moved temporarily Contact: [email protected]

    3.ACK

    4.Request

    [email protected]

    5.Response

  • 7/24/2019 Sip session intial protocol

    13/99

    2009/11/13 13

    Types of Servers (3/3)

    A user agent server (UAS)A user agent server (UAS) Accepts SIP requests and contacts the user

    The user responds an SIP response

    Usually, a SIP device = UAC+UAS

    A registrarA registrar Accepts SIP REGISTER requests

    Indicating that the user is at a particular address

    Personal mobility

    Typically combined with a proxy or redirect server

  • 7/24/2019 Sip session intial protocol

    14/99

    2009/11/13 14

    SIP Call Establishment

    It is simple, which contains a number of interimresponses.

    SIPdevice A

    SIPdevice B

    a

    b

    c

    d

    e

    f

    g

    INVITE

    Ringing

    OK

    ACK

    Conversation

    BYE

    OK

  • 7/24/2019 Sip session intial protocol

    15/99

    2009/11/13 15

    Call Completion to Busy SubscriberService

    a

    b

    c

    d

    e

    f

    g

    Conversation

    BYE

    OK

    ACK

    OK

    Ringing

    INVITE

    Busy (Try at 4pm)

    INVITE

    ACK

    j

    i

    h

    SIP

    device A

    SIP

    device B

  • 7/24/2019 Sip session intial protocol

    16/99

    2009/11/13 16

    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 exchangedduring 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 handsof the customer, not the network operator.

    E.g., SUBJECT header

  • 7/24/2019 Sip session intial protocol

    17/99

    Overview of SIP Messaging Syntax

    SIP Message Syntax

    SIP Request Messages

    Simple Example

  • 7/24/2019 Sip session intial protocol

    18/99

    2009/11/13 18

    SIP Messaging Syntax (1/2)

    Text-based Similar to HTTP (Hypertext Transfer Protocol)

    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

    Response line (status-line) indicates the success orfailure of a given request.

  • 7/24/2019 Sip session intial protocol

    19/99

    2009/11/13 19

    SIP Messaging Syntax (2/2)

    Message headers Additional information of the request or response

    E.g.,

    From: /To: headers for 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

  • 7/24/2019 Sip session intial protocol

    20/99

    2009/11/13 20

    SIP Requests

    Method SP Request-URI SP SIP-version CRLF

    Ex: INVITE sip:[email protected] SIP/2.0

    Request-URI

    The address of the destination

    Methods RFC 2543: INVITE,ACK, OPTIONS, BYE, CANCLE, REGISTER

    RFC 2976: INFO

    RFC 3261: SUPPORT,

    RFC 3262: PRACK RFC 3265: SUSCRIBE & NOTIFY

    RFC 3311: UPDATE

    RFC 3428: MESSAGE

    RFC 3515: REFER

  • 7/24/2019 Sip session intial protocol

    21/99

    2009/11/13 21

    SIP Methods (1/2)

    INVITEINVITE Initiate a session

    Information of the calling and called parties

    The type of media

    Similar to IAM (initial address message) of ISUP

    ACKACK Only when receiving the final response

    BYEBYE Terminate a session

    Can be issued by either the calling or called party

  • 7/24/2019 Sip session intial protocol

    22/99

    2009/11/13 22

    SIP Methods (2/2)

    OPTIONSOPTIONS Query a server as to its capabilities

    A particular type of media

    CANCELCANCEL Terminate a pending request E.g., an INVITE did not receive a final response

    REGISTERREGISTER

    Log in and register the address with a SIP server all SIP servers multicast address (224.0.1.175)

    Can register with multiple servers

    Can have several registrations with one server

  • 7/24/2019 Sip session intial protocol

    23/99

    2009/11/13 23

    One number ServiceRegistrar/Proxy CallerUser at Address 1User at Address 2

    OK

    Register (address 1)

    Register (address 2)

    OK

    INVITE

    Trying

    INVITE

    INVITE

    OK

    CANCEL

    OK (for INVITE)

    OK (for CANCEL)

    ACK

    ACK

    Conversation

  • 7/24/2019 Sip session intial protocol

    24/99

    2009/11/13 24

    SIP Responses

    SIP-Version SP Status-Code SP Reason-PhraseCRLF

    Request: INVITE sip:[email protected] SIP/2.0

    Response: SIP/2.0 200 ok

    Status-Code A three-digit number

    Reason-Phrase A textual description of the outcome

    Could be presented to the user

  • 7/24/2019 Sip session intial protocol

    25/99

    2009/11/13 25

    Status Code

    Provisional response 1XX Informational (ex: 181 Ringing)

    Final response 2XX Success (ex: 200 OK)

    3XX Redirection (ex: 302 Moved temporarily)

    4XX Client Error (ex: 401 Unauthorized)

    5XX Server Error (ex: 505 SIP version not supported)

    6XX Global Failure (ex: 604 Does not exist anywhere)

    All responses, except for 1XX, are considered finaland Should be ACKed.

  • 7/24/2019 Sip session intial protocol

    26/99

    2009/11/13 26

    SIP Addressing

    SIP URIs (Uniform Resource Identifier)

    user@host

    Also called as URLs (Uniform Resource Locators)

    Two types of SIP URIs:

    Address of Record (AOR) (identifies a user) sip:[email protected]

    Contact (identifies a device and is usually a Fully QualifiedDomain Name, FQDN) sip:[email protected] or sip:[email protected]

    Other example:

    sip:[email protected]

    sip:[email protected];user=phone

    sips:[email protected]

  • 7/24/2019 Sip session intial protocol

    27/99

    2009/11/13 27

    Message HeadersMessage Headers

    Provide further information about the message Ex: Subject: vacation

    Ex: Content-Type:application/sdp

    Four main categories General, Request, Response, and Entity headers

  • 7/24/2019 Sip session intial protocol

    28/99

    2009/11/13 28

    General Headers

    Used in both requests and responses

    To, From, CSeq, Call-ID, and Via are mandatory for all SIPmessages.

    Basic information

    To: headerin a REGISTER indicates the address-of-record ofthe user.

    Ex: To: [email protected]

    To: headerin an INVITE indicates the called party.

    Ex: To: Boss

    Ex: To: Boss

    From: headerindicates the originator.

    Ex: From: Daniel;tag=4455

  • 7/24/2019 Sip session intial protocol

    29/99

    2009/11/13 29

    To: Header

    The To headerfield first and foremost specifies

    The desired "logical" recipient of the request

    The address-of-record of the user or resource that is the target ofthis request.

    The original recipient may or may not be the UAS processingthe request, due to call forwarding or other proxy operations.

    Request-URI identifies the UAS that is to process the request.

  • 7/24/2019 Sip session intial protocol

    30/99

    2009/11/13 30

    Request-URI

    Request-URI identifies the UAS that is to processthe request.

    The initial Request-URI of the message SHOULDbe set to the same value of the URI in the To field.

    One notable exception is the REGISTER

    A UA uses the REGISTER method to bind itsaddress-of-record to a specific contact address.

  • 7/24/2019 Sip session intial protocol

    31/99

    2009/11/13 31

    Contact: Header

    Provides a URI for use in future communication regarding aparticularsession

    Ex1: In a SIP INVITE, the Contact header might be differentfrom the From header.

    An third-party administrator initiates a multiparty session.

    Ex 2: Used in response, it is useful for directing furtherrequests directly to the called user.

    Ex 3: It is used to indicate a more appropriate address if anINVITE issued to a given URI failed to reach the user.

  • 7/24/2019 Sip session intial protocol

    32/99

    2009/11/13 32

    Request / Response Headers

    Request Headers

    Apply only to SIP requests

    Addition information about the request or the client

    Ex: Subject: vacation

    Ex: Priority: (emergency, urgent, normal, or non-urgent)

    Response Headers

    Further information about the response that cannot be included

    in the status line Ex: Unsupported

    Ex: Retry-After

  • 7/24/2019 Sip session intial protocol

    33/99

    2009/11/13 33

    Entity Headers

    Indicate the type and format of information includedin the message body

    Content-Length: the length of the message body

    Content-Type: media type of the message body Ex: Content-Type:application/sdp

    Content-Encoding: for message compression

    Content Disposition: how a message part should beinterpreted

    session, icon, alert, render

  • 7/24/2019 Sip session intial protocol

    34/99

    Examples

    Registration

    Invitation

    Termination of a Call

  • 7/24/2019 Sip session intial protocol

    35/99

    2009/11/13 35

    [email protected]

    REGISTER sip:registrar.work.com SIP/2.0Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123

    Max-Forwards: 70From: sip:[email protected]; tag = 123456To: sip:[email protected]: 123456@ station1.work.comCSeq: 1 REGISTERContact: sip:[email protected]: 7200Content-Length: 0

    SIP/2.0 200 OKVia: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123From: sip:[email protected]; tag = 123456To: sip:[email protected]: 123456@ station1.work.comCSeq: 1 REGISTERContact: sip:[email protected]: 3600Content-Length: 0

    a

    b

  • 7/24/2019 Sip session intial protocol

    36/99

    2009/11/13 36

    Invitation

    A two-party call

    Subject:

    optional

    Content-Type:

    application/sdp

    Transaction: Command Sequence

    A dialog ID

    To identify a peer-to-peer

    relationship between twouser agents

    Tag in From

    Tag in To

    Call-ID

    BossDaniel

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123Max-Forwards: 70From: Daniel; tag=44551Contact: sip:[email protected]: BossCall-ID: [email protected]: 1 INVITESubject: VacationContent-Length: xxxContent-Type: application/sdp

    Content-Disposition: session(message body)

    a

    bSIP/2.0 180 RingingVia:SIP/2.0/UDP station1.work.com;branch=z9hG4bK123From: Daniel; tag=44551To: Boss; tag=11222Contact: sip:[email protected]: [email protected]: 1 INVITEContent-Length: 0

    cSIP/2.0 200 OKVia: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123From: Daniel; tag=44551To: Boss; tag=11222Contact: sip:[email protected]: [email protected]: 1 INVITESubject: VacationContent-Length: xxxContent-Type: application/sdpContent-Disposition: session(message body)

    dACK sip:[email protected] SIP/2.0Via:SIP/2.0/UDP station1.work.com;branch=z9hG4bK123Max-Forwards: 70From: Daniel; tag=44551To: Boss; tag=11222Call-ID: [email protected]: 1 ACKContent-Length: 0

    Conversation

  • 7/24/2019 Sip session intial protocol

    37/99

    2009/11/13 37

    Termination of a CallBossDaniel

    BYE sip:[email protected] SIP/2.0

    Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123Max-Forwards: 70From: Daniel; tag=44551To: Boss; tag=11222Call-ID: [email protected]: 2 BYEContent-Length: 0

    a

    bSIP/2.0 200 OK

    Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123From: Daniel; tag=44551To: Boss; tag=11222Call-ID: [email protected]: 2 BYEContent-Length: 0

  • 7/24/2019 Sip session intial protocol

    38/99

    Redirect and Proxy Servers

    Redirect serverProxy server

  • 7/24/2019 Sip session intial protocol

    39/99

    2009/11/13 39

    Redirect server

    An alternative address 302 Moved temporarily

    Another INVITE

    Same Call-ID CSeq ++

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK124Max-Forwards: 70From: Daniel; tag=44551Contact: sip:[email protected]: BossCall-ID: [email protected]: 2 INVITESubject: Vacation

    Content-Length: xxxContent-Type: application/sdpContent-Disposition: session(message body)

    c

    d

    ACK sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123Max-Forwards: 70From: Daniel; tag=44551To: BossCall-ID: [email protected]: 1 ACK

    Boss

    Daniel

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123Max-Forwards: 70From: Daniel; tag=44551Contact: sip:[email protected]

    To: BossCall-ID: [email protected]: 1 INVITESubject: VacationContent-Length: xxxContent-Type: application/sdpContent-Disposition: session(message body)

    a

    bSIP/2.0 302 Moved Temporarily

    Via:SIP/2.0/UDP station1.work.com;branch=z9hG4bK123From: Daniel; tag=44551To: Boss; tag=11222Call-ID: [email protected]: 1 INVITEContact: sip:[email protected]

    Redirect Server

  • 7/24/2019 Sip session intial protocol

    40/99

    2009/11/13 40

    Proxy server

    Sits between a user-agent client and the far-enduser-agent server

    Numerous proxies can reside in a chain betweenthe caller and callee.

    The proxy may change the Request-URI. Via: header

    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/ to detect loop

    p4p3p2p1caller

    INVITE

    482

    ACK

  • 7/24/2019 Sip session intial protocol

    41/99

    2009/11/13 41

    Forking server

    Forking Proxy: Issue a single request to multipledestinations A user is registered at several locations

    fork requests

    Branch: used to distinguish between multipleresponses to the same request Ex: on Via: header ;branch=z9hG4bK123

    In order to handle such forking, a proxy must bestateful.

  • 7/24/2019 Sip session intial protocol

    42/99

    2009/11/13 42

    Proxy state

    Transaction stateless Proxy server forwards all methods and responses without

    interaction

    Transaction stateful Maintains state for the transaction until the final response

    is received

    Transaction Control Block (TCBTCB)

  • 7/24/2019 Sip session intial protocol

    43/99

    2009/11/13 43

    Record-Route: and Route:

    Record-Route:

    Use Contact: the messages may not pass through thesame proxy

    A stateful proxy might require that it remains in thesignaling path

    Insert its address into the Record-Route: header

    The response includes the Record-Route: header

    The information contained in the Record-Route: header isused in the subsequent requests related to the same call.

    The Route: header = the Record-Route: header inreverse order

  • 7/24/2019 Sip session intial protocol

    44/99

    2009/11/13 44

    Through a Proxy (1/2)Boss Daniel

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890Max-Forwards: 70From: Boss; tag=ab12Contact: BossTo: DanielCall-ID: [email protected]

    CSeq: 1 INVITE

    a

    b

    SIP/2.0 100 TryingVia: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890From: Boss; tag=ab12To: DanielCall-ID: [email protected]: 1 INVITE

    c

    sip:Server.work.com

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP server.work.com; branch=z9hG4bKxyz1Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890

    Max-Forwards: 69Record-route: From: Boss; tag=ab12Contact: BossTo: DanielCall-ID: [email protected]: 1 INVITE

    SIP/2.0 200 OKVia: SIP/2.0/UDP server.work.com; branch=z9hG4bKxyz1Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890Record-route: From: Boss; tag=ab12To: Daniel; tag=xyz45Call-ID: [email protected]: 1 INVITEContact: sip:[email protected]

    SIP/2.0 200 OK...

    e

    d

  • 7/24/2019 Sip session intial protocol

    45/99

    2009/11/13 45

    Through a Proxy (2/2) Boss Daniel

    ACK sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7891Max-Forwards: 70Route: From: Boss; tag=ab12To: Daniel; tag=xyz45Call-ID: [email protected]

    CSeq: 1 ACK

    e

    f

    sip:Server.work.com

    ACK sip:[email protected] SIP/2.0Via: SIP/2.0/UDP server.work.com; branch=z9hG4bKxyz2Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7891Max-Forwards: 69From: Boss; tag=ab12To: Daniel; tag=xyz45Call-ID: [email protected]: 1 ACK

    SIP/2.0 200 OKVia: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890Record-route: From: Boss; tag=ab12To: Daniel; tag=xyz45Call-ID: [email protected]

    CSeq: 1 INVITEContact: sip:[email protected]

    g

  • 7/24/2019 Sip session intial protocol

    46/99

    2009/11/13 46

    Multiple Locations (1/2)Boss

    pc1

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK789Max-Forwards: 70From: Boss; tag=ab12Contact: BossTo: DanielCall-ID: [email protected]: 1 INVITE

    a

    b

    SIP/2.0 100 TryingVia: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK789From: Boss; tag=ab12To: DanielCall-ID: [email protected]: 1 INVITE

    c

    sip:Server.work.com

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP server.work.com; branch=z9hG4bK123Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK789Max-Forwards: 69Record-coute: From: Boss; tag=ab12Contact: BossTo: Daniel

    Call-ID: [email protected]: 1 INVITEd

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP server.work.com; branch=z9hG4bK456Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK789Max-Forwards: 69Record-coute: From: Boss; tag=ab12Contact: BossTo: DanielCall-ID: [email protected]: 1 INVITE

    pc2

  • 7/24/2019 Sip session intial protocol

    47/99

    2009/11/13 47

    Multiple Locations (2/2) Boss

    pc1

    e

    f

    g

    sip:Server.work.com

    CANCEL sip:[email protected] SIP/2.0Via: SIP/2.0/UDP server.work.com; branch=z9hG4bK456Max-Forwards: 69Record-coute: From: Boss; tag=ab12

    Contact: BossTo: DanielCall-ID: [email protected]: 1 CANCEL

    SIP/2.0 200 OKVia: SIP/2.0/UDP server.work.com; branch=z9hG4bK456Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK789Record-coute: From: Boss; tag=ab12To: Daniel; tag=xyz45Call-ID: [email protected]: 1 INVITEContact: sip:[email protected]

    pc2

    SIP/2.0 200 OKVia: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK789Record-coute: From: Boss; tag=ab12To: Daniel; tag=xyz45Call-ID: [email protected]: 1 INVITEContact: sip:[email protected]

  • 7/24/2019 Sip session intial protocol

    48/99

    Session Description Protocol (SDP)

    Introduction to SIP

    SIP Network Entities

    Simple Example

  • 7/24/2019 Sip session intial protocol

    49/99

    2009/11/13 49

    The Session Description Protocol

    The Most Common Message Body Be session information describing the media to be

    exchanged between the parties

    SDP, RFC 2327 (initial publication) (3266 4566)

    SDP simply provides a format for describing sessioninformation to potential session participants.

    RFC 3264 (An Offer/Answer Model with SDP) SIP uses SDP in an answer/offer mode.

    An agreement between the two parties as to the types ofmedia they are willing to share

  • 7/24/2019 Sip session intial protocol

    50/99

    2009/11/13 50

    The Structure of SDP

    Text-based Protocol

    The Structure of SDP Session Level Information

    Name of the session

    Originator of the session Time that the session is to be

    active

    Media Level Information

    Media type Port number

    Transport protocol

    Media format

    Originator and Session ID

    Protocol Version

    Session Name

    Session Time

    Media Name and Transport

    Connection Information

    Media Name and Transport

    Connection Information

    Session Description

    Session Level Information

    Media Description 1

    Media Description 2

  • 7/24/2019 Sip session intial protocol

    51/99

    2009/11/13 51

    SDP Syntax

    A number of lines of text

    In each line field=value

    Ex: v=0

    field= ...

    Ex: m=audio 45678 RTP/AVP 0

    field is exactly one character(case-significant)

    Session-level fields Begin with version description field (v=)

    Media-level fields

    Begin with media description field (m=)

  • 7/24/2019 Sip session intial protocol

    52/99

    2009/11/13 52

    Mandatory Fields (1/3)

    v, o, s, t, m are mandatory fields.

    v=(protocol version) (ex: v=0)

    s=(session name) (ex: s= )

    A text string for multicast conference

    t=(time of the session) (ex: t=0 0)

    The start time and stop time for pre-arranged multicast

    conference

  • 7/24/2019 Sip session intial protocol

    53/99

    2009/11/13 53

    Mandatory Fields (2/3) o=(session origin or creator)

    Ex: o=collins 123456 001 IN IP4 s1.yy.com Username (ex: collins): the originators login id or -

    Session ID (ex: 123456)

    Make use of NTP timestamp as a unique ID

    Version (ex: 001) Network type (ex: IN)

    IN refers to Internet

    Address type (ex: IP4)

    IP4, IP6

    address (ex: s1.yy.com)

    A fully-qualified domain name or the IP address

  • 7/24/2019 Sip session intial protocol

    54/99

    2009/11/13 54

    Mandatory Fields (3/3)

    m=(media) Ex: m=audio 45678 RTP/AVP 15 3 0

    Media type (ex: audio) Audio, video, application, data, control

    The transport port (ex: 45678)

    The transport protocol (ex: RTP/AVP)

    The media format, an RTP payload format

    (ex: 15 3 0)

    List the various types of media format that can be supported

  • 7/24/2019 Sip session intial protocol

    55/99

    2009/11/13 55

    Optional Fields (1/4)

    Some optional fields can be applied at both session and

    media levels. The value applied at the media level overrides that at the

    session level for that media instance.

    c=(connection data) (ex: c=IN IP4 s1.yy.com)

    The network and address at which media data will be received

    Network type (ex: IN)

    Address type (ex: IP4)

    Connection address (ex: s1.yy.com)

    At session or media level

  • 7/24/2019 Sip session intial protocol

    56/99

    2009/11/13 56

    Optional Fields (2/4)

    a=(attributes) (ex: a=send only) Describe additional attributes

    Property attribute

    Ex: a=sendonly / a=recvonly

    Value attribute

    Used in a shared whiteboard session

    Ex: a=orient:portrait / a=orient:landscape

    rtpmap provides additional information for dynamic payloadtype.

    Ex: m=video 54678 RTP/AVP 98

    a=rtpmap:98 L16/16000/2

    Dynamic RTP payload type=98

    16-bit linear encoded stereo (2 channels) audio sampled at 16kHz

  • 7/24/2019 Sip session intial protocol

    57/99

    2009/11/13 57

    Optional Fields (2/4)

    i=(session information)

    A text description At both session and media levels

    It would be somewhat superfluous, since SIP already supports theSubject header.

    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

  • 7/24/2019 Sip session intial protocol

    58/99

    2009/11/13 58

    Optional Fields (3/4)

    p=(phone number)

    Only at the session level

    b=(bandwidth information)

    In kilobits per second

    At session or media level

    r=(repeat times)

    For regularly scheduled session a session is to be repeated

    How often and how many times

  • 7/24/2019 Sip session intial protocol

    59/99

    2009/11/13 59

    Optional Fields (4/4)

    z=(timezone adjustments)

    For regularly scheduled session Standard time and daylight savings time

    k=(encryption key)

    An encryption key or a mechanism to obtain it for the purposesof encrypting and decrypting the media

    At session or media level

  • 7/24/2019 Sip session intial protocol

    60/99

    2009/11/13 60

    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 thesession level

    Bandwidth info (b)

    Encryption key (k)

    Attributes (a)

  • 7/24/2019 Sip session intial protocol

    61/99

    Usage of SDP with SIP

    Simple Example

    Negotiation of Media

  • 7/24/2019 Sip session intial protocol

    62/99

    2009/11/13 62

    Usage of SDP with SIP

    SIP and SDP make a wonderful partnership for the

    transmission of session information. SIP provides the messaging mechanism for the establishment

    of multimedia sessions.

    SDP provides a structured language for describing thesessions.

    The entity headers identifies the message body.

    Ex: Content-Type:application/sdp

  • 7/24/2019 Sip session intial protocol

    63/99

    2009/11/13 63

    Offer/Answer Model

    Offer a selection of media formats

    Answer which the receiver is willing to accept Supported media type: returned with a transport port

    Unsupported media type: also be returned with a port

    number of zero

    (1) Offer

    (2) Answer

    Sender Receiver

  • 7/24/2019 Sip session intial protocol

    64/99

    2009/11/13 64

    Daniel Boss

    INVITE sip:[email protected] SIP/2.0From: Daniel; tag = abcd1234To: BossCSeq: 1 INVITEContent-Length: 213

    Content-Type: application/sdpContent-Disposition: session

    v=0o=collins 123456 001 IN IP4 station1.work.coms=c=IN IP4 station1.work.com

    t=0 0m=audio 4444 RTP/AVP 2a=rtpmap 2 G726-32/8000m=audio 4666 RTP/AVP 4a=rtpmap 4 G723/8000m=audio 4888 RTP/AVP 15a=rtpmap 15 G728/8000

    a

    b

    SIP/2.0 200 OK

    SDP Inclusion in SIP Messages (1/2)

  • 7/24/2019 Sip session intial protocol

    65/99

    2009/11/13 65

    SIP/2.0 200 OKFrom: Daniel; tag = abcd1234To: Boss; tag = xyz789CSeq: 1 INVITEContent-Length: 163Content-Type: application/sdp

    Content-Disposition: session

    v=0o=collins 45678 001 IN IP4 station2.work.coms=c=IN IP4 station2.work.comt=0 0

    m=audio 0 RTP/AVP 2m=audio 0 RTP/AVP 4m=audio 6666 RTP/AVP 15a=rtpmap 15 G728/8000

    b

    c

    d

    ACK sip:[email protected] SIP/2.0From: Daniel; tag = abcd1234To: Boss; tag = xyz789CSeq: 1 ACK

    Content-Length: 0

    Conversation

    Daniel Boss

    SDP Inclusion in SIP Messages (2/2)

    port=4888 port=6666

  • 7/24/2019 Sip session intial protocol

    66/99

    2009/11/13 66

    Alternative Ways

    Offerm=audio 4444 RTP/AVP 2 4 15a=rtpmap 2 G726-32/8000

    a=rtpmap 4 G723/8000a=rtpmap 15 G728/8000

    Answerm=audio 6666 RTP/AVP 15a=rtpmap 15 G728/8000

  • 7/24/2019 Sip session intial protocol

    67/99

    2009/11/13 67

    Negotiation of Media (1/3)

    Re-INVITE is issued when the server replies with

    more than one codec. With the same dialog identifier(To and From tag), Call-ID

    and Request-URI

    Session version in o field is increased by 1.

    A mismatch 488 (Not acceptable here) or 606 (Not acceptable)

    A Warning header with warning code 304 (media type not available)

    305 (incompatible media format)

  • 7/24/2019 Sip session intial protocol

    68/99

    2009/11/13 68

    Negotiation of Media (2/3)INVITE sip:[email protected] SIP/2.0CSeq: 1 INVITEContent-Length: 183

    Content-Type: application/sdpContent-Disposition: session

    v=0o=collins 123456 001 IN IP4 station1.work.coms=c=IN IP4 station1.work.comt=0 0m=audio 4444 RTP/AVP 2 4 15a=rtpmap 2 G726-32/8000a=rtpmap 4 G723/8000a=rtpmap 15 G728/8000a=inactive

    Daniel Boss

    b

    a

    SIP/2.0 200 OK

    CSeq: 1 INVITE

    Content-Length: 157

    Content-Type: application/sdp

    Content-Disposition: session

    v=0

    o=coll ins 45678 001 IN IP4 station2.work.com

    s=

    c=IN IP4 station2.work .com

    t=0 0

    m=audio 6666 RTP/AVP 4 15

    a=rtpmap 4 G723/8000

    a=rtpmap 15 G728/8000a=inactive

  • 7/24/2019 Sip session intial protocol

    69/99

    2009/11/13 69

    Daniel Boss

    d

    c

    INVITE sip:[email protected] SIP/2.0CSeq: 2 INVITEContent-Length: 126Content-Type: application/sdpContent-Disposition: session

    v=0o=collins 123456 002 IN IP4 station1.work.coms=c=IN IP4 station1.work.comt=0 0m=audio 4444 RTP/AVP 15

    a=rtpmap 15 G728/8000

    ACK sip:[email protected] SIP/2.0From: Daniel; tag = abcd1234To: Boss; tag = xyz789CSeq: 1 ACKContent-Length: 0

    Negotiation of Media (3/3)

  • 7/24/2019 Sip session intial protocol

    70/99

    2009/11/13 70

    Determine the capabilities of a potential called

    party Accept Header

    Indicate the type of information that the sender hopes toreceive

    Allow Header Indicate the SIP methods that it can handle

    Supported Header Indicate the SIP extensions that it can be supported

    OPTIONS Method

  • 7/24/2019 Sip session intial protocol

    71/99

    2009/11/13 71

    Daniel Boss

    b

    aOPTIONS sip:[email protected] SIP/2.0Via: SIP/2.0/UDP Station1.work.com; branch=z9hG4bK7890123From: Daniel; tag=lmnop123To: BossCall-ID: [email protected]: DanielCSeq: 1 OPTIONSAccept: application/sdpContent-Length: 0

    SIP/2.0 200 OK

    Via: SIP/2.0/UDP Station1.work.com; branch=z9hG4bK7890123

    From: Daniel; tag=lmnop123

    To: Boss; tag=xyz5678

    Call-ID: [email protected]

    CSeq: 1 OPTIONSAl low: INVITE, ACK, CANCEL, OPTIONS, BYE

    Supported: newfield

    Content-Length: 146

    Content-Type: application/sdp

    v=0

    o=manager 45678 001 IN IP4 station2.work.com

    s=c=IN IP4 station2.work.com

    t=0 0

    Usage of the OPTIONS Method

  • 7/24/2019 Sip session intial protocol

    72/99

    SIP Extensions and Enhancements

    SIP INFO Method

    SIP Event Notification

    SIP for Instant Messaging

    SIP REFERMethod

    Reliability of Provisional Responses

    SIP UPDATE Method

    Integration of SIP Signaling and Resource Management

  • 7/24/2019 Sip session intial protocol

    73/99

    2009/11/13 74

    SIP Extensions and Enhancements

    RFC 2543, March 1999

    SIP has attracted enormous interest.

    Traditional telecommunications companies, cable TV providersand ISP

    A large number of extensions to SIP have been proposed.

    SIP will be enhanced considerably before it becomes an Internetstandard.

    RFC 3261

    183 Session Progress

    Supported header

  • 7/24/2019 Sip session intial protocol

    74/99

    2009/11/13 75

    183 Session Progress

    It has been included within the RFC 3261.

    To open one-way audio path from called end to calling end From the called party to calling party

    Enable in-band call progress information to be transmitted

    Tones or announcements

    Interworking with SS7 network ACM (Address Complete Message)

    Ring back tone in 183 Session Progress

  • 7/24/2019 Sip session intial protocol

    75/99

    2009/11/13 76

    The Supported Header The Require Header (client server)

    A client indicates that a server must support certain extension withRequire header

    420 bad extension with Unsupported header

    The Supported header

    Way 1:

    Options (client server)

    Response with Supported (server client)

    Way 2:

    Request with Supported (client

    server) 421 extension required with Require (server client)

  • 7/24/2019 Sip session intial protocol

    76/99

    2009/11/13 77

    SIP INFO Method

    Specified in RFC 2976

    For transferring information during an ongoing session Application-layer information could be transferred in the middle

    of a call.

    A powerful, flexible tool to support new services

    The transfer of DTMF digits

    The transfer of account balance information

    Pre-paid service

    The transfer of mid-call signaling information generated inanother network and passed to the IP network via a gateway

  • 7/24/2019 Sip session intial protocol

    77/99

    2009/11/13 78

    SIP Event Notification

    RFC 3265 hasaddressed the issue ofevent notification.

    SUBSCRIBE andNOTIFY

    Event header

    Subscriber Notifier

    SUBSCRIBE

    200 OK

    NOTIFY

    200 OK

    NOTIFY

    200 OK

    a

    b

    c

    d

    e

    f

    Current stateinformation

    Updated stateinformation

  • 7/24/2019 Sip session intial protocol

    78/99

    2009/11/13 79

    SIP for Instant Messaging (1/3)

    The IETF working group SIP for Instant Messaging

    and Presence Leveraging Extensions (SIMPLE) RFC 3428 Session Initiation Protocol (SIP)

    Extension for Instant Messaging

    A new SIP method MESSAGE This request carries the actual message in a message body.

    A MESSAGE request does not establish a SIP dialog.

  • 7/24/2019 Sip session intial protocol

    79/99

    2009/11/13 80

    DanielBoss sip:Server.work.com

    MESSAGE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890Max-Forwards: 70From: BossTo: DanielCall-ID: [email protected]: 1 MESSAGEContent-Type: text/plainContent-Length: 19Content-Disposition: render

    Hello. How are you?

    MESSAGE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP server.work.com; branch=z9hG4bKxyz1Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890Max-Forwards: 69From: BossTo: DanielCall-ID: [email protected]: 1 MESSAGEContent-Type: text/plainContent-Length: 19Content-Disposition: render

    Hello. How are you?

    SIP/2.0 200 OKVia: SIP/2.0/UDP server.work.com; branch=z9hG4bKxyz1Via: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890From: BossTo: DanielCall-ID: [email protected]: 1 MESSAGE

    Content-Length: 0

    SIP/2.0 200 OKVia: SIP/2.0/UDP pc1.home.net; branch=z9hG4bK7890From: BossTo: DanielCall-ID: [email protected]: 1 MESSAGEContent-Length: 0

    a

    b

    c

    d

    SIP for Instant Messaging (2/3)

  • 7/24/2019 Sip session intial protocol

    80/99

    2009/11/13 81

    DanielBoss sip:Server.work.com

    MESSAGE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123Max-Forwards: 70From: DanielTo: BossCall-ID: [email protected]: 1101 MESSAGE

    Content-Type: text/plainContent-Length: 22Content-Disposition: render

    Im fine. How are you?

    MESSAGE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP server.work.com; branch=z9hG4bKabcdVia: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123Max-Forwards: 69From: DanielTo: Boss

    Call-ID: [email protected]: 1101 MESSAGEContent-Type: text/plainContent-Length: 22Content-Disposition: render

    Im fine. How are you?

    SIP/2.0 200 OKVia: SIP/2.0/UDP server.work.com; branch=z9hG4bKabcdVia: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123From: DanielTo: BossCall-ID: [email protected]: 1101 MESSAGE

    Content-Length: 0

    SIP/2.0 200 OKVia: SIP/2.0/UDP station1.work.com; branch=z9hG4bK123From: DanielTo: BossCall-ID: [email protected]

    CSeq: 1101 MESSAGEContent-Length: 0

    e

    f

    g

    h

    SIP for Instant Messaging (3/3)

  • 7/24/2019 Sip session intial protocol

    81/99

    2009/11/13 82

    SIP REFER Method RFC 3515 The Session Initiation Protocol (SIP) Refer

    Method

    To enable the sender of the request to instruct the receiverto contact a third party With the contact details for the third party included within the REFER

    request

    For Call Transfer applications

    The Refer-to: and Refer-by: Headers

    The dialog between Mary and Joe remains established. Joe could return to the dialog after consultation with Susan.

  • 7/24/2019 Sip session intial protocol

    82/99

    2009/11/13 83

    sip:[email protected] sip:[email protected] sip:[email protected]

    REFER sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station1.work.com; branch=z9hG4bK789Max-Forwards: 70From: Mary; tag=123456To: Joe; tag=67890Contact: MaryRefer-To: Susan

    Call-ID: [email protected]: 123 REFERContent-Length: 0

    SIP/2.0 202 AcceptedVia: SIP/2.0/UDP station1.work.com; branch=z9hG4bK789From: Mary; tag=123456To: Joe; tag=67890

    Contact: JoeCall-ID: [email protected]: 123 REFERContent-Length: 0

    INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station2.work.com; branch=z9hG4bKxyz1Max-Forwards: 70

    From: Joe; tag=abcxyzTo: SusanContact: JoeCall-ID: [email protected]: 567 INVITEContent-Type: application/sdpContent-Length: xx

    Content-Disposition: session{message body}

    a

    b

    c

    Call Transfer (1/2)

    sip:[email protected]

    Call Transfer (2/2)

  • 7/24/2019 Sip session intial protocol

    83/99

    2009/11/13 84

    sip:[email protected]:[email protected]

    fg

    SIP/2.0 200 OKVia: SIP/2.0/UDP station2.work.com; branch=z9hG4bKxyz1From: Joe; tag=abcxyzTo: Susan; tag=123xyzCall-ID: [email protected]: 567 INVITE

    Content-Type: application/sdpContent-Length: xxContent-Disposition: session{message body}

    ACK sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station2.work.com; branch=z9hG4bKxyz1Max-Forwards: 70

    From: Joe; tag=abcxyzTo: Susan; tag=123xyzCall-ID: [email protected]: 567 ACKContent-Length: 0

    NOTIFY sip:[email protected] SIP/2.0Via: SIP/2.0/UDP station2.work.com; branch=z9hG4bK123Max-Forwards: 70

    To: Joe; tag=67890From: Mary; tag=123456Contact: JoeCall-ID: [email protected]: 124 NOTIFYContent-Type: message/sipfrag;version=2.0Content-Length: 15

    SIP/2.0 200 OK

    SIP/2.0 200 OKVia: SIP/2.0/UDP station2.work.com; branch=z9hG4bK123To: Joe; tag=67890From: Mary; tag=123456Call-ID: [email protected]

    CSeq: 124 NOTIFYContent-Length: 0

    h

    ( )

  • 7/24/2019 Sip session intial protocol

    84/99

    2009/11/13 85

    Reliability of Provisional Responses (1/2)

    Provisional Responses

    100 (trying), 180 (ringing), 183 (session in progress) Are not answered with anACK

    If the messages is sent over UDP

    Unreliable

    Lost provisional response may cause problems wheninteroperating with other network

    180 (ring), 183 (session progress) Q931 alerting or ISUPACM (Address Complete Message)

    These external networks need these information to drive a statemachine.

  • 7/24/2019 Sip session intial protocol

    85/99

    2009/11/13 86

    Reliability of Provisional Responses (2/2)

    E.g., a call to an unassigned number

    ACM to create a one-way path to relay an announcement suchas The number you have called has been changed

    If the provisional response is lost, the caller might left in the darkand not understand why the call did not connect.

    RFC 3262 Reliability of Provisional Responses in SIP

    Response sequence (RSeq): a request header

    Response ACK (RAck): a response header

    Option tag=100rel with supported:/unsupported:

    Provisional Response ACK (PRACK) method

  • 7/24/2019 Sip session intial protocol

    86/99

    2009/11/13 87

    Provisional Response ACK (1/2)

    INVITE sip:[email protected] SIP/2.0

    Via: SIP/2.0/UDP ClientA.network.com; branch=z9hG4bK7890123

    Supported: 100relRequire: 100rel

    From: sip:[email protected]; tag=lmnop123

    To: sip:[email protected]: [email protected]

    CSeq: 1 INVITE

    ??SIP/2.0 180 Ringing

    Via: SIP/2.0/UDP ClientA.network.com; branch=z9hG4bK7890123

    Require: 100relRSeq: 567890

    From: sip:[email protected]; tag=lmnop123

    To: sip:[email protected]; tag = xyz123Call-ID: [email protected]

    CSeq: 1 INVITE

    Response

    Lost

    b

    a

    c

    ResponseRetransmit

    [email protected] [email protected]

    SIP/2.0 180 Ringing

    Via: SIP/2.0/UDP ClientA.network.com; branch=z9hG4bK7890123

    Require: 100rel

    Start timer T1

    default=0.5 sec

    Provisional Response ACK (2/2)[email protected] [email protected]

  • 7/24/2019 Sip session intial protocol

    87/99

    2009/11/13 88

    SIP/2.0 180 Ringing

    Via: SIP/2.0/UDP ClientA.network.com; branch=z9hG4bK7890123Require: 100rel

    RSeq: 567891

    From: sip:[email protected]; tag=lmnop123

    To: sip:[email protected]; tag = xyz123

    Call-ID: [email protected]

    CSeq: 1 INVITE

    d

    c

    eSIP/2.0 200 OK

    Via: SIP/2.0/UDP ClientA.network.com; branch=z9hG4bK7890123

    From: sip:[email protected]; tag=lmnop123

    To: sip:[email protected]; tag=xyz123

    Call-ID: [email protected]

    CSeq: 2 PRACK

    PRACK sip:[email protected] SIP/2.0

    Via: SIP/2.0/UDP ClientA.network.com; branch=z9hG4bK7890123

    RAck: 567891 1 INVITE

    From: sip:[email protected]; tag=lmnop123

    To: sip:[email protected]; tag=xyz123

    Call-ID: [email protected]

    CSeq: 2 PRACK

    Th SIP UPDATE M th d

  • 7/24/2019 Sip session intial protocol

    88/99

    2009/11/13 89

    The SIP UPDATE Method

    RFC 3311 The Session Initiation Protocol (SIP)

    UPDATE Method To enable the modification of session information

    before a final response to an INVITE is received

    E.g., to change the codec One important usage is when reserving network

    resources as part of a SIP session establishment

    Integration of SIP Signaling and

    R M t (1/2)

  • 7/24/2019 Sip session intial protocol

    89/99

    2009/11/13 90

    Resource Management (1/2) Ensuring that sufficient resources are available to

    handle a media stream is a very important.

    The signaling might take a different path from themedia.

    Assume resource-reservation mechanisms are

    available End-to-end status

    End-to-end network resources are reserved as part of sessionestablishment.

    Segmented status A certain amount of network resources are reserved in

    advance for a certain type of usage.

    Policing functions at the edge of the network

  • 7/24/2019 Sip session intial protocol

    90/99

    Usage of SIP for Features and Services

    Call Forwarding

    Consultation Hold

    U f SIP f F t /S i (1/2)

  • 7/24/2019 Sip session intial protocol

    91/99

    2009/11/13 92

    Usage of SIP for Features/Services (1/2) Personal Mobility (Registrar)

    Call-transfer application (with REFER method)

    One number service through forking proxy

    Call-completion services (by Retry-After: header)

    Click-to-call applications or Web service (SIP address

    is a URL) Existing supplementary services in traditional

    telephony Call waiting, call forwarding, multi-party calling, call screening

    Usage of SIP for Feat res/Ser ices (2/2)

  • 7/24/2019 Sip session intial protocol

    92/99

    2009/11/13 93

    Usage of SIP for Features/Services (2/2) Proxy invokes various types of advanced

    feature logic. Policy server (call-routing, QoS)

    Feature server (subscriber-specific feature data, ex:screening lists, forwarding information)

    Authentication server Use the services of an IN SCP over INAP

    Use Open Service Access (OSA)

    Call Forwarding

  • 7/24/2019 Sip session intial protocol

    93/99

    2009/11/13 94

    Call Forwarding Call-forwarding-

    on-busy Call-forwarding-

    on-no-answer Timeout

    CANCEL method

    Call-forwardingunconditional

    INVITE sip:[email protected] SIP/2.0

    From: sip:user1

    To: sip:[email protected]

    Contact: User1

    CSeq: 1 INVITE

    SIP/2.0 100 Trying

    From: sip:user1

    To: sip:[email protected]

    CSeq: 1 INVITE

    INVITE sip:[email protected] SIP/2.0

    From: sip:user1

    To: sip:[email protected]

    Contact: User1

    CSeq: 1 INVITE

    SIP/2.0 486 Busy Here

    From: sip:user1

    To: sip:[email protected]

    CSeq: 1 INVITE

    INVITE sip:[email protected] SIP/2.0

    From: sip:user1

    To: sip:[email protected]

    CSeq: 2 INVITE

    SIP/2.0 200 OK

    From: sip:user1

    To: sip:[email protected]

    Contact: sip:[email protected]

    CSeq: 2 INVITE

    SIP/2.0 200 OK

    From: sip:user1

    To: sip:[email protected]

    Contact: sip:[email protected]

    CSeq: 1 INVITE

    User1 sip:Server.work.com

    User2

    User3

    Consultation Hold INVITE sip:User A@there SIP/2.0

    User A User B User C

    a

  • 7/24/2019 Sip session intial protocol

    94/99

    2009/11/13 95

    Consultation Hold

    User A asks User B a

    question, and User Bneed to check with UserC for the correct answer.

    User B could use the

    REFER method totransfer the call to UserC.

    A SIP UPDATE

    INVITE sip:User A@there SIP/2.0From: sip:User B@hereCall-ID: 12345SDP Description

    SIP/2.0 200 OKFrom: sip:User B@hereCall-ID: 12345SDP Description

    ACK sip:User A@there SIP/2.0From: sip:User B@hereCall-ID: 12345

    Conversation

    UPDATE sip:User A@there SIP/2.0From: sip:User B@hereCall-ID: 12345

    Session Descriptiona=inactive

    SIP/2.0 200 OKFrom: sip:User B@hereCall-ID: 12345Session Descriptiona=inactive

    On hold

    UPDATE sip:User A@there SIP/2.0From: sip:User B@hereCall-ID: 12345Session Descriptiona=sendrecv

    SIP/2.0 200 OKFrom: sip:User B@hereCall-ID: 12345

    Session Descriptiona=sendrecv

    User B calls User C, speaks, then hangs up

    b

    c

    d

    e

    f

    gh

    i

    j

  • 7/24/2019 Sip session intial protocol

    95/99

    Interworking

    PSTN Interworking

    SIP to PSTN [email protected] Proxy.work.com PSTN switchNGW

  • 7/24/2019 Sip session intial protocol

    96/99

    2009/11/13 97

    INVITE

    183 (Session Progress)Session description

    One-way audio

    a

    b

    g

    i

    j

    m

    100 (Trying)INVITE

    100 (Trying)

    183 (Session Progress)Session description

    IAM

    ACM

    One-way audio

    ANM

    200 (OK)Updated session description

    200 (OK)Updated session description

    ACK

    ACK

    Two-way audio Two-way audio

    c

    de

    f

    h

    k

    l

    n

    o

    IAM (initial address message)

    ACM (Address Complete Message)

    ANM (Answer Message)

    PSTN Interworking

  • 7/24/2019 Sip session intial protocol

    97/99

    2009/11/13 98

    PSTN Interworking

    RFC 3372 - Session Initiation Protocol for

    Telephones (SIP-T): Context and Architectures PSTN SIP PSTN

    RFC 3204 - MIME media types for ISUP and QSIGObjects

    MIME media types

    For ISUP

    The whole issue of interworking with SS7 is

    fundamental to the success of VoIP in the realworld.

    Summary

  • 7/24/2019 Sip session intial protocol

    98/99

    2009/11/13 99

    Summary

    The future for signaling in VoIP networks

    Simple, yet flexible Easier to implement

    Fit well with the media gateway control protocols

    SIP is the protocol of choice for the evolution ofthird-generation wireless networks. SIP-based mobile devices will become available

    SIP-based network elements will be introduced withinmobile networks.

  • 7/24/2019 Sip session intial protocol

    99/99

    End.