Sippktguide12 08.FINAL

Embed Size (px)

Citation preview

  • 7/27/2019 Sippktguide12 08.FINAL

    1/52

    SIP

    PocketGuide

    Exclusive referenceguide for Session InitiationProtocol professionals

    The Future of Signaling

  • 7/27/2019 Sippktguide12 08.FINAL

    2/52

    SIP Pocket Guide2

    Session Initiation Protocol (SIP) is a signaling protocol

    used for creating, modifying, and terminating sessions with

    one or more participants in an IP network. SIP has been

    adopted by the telecommunications industry as its protocol

    of choice for signaling. SIP is an RFC standard (RFC3261)

    from the Internet Engineering Task Force (IETF), the body

    responsible for administering and developing the mechanisms

    that comprise the Internet.

    Found at the heart of most global networks, Tekelecs

    market-leading, carrier-grade network solutions enable the

    secure and instant delivery of calls and text messages for

    more than one billion mobile and fixed-line subscribers.

    The companys session management solutions allow

    telecom operators to manage the diverse applications,

    devices, technologies and protocols, across existing and

    evolving networks, to meet the demands of todays

    consumer. Tekelec uniquely ensures telecom operators

    have a clear migration path to SIP-based IP networks,

    and whatever comes next, with the flexibility to deploy

    solutions at a pace dictated by their business needs.

    For more information please call888.628.5521or

    +1.919.460.5500

    Visit our web site at www.tekelec.com

  • 7/27/2019 Sippktguide12 08.FINAL

    3/52

    www.tekelec.com 3

    Table of Contents

    SIP Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    Response Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    INVITE/200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    INVITE/200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    Header Fields Compact Forms. . . . . . . . . . . . . . . . . . . . . . . . . .11

    Header Field Parameters and Parameter Values. . . . . . . . . . . . . . .11

    Security Mechanism Names . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    Namespaces and Priority Values for the Resource PriorityHeader Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    URI Purposes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    SIP/SIPS URI Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

    SIPs Use of DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

    Types of DNS Resource Records. . . . . . . . . . . . . . . . . . . . . . . . . .18

    NAPTR Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

    SRV Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19DNS Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

    Option Tags for SIP Extensions . . . . . . . . . . . . . . . . . . . . . . . . . .20

    SIP Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

    Session Description Protocol (SDP) . . . . . . . . . . . . . . . . . . . . . . .27

    Session Level Description . . . . . . . . . . . . . . . . . . . . . . . . . . .27

    Time Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 SDP Media Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    SDP Media Attribute Lines (a=) . . . . . . . . . . . . . . . . . . . . . . .28

    Warning Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

    Mapping Between the SIP SDP and SS7 USI/HLC (SIP Origination) . .30

    Mapping Between SS7 USI and the SIP SDP (SS7 Origination) . . . .30

    SIP Response to a Call Progress (CPG) Message . . . . . . . . . . . . . .32Mapping ISUP Cause Codes to SIP-I/SIP-T Responses . . . . . . . . . .32

    Mapping SIP-T Responses to ISUP Cause Codes. . . . . . . . . . . . . . .36

    Mapping SIP-I Responses to ISUP Cause Codes . . . . . . . . . . . . . . .38

    SIP Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

    INVITE Client Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

    INVITE Server Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Non-INVITE Client Transaction. . . . . . . . . . . . . . . . . . . . . . . . . . .43

    Non-INVITE Server Transaction . . . . . . . . . . . . . . . . . . . . . . . . . .44

    Elements and Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

    Mechanics: Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

    Mechanics: Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

    Glossary of SIP Acronyms and Definitions . . . . . . . . . . . . . . . . . . .47

    SIP References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48

  • 7/27/2019 Sippktguide12 08.FINAL

    4/52

    SIP Pocket Guide4

    SIP Methods

    Methods Description RFC

    ACK Acknowledgment sent in response to a

    response to an INVITE request

    3261

    BYE Terminates a session 3261

    CANCEL Cancels a pending transaction 3261

    INFO Carries session-related control information 2976

    INVITE Establishes a session between participants 3261

    MESSAGE Transfers instant messages 3428

    NOTIFY Informs a subscriber about the state ofa resource 3265

    OPTIONS Queries a server about its capabilities 3261

    PRACK Similar to ACK but for responding toreliable provisional responses

    3262

    PUBLISH Publishes event state to a SIP eventsserver

    3903

    REFER Indicates that the recipient should contacta third party using contact informationprovided in the request

    3515

    REGISTER Registers contact information 3261

    SUBSCRIBE Requests current state and state updatesfrom a remote node

    3265

    UPDATE Updates parameters of a session 3311

  • 7/27/2019 Sippktguide12 08.FINAL

    5/52

    www.tekelec.com 5

    Response Codes

    Note: All response codes below are defined by RFC3261 unless otherwise noted.

    Response Codes continues on page 6

    Response Code RFC

    Provisional 1xx100 Trying

    180 Ringing

    181 Call Is Being Forwarded

    183 Session Progress

    Successful 2xx

    200 OK202 Accepted 3265

    Redirection 3xx

    300 Multiple Choices

    301 Moved Permanently

    302 Moved Temporarily

    305 Use Proxy380 Alternative Service

    Request Failure 4xx

    400 Bad Request

    401 Unauthorized

    402 Payment Required

    403 Forbidden404 Not Found

    405 Method Not Allowed

    406 Not Acceptable

    407 Proxy Authentication Required

    408 Request Timeout

    410 Gone412 Conditional Request Failed 3903

    413 Request Entity Too Large

    414 Request-URI Too Long

    415 Unsupported Media Type

    416 Unsupported URI Scheme

    417 Unknown Resource-Priority 4412420 Bad Extension

    421 Extension Required

    422 Session Interval Too Small 4028

    423 Interval Too Brief

    428 Use Identity Header 4474

  • 7/27/2019 Sippktguide12 08.FINAL

    6/52

    SIP Pocket Guide6

    Response Code RFC

    429 Provide Referrer Identity 3892

    433 Anonymity Disallowed 5079436 Bad Identity-Info 4474

    437 Unsupported Certificate 4474

    438 Invalid Identity Header 4474

    470 Consent Needed 5360

    480 Temporarily Unavailable

    481 Call/Transaction Does Not Exist482 Loop Detected

    483 Too Many Hops

    484 Address Incomplete

    485 Ambiguous

    486 Busy Here

    487 Request Terminated488 Not Acceptable Here

    489 Bad Event 3265

    493 Undecipherable

    494 Security Agreement Required 3329

    Server Failure 5xx

    500 Server Internal Error501 Not Implemented

    502 Bad Gateway

    503 Service Unavailable

    504 Server Time-Out

    505 Version Not Supported

    513 Message Too Large580 Precondition Failure 3312

    Global Failures 6xx

    600 Busy Everywhere

    603 Decline

    604 Does Not Exist Anywhere

    606 Not Acceptable

    Response Codes continued from page 5

  • 7/27/2019 Sippktguide12 08.FINAL

    7/52

    www.tekelec.com 7

    INVITE/200

    INVITE/200

    RobertPhil

    INVITE (tid A)

    response (tid A)

    ACK (tid E)

    INVITE (tid B)

    response (tid B)

    P1 P2

    INVITE (tid C)

    response (tid C)

    P3

    INVITE (tid D)

    response (tid D)

    RobertPhil

    INVITE (tid A)

    response (tid A)

    ACK (tid E)

    INVITE (tid B)

    response (tid B)

    ACK (tid F)

    P1 P2

    INVITE (tid C)

    response (tid C)

    ACK (tid G)

    P3

    INVITE (tid D)

    response (tid D)

    ACK (tid H)

    ACK/200 is an end-to-end message it tells the other endpointthat its 2xx-class response has been received

    The messages at Phils UA are exactly the form as if it had talkeddirectly to Roberts UA

    Proxies can ask to see the ACK/200 The messages at Phils UA are STILL exactly the form as if it had

    talked directly to Roberts UA

  • 7/27/2019 Sippktguide12 08.FINAL

    8/52

    SIP Pocket Guide8

    Header Fields

    Header Field Compact Used Where RFC

    Accept Requests, 2xx, 415 3261

    Accept-Contact a Requests 3841Accept-Encoding Requests, 2xx, 415 3261

    Accept-Language Requests, 2xx, 415 3261

    Accept-Resource-Priority

    200, 417 4412

    Alert-Info Requests, 180 3261

    Allow Requests, 2xx,Responses, 405 3261

    Allow-Events u Requests, 2xx, 489 3265

    Answer-Mode Requests, 200 5373

    Authentication-Info 2xx 3261

    Authorization Requests 3261

    Call-ID i Copied 3261

    Call-Info 3261

    Contact m Requests, 1xx, 2xx,3xx, 485

    3261

    Content-Disposition 3261

    Content-Encoding e 3261

    Content-Language 3261

    Content-Length l 3261

    Content-Type c 3261

    CSeq Copied 3261

    Date 3261

    Encryption -Deprecated- 2543

    Error-Info 300-699 3261

    Event e Requests 3265

    Expires 2xx 3261

    From Copied 3261

    Hide -Deprecated- 2543

    History-Info 4244

    Identity y Requests 4474

    Identity-Info n Requests 4474

    In-Reply-To Requests 3261

    Join Requests 3911

    Max-Forwards Requests 3261

    MIME-Version 3261

    Min-Expires 423 3261

    Min-SE Requests, 422 4028Organization 3261

    Header Fields continues on page 9

  • 7/27/2019 Sippktguide12 08.FINAL

    9/52

    www.tekelec.com 9

    Header Fields continued from page 8

    Header Fields continues on page 10

    Header Field Compact Used Where RFC

    P-Access-Network-

    Info

    3455

    P-Answer-State Requests, 18x, 2xx 4964

    P-Asserted-Identity 3325

    P-Associated-URI 2xx 3455

    P-Called-Party Requests 3455

    P-Charging-FunctionAddress

    3455

    P-Charging-Vector 3455

    P-DCS-Trace-Party-ID

    Requests 3603

    P-DCS-OSPS Requests 3603

    P-DCS-Billing-Info 3603

    P-DCS-LAES 3603

    P-DCS-Redirect 3603

    P-Early-Media Requests, 18x, 2xx 5009

    P-Media-Authorization

    Requests, 101-199,2xx

    3313

    P-Preferred-Identity 3325

    P-Profile-Key 5002

    P-User-Database 4457P-Visited-Network-ID Requests 3455

    Path Requests, 2xx 3327

    Permission-Missing 5360

    Permission-Missing 470 5360

    Priority Requests 3261

    Priv-Answer-Mode Requests, 200 5373Privacy 3323

    Proxy-Authenticate 407, 401 3261

    Proxy-Authorization Requests 3261

    Proxy-Require Requests 3261

    RAck Requests 3262

    Reason 3326Record-Route Requests, 2xx, 18x 3261

    Refer-Sub Requests, 2xx 4488

    Refer-To r Requests 3515

    Referred-By b Requests 3892

    Reject-Contact j Requests 3841

    Replaces Requests 3891Reply-To 3261

  • 7/27/2019 Sippktguide12 08.FINAL

    10/52

    SIP Pocket Guide10

    Header Fields continued from page 9

    The where column describes the request and response types inwhich the header field can be used. Values in this column are:

    Requests: header field may only appear in requests

    Responses: header field may only appear in responses

    2xx, 4xx, etc.: A numerical value or range indicates responsecodes with which the header field can be used;

    Copied: header field is copied from the request to the response.

    An empty entry in the where column indicates that the headerfield may be present in all requests and responses.

    Header Field Compact Used Where RFC

    Request-Disposition d Requests 3841

    Require 3261Resource-Priority Requests 4412

    Response-Key -Deprecated- 2543

    Retry-After 404, 413, 480, 486,500, 503, 600, 603

    3261

    Route Requests 3261

    Rseq 1xx 3262Security-Client Requests 3329

    Security-Server 421, 494 3329

    Security-Verify Requests 3329

    Server Responses 3261

    Service-Route 2xx 3608

    Session-Expires x Requests, 2xx 4028SIP-ETag 2xx 3903

    SIP-If-Match Requests 3903

    Subject s Requests 3261

    Subscription-State Requests 3265

    Supported k Requests, 2xx 3261

    Target-Dialog Requests 4538Timestamp 3261

    To t Copied, tag added 3261

    Trigger-Consent 5360

    Unsupported 420 3261

    User-Agent 3261

    Via Requests, Responses,Copied 3261

    Warning Requests, Responses 3261

    WWW-Authenticate 401, 407 3261

  • 7/27/2019 Sippktguide12 08.FINAL

    11/52

    www.tekelec.com 11

    Header Fields Compact Forms

    Header Field Parameters and Parameter Values continues on page 12

    Compact Header Field

    a Accept-Contact

    b Referred-Byc Content-Type

    d Request-Disposition

    e Content-Encoding

    i Call-ID

    j Reject-Contact

    k Supportedl Content-Length

    m Contact

    n Identity-Info

    o Event

    r Refer-To

    s Subjectt To

    u Allow-Events

    x Session-Expires

    y Identity

    Header Field Reference ParameterName

    PredefinedValues

    Accept q No

    Accept-Encoding q NoAccept-Language q No

    Answer-Mode auto No

    Answer-Mode auto; require No

    Answer-Mode manual No

    Answer-Mode manual; require No

    Authorization (3310) algorithm YesAuthorization (3310) auts No

    Authorization cnonce No

    Authorization nc No

    Authorization nonce No

    Authorization opaque No

    Authorization qop Yes

    Authorization realm No

    Authorization response No

    Header Field Parameters and Parameter ValuesReference is provided only if it is different from the original headerfield reference. See the Header Fields table.

  • 7/27/2019 Sippktguide12 08.FINAL

    12/52

    SIP Pocket Guide12

    Header Field Parameters and Parameter Values continues on page 13

    Header Field Parameters and Parameter Values continued from page 11

    Header Field Reference ParameterName

    PredefinedValues

    Authorization uri NoAuthorization username No

    Authentication-Info cnonce No

    Authentication-Info nc No

    Authentication-Info nextnonce No

    Authentication-Info qop Yes

    Authentication-Info rspauth NoCall-Info (5367) purpose Yes

    Call-Info purpose Yes

    Contact expires No

    Contact q No

    Contact draft-ietf-sip-gruu pub-gruu No

    Contact draft-ietf-sip-gruu temp-gru NoContent-Disposition handling Yes

    Event (4235) call-id No

    Event (4235) from-tag No

    Event id No

    Event (4235) include-sessiondescription

    No

    Event (4235) to-tag No

    From tag No

    P-Access-Network-Info cgi-3gpp No

    P-Access-Network-Info utran-cell-id-3gpp No

    P-Charging-Function-Addresses ccf No

    P-Charging-Function-Addresses ecf No

    P-Charging-Vector icid-value No

    P-Charging-Vector icid-generated-at No

    P-Charging-Vector orig-ioi No

    P-Charging-Vector term-ioi No

    P-DCS-Billing-Info called No

    P-DCS-Billing-Info calling No

    P-DCS-Billing-Info charge No

    P-DCS-Billing-Info locroute No

    P-DCS-Billing-Info rksgroup No

    P-DCS-Billing-Info routing No

    P-DCS-LAES content No

    P-DCS-LAES key No

    P-DCS-Redirect count No

    P-DCS-Redirect redirector-uri No

  • 7/27/2019 Sippktguide12 08.FINAL

    13/52

    www.tekelec.com 13

    Header Field Parameters and Parameter Values continues on page 14

    Header Field Parameters and Parameter Values continued from page 12

    Header Field Reference ParameterName

    PredefinedValues

    Priv-Answer-Mode auto NoPriv-Answer-Mode auto; require No

    Priv-Answer-Mode manual No

    Priv-Answer-Mode manual; require No

    Proxy-Authenticate (3310) algorithm Yes

    Proxy-Authenticate domain No

    Proxy-Authenticate nonce NoProxy-Authenticate opaque No

    Proxy-Authenticate qop Yes

    Proxy-Authenticate realm No

    Proxy-Authenticate stale Yes

    Proxy-Authorization (3310) algorithm Yes

    Proxy-Authorization (3310) auts NoProxy-Authorization cnonce No

    Proxy-Authorization nc No

    Proxy-Authorization nonce No

    Proxy-Authorization opaque No

    Proxy-Authorization qop Yes

    Proxy-Authorization realm NoProxy-Authorization uri No

    Proxy-Authorization username No

    Proxy-Authorization response No

    Reason cause Yes

    Reason text No

    Retry-After duration NoSecurity-Client alg Yes

    Security-Client ealg Yes

    Security-Client d-alg Yes

    Security-Client d-qop Yes

    Security-Client d-ver No

    Security-Client mod YesSecurity-Client port1 No

    Security-Client port2 No

    Security-Client prot Yes

    Security-Client q No

    Security-Client spi No

    Security-Server alg Yes

    Security-Server ealg Yes

    Security-Server d-alg Yes

  • 7/27/2019 Sippktguide12 08.FINAL

    14/52

    SIP Pocket Guide14

    Header Field Parameters and Parameter Values continued from page 13

    Header Field Reference ParameterName

    PredefinedValues

    Security-Server d-qop YesSecurity-Server d-ver No

    Security-Server mod Yes

    Security-Server port1 No

    Security-Server port2 No

    Security-Server prot Yes

    Security-Server q NoSecurity-Server spi No

    Security-Verify alg Yes

    Security-Verify ealg Yes

    Security-Verify d-alg Yes

    Security-Verify d-qop Yes

    Security-Verify d-ver NoSecurity-Verify mod Yes

    Security-Verify port1 No

    Security-Verify port2 No

    Security-Verify prot Yes

    Security-Verify q No

    Security-Verify spi NoSubscription-State expires No

    Subscription-State reason Yes

    Subscription-State retry-after No

    Target-Dialog local-tag No

    Target-Dialog remote-tag No

    To tag NoTrigger-Consent target-uri No

    Via branch No

    Via (3486) comp Yes

    Via maddr No

    Via received No

    Via (3581) rport NoVia (5049) sigcomp-id No

    Via ttl No

    WWW-Authenticate (3310) algorithm Yes

    WWW-Authenticate domain Yes

    WWW-Authenticate nonce No

    WWW-Authenticate opaque No

    WWW-Authenticate qop Yes

    WWW-Authenticate realm No

    WWW-Authenticate stale Yes

  • 7/27/2019 Sippktguide12 08.FINAL

    15/52

    www.tekelec.com 15

    Namespaces and Priority Values for theResource Priority Header FieldHandling emergency calls according to DNS name space

    Namespace Intended

    Algorithm

    Priority-Values

    (least to greatest)drsn preemption routine, priority, immediate,

    flash, flash-override,flash-override-override

    dsn preemption routine, priority, immediate,flash, flash-override

    q753 preemption 4, 3, 2, 1, 0

    ets queue 4, 3, 2, 1, 0 wps queue 4, 3, 2, 1, 0

    RFC4412

    URI Purposes

    Value Description

    participation The URI can be used to join the conference.

    streaming The URI can be used to access the streamedconference data.

    event The URI can be used to subscribe to the conferenceevent package.

    recording The URI can be used to access the recordedconference data.

    web-page The URI can be used to access a web page thatcontains additional information of the conference.

    RFC4575

    Mechanism Name Description

    digest HTTP digest authentication

    tls Transport Layer Securityipsec-ike IPsec with Internet Key Exchange

    ipsec-man Manually keyed IPsec without IKE

    ipsec-3gpp IPsec with either MD5 or SHA-1, used in3GPP IMS networks

    Security Mechanism Names RFC3329

  • 7/27/2019 Sippktguide12 08.FINAL

    16/52

    SIP Pocket Guide16

    SIP/SIPS URI Parameters

    ParameterName

    PredefinedValues

    RFC Description

    cause Yes 4458 Voicemail (IVR)comp Yes 3486 Ability to handle

    compressed SIP messages

    content-type No 4240 Service announcements& conferencing

    delay No 4240 Service announcements& conferencing

    duration No 4240 Service announcements& conferencing

    locale No 4240 Service announcements& conferencing

    lr No 3261 Supports 3261-compliantrouting

    maddr No 3261 Server address to becontacted for the user

    method Yes 3261 Specifies the method of theSIP request constructed fromthe URI

    param[n] No 4240 Service announcements& conferencing

    play No 4240 Service announcements& conferencing

    repeat No 4240 Service announcements& conferencing

    sigcomp-id No 5049 URN of a SIP/SigCompapplication

    target No 4458 Indicates the address of the

    retargeting entitytransport Yes 3261 Transport mechanism to

    be used for sending SIPmessages

    ttl No 3261 Time-to-live value of the UDPmulticast packet

    user Yes 3261,4967

    Distinguishes telephonenumbers from the usernamesthat look like telephonenumbers

    voicexml No 4240 Indicates the URI of theVoiceXML script to execute

    gr No draftietf-sip-gruu

    Globally known parameters

  • 7/27/2019 Sippktguide12 08.FINAL

    17/52

    www.tekelec.com 17

    SIPs Use of DNS

    RFC3263

    Isaddressexplicit?

    Isport

    explicit?

    Istransportexplicit?

    Yes

    No

    No

    No

    Yes

    Yes

    Use thediscoveredaddress,port &

    transport

    to contactthe server

    Use 5060

    Usegiven

    address

    Usegivenport

    UseUDP

    Usegiven

    transport

    Isportexplicit?

    Istransportexplicit?

    Yes Yes

    No

    No

    Yes

    Usegivenport

    Istransportexplicit?

    No

    Usegiven

    transport

    DoNAPTRLookup

    Use

    giventransport

    DoA/AAAALookups

    Use

    UDP

    DoSRV

    Lookups

    Use5060

  • 7/27/2019 Sippktguide12 08.FINAL

    18/52

    SIP Pocket Guide18

    Types of DNS Resource Records

    NAPTR Records

    Type Description RFC

    NAPTR Naming authority pointer record.

    Provides the discovery of the servers preferredtransport protocol supported by the client.

    Returns a name to look up in SRV records for theserver.

    3403

    SRV Server selection record.

    Provides load balancing across SIP servers.

    Returns the IP ports, names of servers to lookup inA or AAAA records, and relative weights of each server.

    2782

    A Address record.

    Returns an IPv4 address.

    1035

    AAAA IPv6 address record.

    Returns an IPv6 address.

    3596

    NAPTR Field Description

    Order Specifies the order, from lowest to highest, in whichto process multiple NAPTR records for a name.

    Processing stops once a suitable record is found.

    Preference The order, from lowest to highest, in which toprocess multiple NAPTR records with the same ordervalue. Higher numbered records can be tried if lowernumbered records fail or arent acceptable in someother way.

    Flags Always s for SIP, which means to do an SRV lookupon whatever is in the replacement field.

    Service Specifies the service available by following this rule.For SIP: SIP+D2U: SIP over UDP SIP+D2T: SIP over TCP SIP+D2S: SIP over SCTP

    SIPS+D2T: SIPS over TCPRegexp Always empty for SIP services.

    Replacement For SIP, a DNS name to use in an SRV query.

    tekelec.com. 600 IN NAPTR 50 50 s SIP+D2U _sip._udp.naptr-udp

    order

    flags regexp

    preference service replacement

  • 7/27/2019 Sippktguide12 08.FINAL

    19/52

    www.tekelec.com 19

    DNS Example

    _sip._udp.naptr-udp.tekelec.com. 600 IN SRV 10 1 5060 lt.tekelec.com

    weightprotocol target

    service

    priority

    port

    SRV Field DescriptionService IANA-registered service name, always starts with an _to avoid collisions with ordinary DNS names.

    _sip for SIP

    Protocol Transport protocol.

    Priority Order, from lowest to highest, to try reaching hosts.

    Weight Emphasis to put on this record when other records have

    the same priority, used for load balancing. For example,in the records below, the weights total to 4: 1/4 of the traffic will go to huey. 1/4 will go to dewey. 2/4 will go to louie.

    _sip._udp.naptr-udp.tekelec.com. 600 IN SRV 10 1 5060 huey.tekelec.com.

    _sip._udp.naptr-udp.tekelec.com. 600 IN SRV 10 1 5060 dewey.tekelec.com.

    _sip._udp.naptr-udp.tekelec.com. 600 IN SRV 10 2 5060 louie.tekelec.com.

    Port The port to use if this record is selected.

    Target A name to lookup using A or AAAA if this record isselected.

    $ORIGIN tekelec.com.

    10m NAPTR 50 50 s SIP+D2U _sip._udp.naptr-udp

    _sip._udp.naptr-udp 10m SRV 0 1 5060 llama

    _sip._udp.naptr-udp 10m SRV 10 1 5060 lt

    _sip._udp 10m SRV 0 1 5060 llama

    _sip._udp 10m SRV 10 1 5060 lt

    lt IN A 10.0.0.1

    llama IN A 10.0.0.2

    Notes: This zone is set to prefer SIP over UDP Normally llama is used, but traffic can failover to lt The bare SRV records are there for clients that dont support NAPTR

    SRV Records

  • 7/27/2019 Sippktguide12 08.FINAL

    20/52

    SIP Pocket Guide20

    Option Tags for SIP Extensions

    Option Tag Supported Extension

    100rel Reliability of provisional responses

    answermode Answer-Mode and Priv-Answer-Mode

    early-session Early-session content disposition

    eventlist Subscriptions to lists of resources

    from-change Connected identity

    gruu Globally Routable User Agent URI(GRUU)

    histinfo History-Info header field

    ice Interactive Connectivity Establishment(ICE)

    join Join header field

  • 7/27/2019 Sippktguide12 08.FINAL

    21/52

    www.tekelec.com 21

    Used in the Following Header Fields RFC

    Supported indicates that the UA can send or

    receive reliable provisional responses.Require in a request indicates that the UASmust send all provisional responses reliably.Require in a reliable provisional response indicates that the response is to be sent reliably.

    3262

    Supported indicates the UA supports automaticor manual answering of a request.Require indicates that the UA has tounderstand the extension when placed in an INVITE.Accept-Contact the extension parameteranswermode is placed in this header field whenthe Require header field is used.

    5373

    Supported indicates that a UA understands theearly-session content-disposition type.Require indicates that a UA requires the early-session disposition type.

    3959

    Supported in a SUBSCRIBE indicates that the UAis willing to process a list.Require in responses to a SUBSCRIBE and inall NOTIFYs within that subscription indicatesthat the UA has subscribed to an event list.

    4662

    Supported indicates that a UA supportschanges to URIs in From and To header fieldsduring a dialog.

    4916

    Supported indicates that a UA understands theextension.Require in a REGISTER request indicates thatthe registrar is not expected to process theregistration unless it supports the GRUU extension.

    draft-ietf-sip-gruu

    Supported indicates support for the HistoryInformation to be captured for requests andreturned in subsequent responses.

    4244

    Require indicates that ICE is required by anagent. Support is indicated by placing a mediafeature tag in the Contact header field.

    ietf-sip-ice-option-tag

    Supported indicates that the UA supports theJoin header field.Require indicates that the UA wants explicitfailure notification if Join is not supported.

    3911

    Option Tags for SIP extensions continues on page 22

  • 7/27/2019 Sippktguide12 08.FINAL

    22/52

    SIP Pocket Guide22

    Option Tags for SIP Extensions continued from page 20

    Option Tag Supported Extension

    multiple-refer REFER method refers to multiple

    resources in a single request

    norefersub Suppression of implicit subscriptions

    path Path header field

    precondition Preconditions for session establishment

    pref Caller preferences

    privacy Privacy mechanism

    recipient-list-invite Conference establishment usingrequest-contained lists

    recipient-list-message Multiple recipient MESSAGE requests

  • 7/27/2019 Sippktguide12 08.FINAL

    23/52

    www.tekelec.com 23

    Used in the Following Header Fields RFC

    Supported the UA can handle multiple resources

    in a REFER request.Require indicates the REFER request containsa pointer to a URI list in the Refer-To header fieldand the body contains a resource list documentdescribing multiple REFER targets.

    5368

    Supported indicates that a UA can accept a REFERrequest without establishing an implicit subscription.

    Require can be present with the Refer-Sub: falseheader field.

    4488

    Supported UA supports the Path header field.If found in a REGISTER request, intermediateproxies can determine whether to offer Pathservice for that request.Require added if an intermediate proxy requiresthat the registrar support Path for a request.

    3327

    Supported indicates that the offer contains onlyoptional or none strength-tags.Require indicates that the offer contains one ormore mandatory strength-tags, or only optionalor none strength-tags.

    3312

    Require of a REGISTER ensures that the registrarsupports caller preferences extensions.

    3840

    Proxy-Require indicates that proxy servers donot forward the request unless they can providethe requested privacy service. Proxies removethis option tag before forwarding the request ifthe desired privacy function has been performed.

    3323

    Supported added to the response to anOPTIONs request when the conference servercan handle INVITEs with a recipient-list body.Require added to an INVITE when the UACincludes the set of participants in the body of itsrequest to create an ad-hoc conference.

    5366

    Supported added to the response to an OPTIONsrequest when the UA can handle MESSAGEs with arecipient-list body.Require added to a MESSAGE when the UACincludes the set of recipients in the body.

    5365

    Option Tags for SIP extensions continues on page 24

  • 7/27/2019 Sippktguide12 08.FINAL

    24/52

    SIP Pocket Guide24

    Option Tag Supported Extension

    recipient-list-subscribe Subscriptions to request-contained

    resource lists

    replaces Replaces header field

    resource-priority Resource-Priority and Accept-Resource-Priority header fields

    sdp-anat Alternative network address types ofthe SDP grouping framework

    sec-agree Security agreement mechanism

    tdialog Target-Dialog header field

    timer Session timers

    Option Tags for SIP Extensions continued from page 22

  • 7/27/2019 Sippktguide12 08.FINAL

    25/52

    www.tekelec.com 25

    Used in the Following Header Fields RFC

    Supported added to the response to an OPTIONs

    request when the server can handle SUBSCRIBEswith a recipient-list body.Require added to a SUBSCRIBE when the UACcreates a resource list that it wants to subscribe toand includes the set of recipients in the body.

    5367

    Supported indicates the UA supports theReplaces header field.

    Require indicates the UA wants explicit failurenotification when the Replaces header field is notsupported.

    3891

    Supported in OPTIONS indicates the UA supportsthe resource-priority mechanism for emergencycommunications.Require indicates that the UA wants explicit failurenotification if resource priority is not supported.

    4412

    Supported indicates that the UA understandsthe ANAT semantics as defined in RFC4091.Require indicates that the UA has generatedan offer that uses ANAT semantics.

    4092

    Supported indicates that the UAC supports thesecurity agreement mechanism.Require or Proxy-Require indicates that proxyservers are required to use the security agreementmechanism.Require in 494 or 421 responses indicatesthat the UAC must use the security agreementmechanism.

    3329

    Supported indicates the UA supports Target-Dialogheader field.

    Require indicates the UA needs to support theTarget-Dialog header field.

    4538

    Supported indicates that the UA can performrefreshes according to 4028.Require in a request means that the UASmust understand the session timer extension toprocess the request.

    Require in a response indicates that the UACmust look for the Session-Expires header field inthe response, and process accordingly.

    4028

  • 7/27/2019 Sippktguide12 08.FINAL

    26/52

    SIP Pocket Guide26

    SIP Events

    PackageName

    Subscription RFC

    conference URI for a conference to learn about othermembers and conference components 4575

    dialog Users and their changes of state ofINVITE-initiated dialog usages in whichthey are involved

    4235

    kpml Dual Tone Multi-Frequency (DTMF) signalsfor supplemental or mid-call key presses

    (triggers) entered at the UA. The Key PressMarkup Language (KPML) documents (XML)sent in the SUBSCRIBE define and describefilter specifications for capturing key presses.The KPML documents sent in the NOTIFYsreport the captured key presses that matchthe filter criteria to an application server.

    4730

    message-summary Message waiting status and messagesummaries from a messaging system 3842

    poc-settings Capabilities required by the Push-to-Talkover Cellular (PoC) service.

    4354

    presence Users availability and willingness tocommunicate with other users on thenetwork

    3856

    reg UAs registration state 3680refer Status of a REFER request 3515

    winfo Set of watchers subscribed to the UAspresence information

    3857

  • 7/27/2019 Sippktguide12 08.FINAL

    27/52

    www.tekelec.com 27

    Session Description Protocol (SDP)

    RFC4566The session description protocol is what describes the session beingrequested. The SDP is carried in the message body of a SIP request/response. Each attribute line consists of an attribute identified by asingle letter, followed by a value. The attributes defined for SDP are:

    Session Level Description

    v=protocol version: This is the version of SDP being used tocreate the SDP.

    o=owner/creator and session identifier: The identity of thesession initiator.

    s=session name: Optional name that can be given to the session.

    i=session information: Additional information that the creator ofthe session wishes to share with participants.

    u=URI of description: This contains the URI of a Web site thatmay contain additional information about the session.

    e=email address: This usually contains the e-mail address of thecreator, where participants can acquire more information.

    p=phone number: The contact phone number where moreinformation can be provided about the session.

    c=connection information: Additional information about theconnection for the session.

    b=bandwidth information: The amount of bandwidth to beprovided for the session.

    z=time zone adjustments: Any time zone adjustments to beconsidered.

    k=encryption keys: The encryption keys for the session.

    a=zero or more session attribute lines: The number of attributelines in the SDP.

    Time Description

    t=time the session is active: What time does the session start,for example.

    r=zero or more repeat times: How many times the sessionrepeats.

  • 7/27/2019 Sippktguide12 08.FINAL

    28/52

    SIP Pocket Guide28

    SDP Media Description

    RFC4566

    m=media name and transport address: Name of the media, ifapplicable.

    i=media title: Title of the media.

    c=connection information: Additional connection information.

    b=bandwidth information: Bandwidth required to support themedia.

    k=encryption key: Encryption keys required.

    a=zero or more attribute lines: Number of attribute linesprovided.

    SDP Media Attribute Lines (a=)

    RFC4566

    cat = category keywds = keywords

    tool = name and version of tool ptime = packet time

    maxptime = maximum packet time

    recvonly = receive-only mode

    sendrecv = send and receive mode

    orient = whiteboard orientation

    type = conference type charset = character set

    sdplang = language tag

    lang = language tag

    framerate = frame rate

    quality = quality

    fmtp = format-specific parameters rtpmap = rtpmap attribute

    curr = current status attribute

    des = desired-status attribute

    conf= confirm-status attribute

    mid = media stream identification attribute

    group = group attribute a = rtcp

  • 7/27/2019 Sippktguide12 08.FINAL

    29/52

    www.tekelec.com 29

    Warning Codes

    RFC3261 Section 27.2

    Note: Warning codes provide information supplemental to the status code in

    SIP response messages when the failure of the transaction results from aSession Description Protocol (SDP) problem.

    Code Description

    300 Incompatible network protocol: One or more networkprotocols contained in the session description are notavailable.

    301 Incompatible network address formats: One or morenetwork address formats contained in the sessiondescription are not available.

    302 Incompatible transport protocol: One or more transportprotocols described in the session description are notavailable.

    303 Incompatible bandwidth units: One or more bandwidth

    measurement units contained in the session descriptionwere not understood.

    304 Media type not available: One or more media typescontained in the session description are not available.

    305 Incompatible media format: One or more media formatscontained in the session description are not available.

    306 Attribute not understood: One or more of the media

    attributes in the session description are not supported.307 Session description parameter not understood:

    A parameter other than those listed above was notunderstood.

    330 Multicast not available: The site where the user is locateddoes not support multicast.

    331 Unicast is not available: The site where the user is locateddoes not support unicast communication (usually due tothe presence of a firewall).

    370 Insufficient bandwidth: The bandwidth specified in thesession description or defined by the media exceeds thatknown to be available.

    399 Miscellaneous warning: The warning text can includearbitrary information to be presented to a human user orlogged. A system receiving this warning MUST NOT takeany automated action.

  • 7/27/2019 Sippktguide12 08.FINAL

    30/52

    SIP Pocket Guide30

    Mapping Between the SIP SDP and SS7 USI/HLC(SIP Origination)

    Mapping Between SS7 USI and the SIP SDP(SS7 Origination)

    SIP SDP

    Media Line (m=) Bandwidth Line (b=) Access Line (a=)

    audio RTP/AVP 0 Nothing or 64 Kbps

    audio RTP/AVP 64 Kbps rtpmap PCMU/8000

    audio RTP/AVP 9 AS: 64 Kbps rtpmap: 9G. 722/8000

    audio RTP/AVP AS: 64 Kbps rtpmapCLEARMODE/8000

    image udptl t38 Up to 64 Kbps

    image tcptl t38 Up to 64 Kbps

    audio RTP/AVP 384Kbps rtpmapCLEARMODE/8000

    audio RTP/AVP 1472 Kbps rtpmapCLEARMODE/8000

    audio RTP/AVP 1536 Kbps rtpmap

    CLEARMODE/8000

    SS7 User Service Information

    Info TransferRate

    Info TransportCapability

    User InfoLayer 1ProtocolIndicator

    High-LayerCharacteristicsIdentification

    Speech Speech G.711 -law

    Speech Speech G.711 -law

    3.1 KHz audio 3.1 KHz audio G.711 -law Telephony(or no HLC)

    3.1 KHz audio 3.1 KHz audio FacsimileGroup 2/3

    3.1 KHz audio 3.1 KHz audio FacsimileGroup 2/3

    64 Kbpsunrestricted

    Unrestricted digitalinfo with toneannouncement

    64 Kbpsunrestricted

    Unrestricted digitalinfo

  • 7/27/2019 Sippktguide12 08.FINAL

    31/52

    www.tekelec.com 31

    SS7 User Service Information High-Layer

    CharacteristicsInfo TransferRate

    Info TransportCapability

    User InfoLayer 1ProtocolIndicator

    High-LayerCharacteristicsIdentification

    64 Kbps 3.1 KHz audio G.711 -law

    64 Kbps 3.1 KHz audio G.711 -law

    64 Kbps Unrestricted digitalinfo with tones andannouncements

    64 Kbps Unrestricted digitalinfo

    64 Kbps 3.1 KHz audio Facsimile Group2/3

    64 Kbps 3.1 KHz audio Facsimile Group2/3

    384 Kbps Unrestricted digitalinfo

    1472 Kbps Unrestricted digitalinfo

    1536 Kbps Unrestricted digital

    info

    SIP SDP

    Media Line (m=) Bandwidth (b=) Access Line (a=)

    audio RTP/AVP 0 AS : 64 rtpmap: 0PCMU/8000

    audio RTP/AVP 0 AS : 64 rtpmap:PCMU/8000

    audio RTP/AVP 0 AS : 64 rtpmap: 0PCMU/8000

    image udptl t38 AS : 64

    image tcptl t38 AS : 64

    audio RTP/AVP 9 AS : 64 rtpmap: 9G. 722/8000

    audio RTP/AVP AS : 64 rtpmap:CLEARMODE/8000

  • 7/27/2019 Sippktguide12 08.FINAL

    32/52

    SIP Pocket Guide32

    SIP Response to a Call Progress (CPG) Message

    Event Information/Event Indicator Parameters

    SIP Response

    000 0001 Alerting 180 Ringing000 0010 Progress 183 Session Progress

    000 0011 In-band info 183 Session Progress

    Mapping ISUP Cause Codesto SIP-I/SIP-T ResponsesITU-T Q.1912.5RFC3398

    ISUP Cause Code

    1 Unallocated number

    2 No route to network

    3 No route to destination

    4 Send special information tone

    5 Misdialed trunk prefix

    8 Preemption

    9 Preemption circuit reserved for re-use

    16 Normal call clearing

    17 User busy

    18 No user responding

    19 No answer from the user

    20 Subscriber absent

    21 Call rejected

    22 Number changed (w/o diagnostic)

    22 Number changed (w/ diagnostic)

    23 Redirection to new destination

    25 Exchange routing error

    26 Non-selected user clearing

    27 Destination out of order

    28 Invalid number format (address incomplete)

    29 Facility rejected

    31 Normal unspecified

    34 Resource unavailable

    34 No circuit available

    38 Resource unavailable

    38 Network out of order

    41 Resource unavailable

    41 Temporary failure

  • 7/27/2019 Sippktguide12 08.FINAL

    33/52

    www.tekelec.com 33

    Mapping ISUP Cause Codes to SIP-I/SIP-T Responses continues on page 34

    SIP-I Response SIP-T Response

    404 Not Found 404 Not Found

    500 Server Internal Error 404 Not Found

    500 Server Internal Error 404 Not Found

    500 Server Internal Error

    404 Not Found

    500 Server Internal Error (SIP-I Only)

    500 Server Internal Error (SIP-I Only)

    --- (*)

    486 Busy Here 486 Busy Here

    480 Temporarily Unavailable 408 Request Timeout

    480 Temporarily Unavailable 480 Temporarily Unavailable

    480 Temporarily Unavailable 480 Temporarily Unavailable

    480 Temporarily Unavailable 403 Forbidden (+)

    410 Gone 410 Gone

    301 Moved Permanently

    No Mapping 410 Gone

    480 Temporarily Unavailable

    404 Not Found (=)

    502 Bad Gateway 502 Bad Gateway

    484 Address Incomplete 484 Address Incomplete

    500 Server Internal Error 501 Not Implemented

    480 Temporarily Unavailable 480 Temporarily Unavailable

    480 Temporarily Unavailable

    503 Service Unavailable

    500 Server Internal Error

    503 Service Unavailable

    500 Server Internal Error

    503 Service Unavailable

  • 7/27/2019 Sippktguide12 08.FINAL

    34/52

    SIP Pocket Guide34

    ISUP Cause Code

    42 Resource unavailable

    42 Switching equipment congestion43 Resource unavailable

    44 Resource unavailable

    46 Resource unavailable

    47 Resource unavailable

    50 Requested facility not subscribed

    55 Incoming calls barred with CUG57 Bearer capability not authorized

    58 Bearer capability not presently available

    63 Service option not available, unspecified

    65 Service or option not implemented

    65 Bearer capability not implemented

    69 Service or option not implemented70 Service or option not implemented

    70 Only restricted digital avail

    79 Service or option not implemented

    87 User not member of CUG

    88 Incompatible destination

    90 Non-existent CUG91 Invalid transit network selection

    95 Invalid message, unspecified

    97 Message type non-existent or not implemented

    99 Info element/parameter non-existent or not implemented

    102 Recovery on timer expiry

    103 Parameter non-existent or not implemented, passed on110 Message with unrecognized parameter, discarded

    111 Protocol error, unspecified

    127 Interworking, unspecified

    Mapping ISUP Cause Codes to SIP-I/SIP-T Responses continued from page 32

  • 7/27/2019 Sippktguide12 08.FINAL

    35/52

    www.tekelec.com 35

    SIP-I Response SIP-T Response

    500 Server Internal Error

    503 Service Unavailable500 Server Internal Error

    500 Server Internal Error

    500 Server Internal Error

    500 Server Internal Error 503 Service Unavailable

    500 Server Internal Error

    500 Server Internal Error (SIP-I Only) 403 Forbidden500 Server Internal Error 403 Forbidden

    500 Server Internal Error 503 Service Unavailable

    500 Server Internal Error

    500 Server Internal Error

    488 Not Acceptable Here

    500 Server Internal Error500 Server Internal Error

    488 Not Acceptable Here

    500 Server Internal Error 501 Not Implemented

    500 Server Internal Error (SIP-I Only) 403 Forbidden

    500 Server Internal Error 503 Service Unavailable

    500 Server Internal Error (SIP-I Only)404 Not Found

    500 Server Internal Error

    500 Server Internal Error

    500 Server Internal Error

    480 Temporarily Unavailable 504 Gateway Timeout

    500 Server Internal Error500 Server Internal Error

    500 Server Internal Error 500 Server Internal Error

    480 Temporarily Unavailable 500 Server Internal Error

    (*) ISDN Cause 16 will usually result in a BYE or CANCEL

    (+) If the cause location is user then the 6xx code could be givenrather than the 4xx code (i.e., 403 becomes 603)

    (=) ANSI procedure in ANSI networks, 26 is overloaded to signifymisrouted ported number. Presumably, a number portability dipshould have been performed by a prior network. Otherwise cause26 is usually not used in ISUP procedures.

  • 7/27/2019 Sippktguide12 08.FINAL

    36/52

    SIP Pocket Guide36

    Mapping SIP-T Responses to ISUP Cause Codes continues on page 37

    Response Received Cause Value in the REL

    400 Bad request 41 Temporary failure401 Unauthorized 21 Call rejected (*)

    402 Payment required 21 Call rejected

    403 Forbidden 21 Call rejected

    404 Not found 1 Unallocated number

    405 Method not allowed 63 Service or option

    unavailable406 Not acceptable 79 Service/option not

    implemented (+)

    407 Proxy authentication required 21 Call rejected (*)

    408 Request timeout 102 Recovery on timer expiry

    410 Gone 22 Number changed(w/o diagnostic)

    413 Request entity too long 127 Interworking (+)

    414 Request-URI too long 127 Interworking (+)

    415 Unsupported media type 79 Service/option notimplemented (+)

    416 Unsupported URI scheme 127 Interworking (+)

    420 Bad extension 127 Interworking (+)

    421 Extension required 127 Interworking (+)423 Interval too brief 127 Interworking (+)

    480 Temporarily unavailable 18 No user responding

    481 Call/transaction does not exist 41 Temporary failure

    482 Loop detected 25 Exchange - routing error

    483 Too many hops 25 Exchange - routing error

    484 Address incomplete 28 Invalid number format (+)485 Ambiguous 1 Unallocated number

    486 Busy here 17 User busy

    487 Request terminated --- (no mapping)

    488 Not acceptable here --- by Warning header

    500 Server internal error 41 Temporary failure

    501 Not implemented 79 Not implemented,unspecified

    502 Bad gateway 38 Network out of order

    503 Service unavailable 41 Temporary failure

    504 Server time-out 102 Recovery on timer expiry

    504 Version not supported 127 Interworking (+)

    513 Message too large 127 Interworking (+)600 Busy everywhere 17 User busy

    Mapping SIP-T Responses to ISUP Cause CodesRFC3398

  • 7/27/2019 Sippktguide12 08.FINAL

    37/52

    www.tekelec.com 37

    Mapping SIP-T Responses to ISUP Cause Codes continued from page 36

    (*) In some cases, it may be possible for a SIP gateway to providecredentials to the SIP UAS that is rejecting an INVITE due toauthorization failure. If the gateway can authenticate itself, thenobviously it SHOULD do so and proceed with the call; only if the

    gateway cannot authenticate itself should cause code 21 be sent.(+) If at all possible, a SIP gateway SHOULD respond to these

    protocol errors by remedying unacceptable behavior andattempting to re-originate the session. Only if this provesimpossible should the SIP gateway fail the ISUP half of the call.

    When the Warning header is present in a SIP 606 or 488 message,there may be specific ISDN cause code mappings appropriate tothe Warning code. This document recommends that 31 Normal,unspecified SHOULD by default be used for most currently assignedWarning codes. If the Warning code speaks to an unavailable bearercapability, cause code 65 Bearer Capability Not Implemented is aRECOMMENDED mapping.

    Response Received Cause Value in the REL

    603 Decline 21 Call rejected

    604 Does not exist anywhere 1 Unallocated number606 Not acceptable --- by Warning header

  • 7/27/2019 Sippktguide12 08.FINAL

    38/52

    SIP Pocket Guide38

    Mapping SIP-I Responses to ISUP Cause Codes continues on page 39

    Mapping SIP-I Responses to ISUP Cause CodesITU-T Q.1912.5

    SIP-I Response ISUP Cause Code Remarks

    400 Bad Request 127 Interworking401 Unauthorized 127 Interworking Note 1

    402 Payment Required 127 Interworking

    403 Forbidden 127 Interworking

    404 Not Found 1 Unallocated number

    405 Method Not Allowed 127 Interworking

    406 Not Acceptable 127 Interworking407 Proxy Authentication

    Required127 Interworking Note 1

    408 Request Timeout 127 Interworking

    410 Gone 22 Number changed(without diagnostic)

    413 Request Entity Too Long 127 Interworking Note 1414 Request-URI Too Long 127 Interworking Note 1

    415 Unsupported Media Type 127 Interworking Note 1

    416 Unsupported URI Scheme 127 Interworking Note 1

    420 Bad Extension 127 Interworking Note 1

    421 Extension Required 127 Interworking Note 1

    423 Interval Too Brief 127 Interworking480 Temporarily Unavailable 20 Subscriber absent

    481 Call/Transaction DoesNot Exist

    127 Interworking

    482 Loop Detected 127 Interworking

    483 Too Many Hops 127 Interworking

    484 Address Incomplete 28 Invalid numberformat

    Note 1

    485 Ambiguous 127 Interworking

    486 Busy Here 17 User busy

    487 Request Terminated 127 Interworking or nomapping (Note 3)

    Note 2

    488 Not Acceptable Here 127 Interworking

    491 Request Pending No Mapping Note 2493 Undecipherable 127 Interworking

    500 Server Internal Error 127 Interworking

    501 Not Implemented 127 Interworking

    502 Bad Gateway 127 Interworking

    503 Service Unavailable 127 Interworking Note 1

    504 Server Timeout 127 Interworking

  • 7/27/2019 Sippktguide12 08.FINAL

    39/52

    www.tekelec.com 39

    NOTE 1 This response may be handled entirely on the SIP side; ifso, it is not interworked.

    NOTE 2 This response does not terminate a SIP dialog, but only aspecific transaction within it.

    NOTE 3 No mapping if the O-IWU previously issued a CANCEL

    request for the INVITE.

    Mapping SIP-I Responses to ISUP Cause Codes continued from page 38

    SIP-I Response ISUP Cause Code Remarks

    505 Version Not Supported 127 Interworking Note 1

    513 Message Too Large 127 Interworking580 Precondition Failure 127 Interworking Note 1

    600 Busy Everywhere 17 User busy

    603 Decline 21 Call rejected

    604 Does Not Exist Anywhere 1 Unallocated number

    606 Not Acceptable 127 Interworking

  • 7/27/2019 Sippktguide12 08.FINAL

    40/52

    SIP Pocket Guide40

    SIP Timers

    RFC3261

    Timer Value Section Meaning

    T1 500ms default Section 17.1.1.1 RTT EstimateT2 4s Section 17.1.2.2 The maximum

    retransmit intervalfor non-INVITErequests and INVITEresponses

    T4 5s Section 17.1.2.2 Maximum duration a

    message will remainin the network

    Timer A initially T1 Section 17.1.1.2 INVITE requestretransmit interval,for UDP only

    Timer B 64*T1 Section 17.1.1.2 INVITE transactiontimeout timer

    Timer C > 3min Section 16.6 Proxy INVITEtransaction timeout

    Timer D > 32s for UDP Section 17.1.1.2 Wait time for responseretransmits

    Timer E initially T1 Section 17.1.2.2 Non-INVITE requestretransmit interval,

    UDP onlyTimer F 64*T1 Section 17.1.2.2 Non-INVITE transactiontimeout timer

    Timer G initially T1 Section 17.2.1 INVITE responseretransmit interval

    Timer H 64*T1 Section 17.2.1 Wait time for ACKreceipt

    Timer I T4 for UDP Section 17.2.1 Wait time for ACKretransmits

    Timer J 64*T1 for UDP Section 17.2.2 Wait time fornon-INVITE requestretransmits

    Timer K T4 for UDP0s for TCP/SCTP

    Section 17.1.2.2 Wait time for responseretransmits

    Timer L 64*T1 draft-sparks-sip-invfix

    Wait time for INVITEretransmissions

    Timer M 64*T1 draft-sparks-sip-infix

    Wait time for2xx responseretransmissions andany additional 2xxresponses from other

    branches of the INVITEif it forked downstream

  • 7/27/2019 Sippktguide12 08.FINAL

    41/52

    www.tekelec.com 41

    INVITE Client Transaction

    draft-sparks-sip-invfix-02.txt

    Note: Transitions labeled with the event over the action to take

    Calling

    Proceeding

    Completed Accepted

    Terminated

    INVITE from TU

    INVITE sent

    Timer A firesReset A,INVITE sent

    2xx2xx to TU

    2xx2xx to TU

    2xx2xx to TU

    1xx1xx to TU

    1xx1xx to TU

    300-699ACK sentresponseto TU

    300-699ACK sent

    responseto TU

    300-699ACK sent

    Timer B firesor Transport Error

    inform TU

    Transport Errorinform TU

    Timer D fires Timer M fires

  • 7/27/2019 Sippktguide12 08.FINAL

    42/52

  • 7/27/2019 Sippktguide12 08.FINAL

    43/52

    www.tekelec.com 43

    Non-INVITE Client Transaction

    RFC3261

    Trying

    Proceeding

    Completed

    Terminated

    Request from TU

    send request

    Timer For Transport Errorinform TU

    1xxresponse to TU

    Timer Esend request

    200-699response to TU

    Timer For Transport Errorinform TU

    Timer K

    1xxresponse

    to TU

    Timer Esend request

    200-699response to TU

    Note: Transitions labeled with the event over the action to take

  • 7/27/2019 Sippktguide12 08.FINAL

    44/52

    SIP Pocket Guide44

    Non-INVITE Server Transaction

    RFC3261

    Trying

    Proceeding

    Completed

    Terminated

    Request received

    pass to TU

    1xx from TUsend response

    1xx from TUsend response

    200-699 from TUsend response

    Requestsend response

    Requestsend response

    Transport Error

    Inform TU

    Transport ErrorInform TU

    200-699 from TUsend response

    Note: Transitions labeled with the event over the action to take

  • 7/27/2019 Sippktguide12 08.FINAL

    45/52

    www.tekelec.com 45

    Elements and Architectures

    SIPProxy

    SIPProxy

    Phil RobertMEDIA

    example.com tekelec.com

    SIP

    BEARER

    Trapezoid Model

    Mechanics: Registration

    Phil Robert

    INVITE sip:[email protected]

    Address of Record (AoR)INVITE sip:[email protected]

    A Binding in Action

    SIP

    Proxy/Registrar

    REGISTER sip:tekelec.com

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

  • 7/27/2019 Sippktguide12 08.FINAL

    46/52

    SIP Pocket Guide46

    Mechanics: Location

    Phil

    RobertsDesk

    [example.com] [telco.com]

    3261rules

    StaticRoutes

    [tekelec.com]

    RegisteredBindings

    sip

    :5551212@telc

    o.c

    om

    sip

    :RjS

    @teke

    lec.com

    sip:RjS

    @tekelec.co

    m

    sip:[email protected]

    sip:[email protected]

    [gateway]

    RobertsCell

  • 7/27/2019 Sippktguide12 08.FINAL

    47/52

    www.tekelec.com 47

    Glossary of SIP Acronyms and Definitions

    AoR Address of record

    B2BUA Back-to-back user agent

    Binding Association between an address of record with one ormore contact addresses

    Dialog A peer-to-peer relationship between two user agentsthat persists for some time

    IETF Internet Engineering Task Force

    lr A URI parameter that indicates that RFC3261procedures for handling the Route header field arebeing followed

    Reliability Recovery from message delivery failure

    RFC IETF request for comments

    RTP Real-time transport protocol

    SDP Session description protocol

    Session An exchange of data between an association ofparticipants

    SIP Session Initiation Protocol

    TU Transaction user

    UA User agent

    UAC User agent client

    UAS User agent server

    URI Uniform resource identifier

    URL Uniform resource locator

    Usage Relationship between endpoints within a dialog

  • 7/27/2019 Sippktguide12 08.FINAL

    48/52

    SIP Pocket Guide48

    SIP References

    draft-ietf-sip-gruu-15.txt Obtaining and Using Globally Routable UserAgent (UA) URIs (GRUU) in the Session Initiation Protocol (SIP)

    draft-ietf-sip-ice-option-tag-02.txt Indicating Support for InteractiveConnectivity Establishment (ICE) in the Session Initiation Protocol (SIP)

    draft-sparks-sip-invfix-02.txt Correct transaction handling for 200responses to Session Initiation Protocol INVITE requests

    Internet Assigned Numbers Authority, http://www.iana.org

    The Internet Engineering Task Force, http://www.ietf.org

    ITU-T Q.1912.5 Interworking between Session Initiation Protocol (SIP)and Bearer Independent Call Control Protocol or ISDN User Part

    RFC1035 Domain Names - Implementation and Specification

    RFC2543 SIP: Session Initiation Protocol

    RFC2782 A DNS RR for Specifying the Location of Services (DNS SRV)

    RFC2976 The SIP INFO MethodRFC3261 SIP: Session Initiation Protocol

    RFC3262 Reliability of Provisional Responses in the Session InitiationProtocol (SIP)

    RFC3263 Session Initiation Protocol (SIP): Locating SIP Servers

    RFC3311 The Session Initiation Protocol (SIP) UPDATE Method

    RFC3312 Integration of Resource Management and SessionInitiation Protocol (SIP)

    RFC3313 Private Session Initiation Protocol (SIP) Extensions forMedia Authorization

    RFC3323 A Privacy Mechanism for the Session Initiation Protocol (SIP)

    RFC3325 Private Extensions to the Session Initiation Protocol

    (SIP) for Asserted Identity within Trusted NetworksRFC3326 The Reason Header Field for the Session Initiation Protocol

    (SIP)

    RFC3327 Session Initiation Protocol (SIP) Extension Header Field forRegistering Non-Adjacent Contacts

    RFC3329 Security Mechanism Agreement for the Session Initiation

    Protocol (SIP)RFC3403 Dynamic Delegation Discovery System (DDDS) Part Three:

    The Domain Name System (DNS) Database

    RFC3428 Session Initiation Protocol (SIP) Extension for InstantMessaging

    RFC3455 Private Header (P-Header) Extensions to the Session

    Initiation Protocol (SIP) for the 3rd-Generation PartnershipProject (3GPP)

    RFC3486 Compressing the Session Initiation Protocol (SIP)

  • 7/27/2019 Sippktguide12 08.FINAL

    49/52

    www.tekelec.com 49

    RFC3515 The Session Initiation Protocol (SIP) Refer Method

    RFC3596 DNS Extensions to Support IP Version 6

    RFC3603 Private Session Initiation Protocol (SIP) Proxy-to-Proxy

    Extensions for Supporting the PacketCable Distributed CallSignaling Architecture

    RFC3608 Session Initiation Protocol (SIP) Extension Header Field forService Route Discovery During Registration

    RFC3680 A Session Initiation Protocol (SIP) Event Package forRegistrations

    RFC3840 Indicating User Agent Capabilities in the Session InitiationProtocol (SIP)

    RFC3841 Caller Preferences for the Session Initiation Protocol (SIP)

    RFC3842 A Message Summary and Message Waiting IndicationEvent Package for the Session Initiation Protocol (SIP)

    RFC3856 A Presence Event Package for the Session InitiationProtocol (SIP)

    RFC3857 A Watcher Information Event Template-Package for theSession Initiation Protocol (SIP)

    RFC3891 The Session Initiation Protocol (SIP) Replaces Header

    RFC3892 The Session Initiation Protocol (SIP) Referred-By Mechanism

    RFC3903 Session Initiation Protocol (SIP) Extension for Event State

    PublicationRFC3911 The Session Initiation Protocol (SIP) Join Header

    RFC3959 The Early Session Disposition Type for the SessionInitiation Protocol (SIP)

    RFC4028 Session Timers in the Session Initiation Protocol (SIP)

    RFC4240 Basic Network Media Services with SIP

    RFC4244 An Extension to the Session Initiation Protocol (SIP) forRequest History Information

    RFC4354 A Session Initiation Protocol (SIP) Event Package and DataFormat for Various Settings in Support for the Push-to-Talkover Cellular (PoC) Service

    RFC4412 Communications Resource Priority for the Session Initiation

    Protocol (SIP)RFC4457 The Session Initiation Protocol (SIP)P-User-Database

    Private-Header (P-Header)

    RFC4458 Session Initiation Protocol (SIP) URIs for Applications suchas Voicemail and Interactive Voice Response (IVR)

    RFC4474 Enhancements for Authenticated Identity Management in

    the Session Initiation Protocol (SIP)RFC4488 Suppression of Session Initiation Protocol (SIP) REFER

    Method Implicit Subscription

  • 7/27/2019 Sippktguide12 08.FINAL

    50/52

    SIP Pocket Guide50

    RFC4538 Request Authorization through Dialog Identification in theSession Initiation Protocol (SIP)

    RFC4575 A Session Initiation Protocol (SIP) Event Package forConference State

    RFC4662 A Session Initiation Protocol (SIP) Event NotificationExtension for Resource Lists

    RFC4730 A Session Initiation Protocol(SIP) Event Package for KeyPress Stimulus (KPML)

    RFC4916 Connected Identity in the Session Initiation Protocol (SIP)

    RFC4967 Dial String Parameter for the Session Initiation ProtocolUniform Resource Identifier

    RFC5002 The Session Initiation Protocol (SIP)P-Profile-Key PrivateHeader (P-Header)

    RFC5009 Private Header (P-Header) Extension to the SessionInitiation Protocol (SIP) for Authorization of Early Media

    RFC5049 Applying Signaling Compression (SigComp) to the SessionInitiation Protocol (SIP)

    RFC5079 Rejecting Anonymous Requests in the Session InitiationProtocol (SIP)

    RFC5360 A Framework for Consent-based Communications in theSession Initiation Protocol (SIP)

    RFC5365 Multiple-Recipient MESSAGE Requests in the SessionInitiation Protocol (SIP)

    RFC5366 Conference Establishment Using Request-Contained Lists inthe Session Initiation Protocol (SIP)

    RFC5367 Subscriptions to Request-Contained Resource Lists in theSession Initiation Protocol (SIP)

    RFC5368 Referring to Multiple Resources in the Session InitiationProtocol (SIP)

    RFC5373 Requesting Answering Modes for the Session InitiationProtocol (SIP)

    Travis, Russell. The IP Multimedia Subsystem (IMS): SessionControl and Other Network Operations (New York: McGraw-HillCompanies, 2008)

    All RFCs and drafts may be found at http://tools.ietf.org/html/

    Even though the specifications herein may resemble specifications, descriptionsor requirements of third parties or portions thereof, nothing herein shall bedeemed, expressly or by implication, to be a warranty by such third parties oran endorsement by any of them or concurrence by any of them in anyrepresentation with respect to the SIP Pocket Guide developed by TEKELEC,its employees or agents.

    This material is for informational purposes only and subject to change without

    notification. The Tekelec logo is a registered trademark of Tekelec.

  • 7/27/2019 Sippktguide12 08.FINAL

    51/52

    www.tekelec.com 51

  • 7/27/2019 Sippktguide12 08.FINAL

    52/52

    Corporate inquiries:5200 Paramount ParkwayMorrisville, North Carolina 27560 (USA)Tel +1.919.460.5500Fax +1.919.460.0877

    Europe, Middle East and Africa inquiries:Katherine House85 The High StreetEgham, SurreyTW20 9HFUnited KingdomPhone: +44.1784.437000

    FAX: +44.1784.477121

    Singapore-Asia-Pacifc inquiries:Tekelec Singapore Pte Ltd15 Hoe Chiang Road#06-06 Tower 15

    Singapore 089316Phone: +65.6796.2288FAX: +65.6796.2299

    Caribbean and Latin America inquiries:Tekelec Caribbean & Latin America (CALA)5200 Paramount Parkway

    Morrisville, North Carolina 27560 (USA)Attn: Ricardo DiazTel: [email protected]

    www.tekelec.com