• No results found

SIP Pocket Guide. Exclusive reference guide for Session Initiation Protocol professionals. The Future of Signaling

N/A
N/A
Protected

Academic year: 2021

Share "SIP Pocket Guide. Exclusive reference guide for Session Initiation Protocol professionals. The Future of Signaling"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

SIP

Pocket

Guide

Exclusive reference

guide for Session Initiation

Protocol professionals

(2)

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, Tekelec’s 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 company’s 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 today’s 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 call

888.628.5521

or

+1.919.460.5500

(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 Priority Header Field . . . .15

URI Purposes . . . .15

SIP/SIPS URI Parameters . . . .16

SIP’s Use of DNS . . . .17

Types of DNS Resource Records. . . .18

NAPTR Records . . . .18

SRV Records . . . .19

DNS 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 . . . .32

Mapping 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 . . . .42

Non-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

(4)

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 of

a resource 3265

OPTIONS Queries a server about its capabilities 3261 PRACK Similar to ACK but for responding to

reliable provisional responses 3262 PUBLISH Publishes event state to a SIP events

server 3903

REFER Indicates that the recipient should contact a third party using contact information provided in the request

3515 REGISTER Registers contact information 3261 SUBSCRIBE Requests current state and state updates

from a remote node 3265

(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 1xx 100 Trying 180 Ringing

181 Call Is Being Forwarded 183 Session Progress Successful 2xx 200 OK 202 Accepted 3265 Redirection 3xx 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 305 Use Proxy 380 Alternative Service Request Failure 4xx 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable

407 Proxy Authentication Required 408 Request Timeout

410 Gone

412 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 4412 420 Bad Extension

421 Extension Required

422 Session Interval Too Small 4028 423 Interval Too Brief

(6)

Response Code RFC 429 Provide Referrer Identity 3892 433 Anonymity Disallowed 5079 436 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 Exist 482 Loop Detected

483 Too Many Hops 484 Address Incomplete 485 Ambiguous 486 Busy Here 487 Request Terminated 488 Not Acceptable Here

489 Bad Event 3265

493 Undecipherable

494 Security Agreement Required 3329 Server Failure 5xx

500 Server Internal Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Server Time-Out 505 Version Not Supported 513 Message Too Large

580 Precondition Failure 3312 Global Failures 6xx

600 Busy Everywhere 603 Decline

604 Does Not Exist Anywhere 606 Not Acceptable

(7)

INVITE/200

INVITE/200

Robert

Phil

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)

Robert

Phil

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 endpoint that its 2xx-class response has been received

• The messages at Phil’s UA are exactly the form as if it had talked directly to Robert’s UA

• Proxies can ask to see the ACK/200

• The messages at Phil’s UA are STILL exactly the form as if it had talked directly to Robert’s UA

(8)

Header Fields

Header Field Compact Used Where RFC

Accept Requests, 2xx, 415 3261 Accept-Contact a Requests 3841 Accept-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 4028 Organization 3261

(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-Function Address 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 4457 P-Visited-Network-ID Requests 3455 Path Requests, 2xx 3327 Permission-Missing 5360 Permission-Missing 470 5360 Priority Requests 3261 Priv-Answer-Mode Requests, 200 5373 Privacy 3323 Proxy-Authenticate 407, 401 3261 Proxy-Authorization Requests 3261 Proxy-Require Requests 3261 RAck Requests 3262 Reason 3326 Record-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 3891 Reply-To 3261

(10)

Header Fields continued from page 9

The “where” column describes the request and response types in which 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 response codes 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 header field may be present in all requests and responses.

Header Field Compact Used Where RFC

Request-Disposition d Requests 3841 Require 3261 Resource-Priority Requests 4412 Response-Key -Deprecated- 2543 Retry-After 404, 413, 480, 486, 500, 503, 600, 603 3261 Route Requests 3261 Rseq 1xx 3262 Security-Client Requests 3329 Security-Server 421, 494 3329 Security-Verify Requests 3329 Server Responses 3261 Service-Route 2xx 3608 Session-Expires x Requests, 2xx 4028 SIP-ETag 2xx 3903 SIP-If-Match Requests 3903 Subject s Requests 3261 Subscription-State Requests 3265 Supported k Requests, 2xx 3261 Target-Dialog Requests 4538 Timestamp 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

(11)

Header Fields – Compact Forms

Header Field Parameters and Parameter Values continues on page 12 Compact Header Field

a Accept-Contact b Referred-By c Content-Type d Request-Disposition e Content-Encoding i Call-ID j Reject-Contact k Supported l Content-Length m Contact n Identity-Info o Event r Refer-To s Subject t To u Allow-Events x Session-Expires y Identity

Header Field Reference Parameter

Name Predefined Values

Accept q No

Accept-Encoding q No

Accept-Language q No

Answer-Mode auto No

Answer-Mode auto; require No

Answer-Mode manual No

Answer-Mode manual; require No

Authorization (3310) algorithm Yes

Authorization (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 Values

Reference is provided only if it is different from the original header field reference. See the Header Fields table.

(12)

Header Field Parameters and Parameter Values continues on page 13 Header Field Parameters and Parameter Values continued from page 11

Header Field Reference Parameter

Name Predefined Values

Authorization uri No

Authorization username No

Authentication-Info cnonce No

Authentication-Info nc No

Authentication-Info nextnonce No

Authentication-Info qop Yes

Authentication-Info rspauth No

Call-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 No

Content-Disposition handling Yes

Event (4235) call-id No Event (4235) from-tag No Event id No Event (4235) include-session description 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

(13)

Header Field Parameters and Parameter Values continues on page 14 Header Field Parameters and Parameter Values continued from page 12

Header Field Reference Parameter

Name Predefined Values

Priv-Answer-Mode auto No

Priv-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 No

Proxy-Authenticate opaque No

Proxy-Authenticate qop Yes

Proxy-Authenticate realm No

Proxy-Authenticate stale Yes

Proxy-Authorization (3310) algorithm Yes

Proxy-Authorization (3310) auts No

Proxy-Authorization cnonce No

Proxy-Authorization nc No

Proxy-Authorization nonce No

Proxy-Authorization opaque No

Proxy-Authorization qop Yes

Proxy-Authorization realm No

Proxy-Authorization uri No

Proxy-Authorization username No

Proxy-Authorization response No

Reason cause Yes

Reason text No

Retry-After duration No

Security-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 Yes

Security-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

(14)

Header Field Parameters and Parameter Values continued from page 13 Header Field Reference Parameter

Name Predefined Values

Security-Server d-qop Yes

Security-Server d-ver No

Security-Server mod Yes

Security-Server port1 No

Security-Server port2 No

Security-Server prot Yes

Security-Server q No

Security-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 No

Security-Verify mod Yes

Security-Verify port1 No

Security-Verify port2 No

Security-Verify prot Yes

Security-Verify q No

Security-Verify spi No

Subscription-State expires No

Subscription-State reason Yes

Subscription-State retry-after No Target-Dialog local-tag No Target-Dialog remote-tag No To tag No Trigger-Consent target-uri No Via branch No

Via (3486) comp Yes

Via maddr No

Via received No

Via (3581) rport No

Via (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

(15)

Namespaces and Priority Values for the

Resource Priority Header Field

Handling 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 streamed

conference data.

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

recording The URI can be used to access the recorded conference data.

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

RFC4575 Mechanism Name Description

digest HTTP digest authentication

tls Transport Layer Security

ipsec-ike IPsec with Internet Key Exchange ipsec-man Manually keyed IPsec without IKE ipsec-3gpp IPsec with either MD5 or SHA-1, used in

3GPP IMS networks

(16)

SIP/SIPS URI Parameters

Parameter

Name Predefined Values 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-compliant

routing

maddr No 3261 Server address to be contacted for the user method Yes 3261 Specifies the method of the

SIP request constructed from the 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/SigComp

application

target No 4458 Indicates the address of the retargeting entity transport Yes 3261 Transport mechanism to

be used for sending SIP messages

ttl No 3261 Time-to-live value of the UDP multicast packet

user Yes 3261,

4967 Distinguishes telephone numbers from the usernames that look like telephone numbers

voicexml No 4240 Indicates the URI of the VoiceXML script to execute

gr No draft

ietf-sip- gruu

(17)

SIP’s Use of DNS

RFC3263 Is address explicit? Is port explicit? Is transport explicit? Yes No No No Yes Yes Use the discovered address, port & transport to contact the server Use 5060 Use given address Use given port Use UDP Use given transport Is port explicit? Is transport explicit? Yes Yes No No Yes Use given port Is transport explicit? No Use given transport Do NAPTR Lookup Use given transport Do A/AAAA Lookups Use UDP Do SRV Lookups Use 5060

(18)

Types of DNS Resource Records

NAPTR Records

Type Description RFC

NAPTR Naming authority pointer record.

Provides the discovery of the server’s preferred transport protocol supported by the client. Returns a name to look up in SRV records for the server.

3403

SRV Server selection record.

Provides load balancing across SIP servers. Returns the IP ports, names of servers to lookup in A 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 which to process multiple NAPTR records for a name. Processing stops once a suitable record is found. Preference The order, from lowest to highest, in which to

process multiple NAPTR records with the same order value. Higher numbered records can be tried if lower numbered records fail or aren’t acceptable in some other way.

Flags Always “s” for SIP, which means to do an SRV lookup on 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 TCP Regexp 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

(19)

DNS Example

_sip._udp.naptr-udp.tekelec.com. 600 IN SRV 10 1 5060 lt.tekelec.com weight protocol target service priority port SRV Field Description

Service 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 is selected.

$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 don’t support NAPTR

(20)

Option Tags for SIP Extensions

Option Tag Supported Extension Used in the Following Header Fields RFC

100rel Reliability of provisional responses Supported – indicates that the UA can send or receive reliable provisional responses. Require in a request – indicates that the UAS must send all provisional responses reliably. Require in a reliable provisional response – indicates that the response is to be sent reliably.

3262

answermode Answer-Mode and Priv-Answer-Mode Supported – indicates the UA supports automatic or manual answering of a request.

Require – indicates that the UA has to

understand the extension when placed in an INVITE. Accept-Contact – the extension parameter “answermode” is placed in this header field when the Require header field is used.

5373

early-session Early-session content disposition Supported – indicates that a UA understands the early-session content-disposition type.

Require – indicates that a UA requires the early- session disposition type.

3959

eventlist Subscriptions to lists of resources Supported in a SUBSCRIBE – indicates that the UA is willing to process a list.

Require in responses to a SUBSCRIBE and in all NOTIFYs within that subscription – indicates that the UA has subscribed to an event list.

4662

from-change Connected identity Supported – indicates that a UA supports

changes to URIs in From and To header fields during a dialog.

4916 gruu Globally Routable User Agent URI

(GRUU) Supported – indicates that a UA understands the extension. Require in a REGISTER request – indicates that the registrar is not expected to process the registration unless it supports the GRUU extension.

draft-ietf- sip-gruu

histinfo History-Info header field Supported – indicates support for the History Information to be captured for requests and returned in subsequent responses.

4244 ice Interactive Connectivity Establishment

(ICE) Require – indicates that ICE is required by an agent. Support is indicated by placing a media feature tag in the Contact header field.

ietf-sip-ice-option-tag

join Join header field Supported – indicates that the UA supports the

Join header field.

Require – indicates that the UA wants explicit failure notification if Join is not supported.

(21)

Option Tag Supported Extension Used in the Following Header Fields RFC 100rel Reliability of provisional responses Supported – indicates that the UA can send or

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

3262

answermode Answer-Mode and Priv-Answer-Mode Supported – indicates the UA supports automatic or manual answering of a request.

Require – indicates that the UA has to

understand the extension when placed in an INVITE. Accept-Contact – the extension parameter “answermode” is placed in this header field when the Require header field is used.

5373

early-session Early-session content disposition Supported – indicates that a UA understands the early-session content-disposition type.

Require – indicates that a UA requires the early- session disposition type.

3959

eventlist Subscriptions to lists of resources Supported in a SUBSCRIBE – indicates that the UA is willing to process a list.

Require in responses to a SUBSCRIBE and in all NOTIFYs within that subscription – indicates that the UA has subscribed to an event list.

4662

from-change Connected identity Supported – indicates that a UA supports

changes to URIs in From and To header fields during a dialog.

4916 gruu Globally Routable User Agent URI

(GRUU) Supported – indicates that a UA understands the extension. Require in a REGISTER request – indicates that the registrar is not expected to process the registration unless it supports the GRUU extension.

draft-ietf- sip-gruu

histinfo History-Info header field Supported – indicates support for the History Information to be captured for requests and returned in subsequent responses.

4244 ice Interactive Connectivity Establishment

(ICE) Require – indicates that ICE is required by an agent. Support is indicated by placing a media feature tag in the Contact header field.

ietf-sip-ice-option-tag

join Join header field Supported – indicates that the UA supports the

Join header field.

Require – indicates that the UA wants explicit failure notification if Join is not supported.

3911

(22)

Option Tags for SIP Extensions continued from page 20

Option Tag Supported Extension Used in the Following Header Fields RFC

multiple-refer REFER method refers to multiple

resources in a single request Supported – the UA can handle multiple resources in a REFER request. Require – indicates the REFER request contains a pointer to a URI list in the Refer-To header field and the body contains a resource list document describing multiple REFER targets.

5368

norefersub Suppression of implicit subscriptions Supported – indicates that a UA can accept a REFER request without establishing an implicit subscription. Require – can be present with the Refer-Sub: false header field.

4488

path Path header field Supported – UA supports the Path header field.

If found in a REGISTER request, intermediate proxies can determine whether to offer Path service for that request.

Require – added if an intermediate proxy requires that the registrar support Path for a request.

3327

precondition Preconditions for session establishment Supported – indicates that the offer contains only “optional” or “none” strength-tags.

Require – indicates that the offer contains one or more “mandatory” strength-tags, or only “optional” or “none” strength-tags.

3312

pref Caller preferences Require of a REGISTER – ensures that the registrar

supports caller preferences extensions. 3840

privacy Privacy mechanism Proxy-Require – indicates that proxy servers do

not forward the request unless they can provide the requested privacy service. Proxies remove this option tag before forwarding the request if the desired privacy function has been performed.

3323

recipient-list-invite Conference establishment using

request-contained lists Supported – added to the response to an OPTIONs request when the conference server can handle INVITEs with a ‘recipient-list’ body. Require – added to an INVITE when the UAC includes the set of participants in the body of its request to create an ad-hoc conference.

5366

recipient-list-message Multiple recipient MESSAGE requests Supported – added to the response to an OPTIONs request when the UA can handle MESSAGEs with a ‘recipient-list’ body.

Require – added to a MESSAGE when the UAC includes the set of recipients in the body.

(23)

Option Tag Supported Extension Used in the Following Header Fields RFC multiple-refer REFER method refers to multiple

resources in a single request Supported – the UA can handle multiple resources in a REFER request. Require – indicates the REFER request contains a pointer to a URI list in the Refer-To header field and the body contains a resource list document describing multiple REFER targets.

5368

norefersub Suppression of implicit subscriptions Supported – indicates that a UA can accept a REFER request without establishing an implicit subscription. Require – can be present with the Refer-Sub: false header field.

4488

path Path header field Supported – UA supports the Path header field.

If found in a REGISTER request, intermediate proxies can determine whether to offer Path service for that request.

Require – added if an intermediate proxy requires that the registrar support Path for a request.

3327

precondition Preconditions for session establishment Supported – indicates that the offer contains only “optional” or “none” strength-tags.

Require – indicates that the offer contains one or more “mandatory” strength-tags, or only “optional” or “none” strength-tags.

3312

pref Caller preferences Require of a REGISTER – ensures that the registrar

supports caller preferences extensions. 3840

privacy Privacy mechanism Proxy-Require – indicates that proxy servers do

not forward the request unless they can provide the requested privacy service. Proxies remove this option tag before forwarding the request if the desired privacy function has been performed.

3323

recipient-list-invite Conference establishment using

request-contained lists Supported – added to the response to an OPTIONs request when the conference server can handle INVITEs with a ‘recipient-list’ body. Require – added to an INVITE when the UAC includes the set of participants in the body of its request to create an ad-hoc conference.

5366

recipient-list-message Multiple recipient MESSAGE requests Supported – added to the response to an OPTIONs request when the UA can handle MESSAGEs with a ‘recipient-list’ body.

Require – added to a MESSAGE when the UAC includes the set of recipients in the body.

5365

(24)

Option Tag Supported Extension Used in the Following Header Fields RFC recipient-list-subscribe Subscriptions to request-contained

resource lists Supported – added to the response to an OPTIONs request when the server can handle SUBSCRIBEs with a ‘recipient-list’ body.

Require – added to a SUBSCRIBE when the UAC creates a resource list that it wants to subscribe to and includes the set of recipients in the body.

5367

replaces Replaces header field Supported – indicates the UA supports the Replaces header field.

Require – indicates the UA wants explicit failure notification when the Replaces header field is not supported.

3891

resource-priority Resource-Priority and Accept-

Resource-Priority header fields Supported in OPTIONS – indicates the UA supports the resource-priority mechanism for emergency communications.

Require – indicates that the UA wants explicit failure notification if resource priority is not supported.

4412

sdp-anat Alternative network address types of

the SDP grouping framework Supported – indicates that the UA understands the ANAT semantics as defined in RFC4091. Require – indicates that the UA has generated an offer that uses ANAT semantics.

4092

sec-agree Security agreement mechanism Supported – indicates that the UAC supports the security agreement mechanism.

Require or Proxy-Require – indicates that proxy servers are required to use the security agreement mechanism.

Require in 494 or 421 responses – indicates that the UAC must use the security agreement mechanism.

3329

tdialog Target-Dialog header field Supported – indicates the UA supports Target-Dialog header field.

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

4538

timer Session timers Supported – indicates that the UA can perform

refreshes according to 4028.

Require in a request – means that the UAS must understand the session timer extension to process the request.

Require in a response – indicates that the UAC must look for the Session-Expires header field in the response, and process accordingly.

4028 Option Tags for SIP Extensions continued from page 22

(25)

Option Tag Supported Extension Used in the Following Header Fields RFC recipient-list-subscribe Subscriptions to request-contained

resource lists Supported – added to the response to an OPTIONs request when the server can handle SUBSCRIBEs with a ‘recipient-list’ body.

Require – added to a SUBSCRIBE when the UAC creates a resource list that it wants to subscribe to and includes the set of recipients in the body.

5367

replaces Replaces header field Supported – indicates the UA supports the Replaces header field.

Require – indicates the UA wants explicit failure notification when the Replaces header field is not supported.

3891

resource-priority Resource-Priority and Accept-

Resource-Priority header fields Supported in OPTIONS – indicates the UA supports the resource-priority mechanism for emergency communications.

Require – indicates that the UA wants explicit failure notification if resource priority is not supported.

4412

sdp-anat Alternative network address types of

the SDP grouping framework Supported – indicates that the UA understands the ANAT semantics as defined in RFC4091. Require – indicates that the UA has generated an offer that uses ANAT semantics.

4092

sec-agree Security agreement mechanism Supported – indicates that the UAC supports the security agreement mechanism.

Require or Proxy-Require – indicates that proxy servers are required to use the security agreement mechanism.

Require in 494 or 421 responses – indicates that the UAC must use the security agreement mechanism.

3329

tdialog Target-Dialog header field Supported – indicates the UA supports Target-Dialog header field.

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

4538

timer Session timers Supported – indicates that the UA can perform

refreshes according to 4028.

Require in a request – means that the UAS must understand the session timer extension to process the request.

Require in a response – indicates that the UAC must look for the Session-Expires header field in the response, and process accordingly.

(26)

SIP Events

Package

Name Subscription RFC

conference URI for a conference to learn about other

members and conference components 4575 dialog Users and their changes of state of

INVITE-initiated dialog usages in which they are involved

4235 kpml Dual Tone Multi-Frequency (DTMF) signals

for supplemental or mid-call key presses (triggers) entered at the UA. The Key Press Markup Language (KPML) documents (XML) sent in the SUBSCRIBE define and describe filter specifications for capturing key presses. The KPML documents sent in the NOTIFYs report the captured key presses that match the filter criteria to an application server.

4730

message-summary Message waiting status and message summaries from a messaging system 3842 poc-settings Capabilities required by the Push-to-Talk

over Cellular (PoC) service. 4354 presence Users’ availability and willingness to

communicate with other users on the network

3856

reg UA’s registration state 3680

refer Status of a REFER request 3515

winfo Set of watchers subscribed to the UA’s

(27)

Session Description Protocol (SDP)

RFC4566

The session description protocol is what describes the session being requested. The SDP is carried in the message body of a SIP request/ response. Each attribute line consists of an attribute identified by a single 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 to create the SDP.

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

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

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

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

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

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

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

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

z=time zone adjustments: Any time zone adjustments to be considered.

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

a=zero or more session attribute lines: The number of attribute lines 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 session repeats.

(28)

SDP Media Description RFC4566

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

i=media title: Title of the media.

c=connection information: Additional connection information.

b=bandwidth information: Bandwidth required to support the media.

k=encryption key: Encryption keys required.

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

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

(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 a Session Description Protocol (SDP) problem.

Code Description

300 Incompatible network protocol: One or more network protocols contained in the session description are not available.

301 Incompatible network address formats: One or more network address formats contained in the session description are not available.

302 Incompatible transport protocol: One or more transport protocols described in the session description are not available.

303 Incompatible bandwidth units: One or more bandwidth measurement units contained in the session description were not understood.

304 Media type not available: One or more media types contained in the session description are not available. 305 Incompatible media format: One or more media formats

contained 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 not understood.

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

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

370 Insufficient bandwidth: The bandwidth specified in the session description or defined by the media exceeds that known to be available.

399 Miscellaneous warning: The warning text can include arbitrary information to be presented to a human user or logged. A system receiving this warning MUST NOT take any automated action.

(30)

Mapping Between the SIP SDP and SS7 USI/HLC

(SIP Origination)

Mapping Between SS7 USI and the SIP SDP

(SS7 Origination)

SIP SDP SS7 User Service Information High-Layer

Characteristics Media Line (m=) Bandwidth Line (b=) Access Line (a=) Info Transfer

Rate Info Transport Capability User Info Layer 1 Protocol Indicator

High-Layer Characteristics Identification

audio RTP/AVP 0 Nothing or 64 Kbps 64 Kbps 3.1 KHz audio G.711 μ-law

audio RTP/AVP 64 Kbps rtpmap PCMU/8000 64 Kbps 3.1 KHz audio G.711 μ-law

audio RTP/AVP 9 AS: 64 Kbps rtpmap: 9

G. 722/8000 64 Kbps Unrestricted digital info with tones and announcements audio RTP/AVP AS: 64 Kbps rtpmap

CLEARMODE/8000 64 Kbps Unrestricted digital info

image udptl t38 Up to 64 Kbps 64 Kbps 3.1 KHz audio Facsimile Group

2/3

image tcptl t38 Up to 64 Kbps 64 Kbps 3.1 KHz audio Facsimile Group

2/3

audio RTP/AVP 384Kbps rtpmap

CLEARMODE/8000 384 Kbps Unrestricted digital info

audio RTP/AVP 1472 Kbps rtpmap

CLEARMODE/8000 1472 Kbps Unrestricted digital info

audio RTP/AVP 1536 Kbps rtpmap

CLEARMODE/8000 1536 Kbps Unrestricted digital info

SS7 User Service Information SIP SDP

Info Transfer

Rate Info Transport Capability User Info Layer 1 Protocol Indicator

High-Layer Characteristics Identification

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

Speech Speech G.711 μ-law audio RTP/AVP 0 AS : 64 rtpmap: 0

PCMU/8000

Speech Speech G.711 μ-law audio RTP/AVP 0 AS : 64 rtpmap:

PCMU/8000 3.1 KHz audio 3.1 KHz audio G.711 μ-law Telephony

(or no HLC) audio RTP/AVP 0 AS : 64 rtpmap: 0 PCMU/8000 3.1 KHz audio 3.1 KHz audio Facsimile

Group 2/3 image udptl t38 AS : 64

3.1 KHz audio 3.1 KHz audio Facsimile

Group 2/3 image tcptl t38 AS : 64

64 Kbps

unrestricted Unrestricted digital info with tone announcement

audio RTP/AVP 9 AS : 64 rtpmap: 9

G. 722/8000 64 Kbps

(31)

SIP SDP SS7 User Service Information High-Layer Characteristics Media Line (m=) Bandwidth Line (b=) Access Line (a=) Info Transfer

Rate Info Transport Capability User Info Layer 1 Protocol Indicator

High-Layer Characteristics Identification

audio RTP/AVP 0 Nothing or 64 Kbps 64 Kbps 3.1 KHz audio G.711 μ-law

audio RTP/AVP 64 Kbps rtpmap PCMU/8000 64 Kbps 3.1 KHz audio G.711 μ-law

audio RTP/AVP 9 AS: 64 Kbps rtpmap: 9

G. 722/8000 64 Kbps Unrestricted digital info with tones and announcements audio RTP/AVP AS: 64 Kbps rtpmap

CLEARMODE/8000 64 Kbps Unrestricted digital info

image udptl t38 Up to 64 Kbps 64 Kbps 3.1 KHz audio Facsimile Group

2/3

image tcptl t38 Up to 64 Kbps 64 Kbps 3.1 KHz audio Facsimile Group

2/3

audio RTP/AVP 384Kbps rtpmap

CLEARMODE/8000 384 Kbps Unrestricted digital info

audio RTP/AVP 1472 Kbps rtpmap

CLEARMODE/8000 1472 Kbps Unrestricted digital info

audio RTP/AVP 1536 Kbps rtpmap

CLEARMODE/8000 1536 Kbps Unrestricted digital info

SS7 User Service Information SIP SDP

Info Transfer

Rate Info Transport Capability User Info Layer 1 Protocol Indicator

High-Layer Characteristics Identification

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

Speech Speech G.711 μ-law audio RTP/AVP 0 AS : 64 rtpmap: 0

PCMU/8000

Speech Speech G.711 μ-law audio RTP/AVP 0 AS : 64 rtpmap:

PCMU/8000 3.1 KHz audio 3.1 KHz audio G.711 μ-law Telephony

(or no HLC) audio RTP/AVP 0 AS : 64 rtpmap: 0 PCMU/8000 3.1 KHz audio 3.1 KHz audio Facsimile

Group 2/3 image udptl t38 AS : 64

3.1 KHz audio 3.1 KHz audio Facsimile

Group 2/3 image tcptl t38 AS : 64

64 Kbps

unrestricted Unrestricted digital info with tone announcement

audio RTP/AVP 9 AS : 64 rtpmap: 9

G. 722/8000 64 Kbps

(32)

SIP Response to a Call Progress (CPG) Message

Event Information/

Event Indicator Parameters SIP Response

000 0001 Alerting 180 Ringing

000 0010 Progress 183 Session Progress 000 0011 In-band info 183 Session Progress

Mapping ISUP Cause Codes

to SIP-I/SIP-T Responses

ITU-T Q.1912.5 RFC3398

ISUP Cause Code SIP-I Response SIP-T Response

1 Unallocated number 404 Not Found 404 Not Found

2 No route to network 500 Server Internal Error 404 Not Found

3 No route to destination 500 Server Internal Error 404 Not Found

4 Send special information tone 500 Server Internal Error

5 Misdialed trunk prefix 404 Not Found

8 Preemption 500 Server Internal Error (SIP-I Only)

9 Preemption circuit reserved for re-use 500 Server Internal Error (SIP-I Only)

16 Normal call clearing --- (*)

17 User busy 486 Busy Here 486 Busy Here

18 No user responding 480 Temporarily Unavailable 408 Request Timeout

19 No answer from the user 480 Temporarily Unavailable 480 Temporarily Unavailable

20 Subscriber absent 480 Temporarily Unavailable 480 Temporarily Unavailable

21 Call rejected 480 Temporarily Unavailable 403 Forbidden (+)

22 Number changed (w/o diagnostic) 410 Gone 410 Gone

22 Number changed (w/ diagnostic) 301 Moved Permanently

23 Redirection to new destination No Mapping 410 Gone

25 Exchange routing error 480 Temporarily Unavailable

26 Non-selected user clearing 404 Not Found (=)

27 Destination out of order 502 Bad Gateway 502 Bad Gateway

28 Invalid number format (address incomplete) 484 Address Incomplete 484 Address Incomplete

29 Facility rejected 500 Server Internal Error 501 Not Implemented

31 Normal unspecified 480 Temporarily Unavailable 480 Temporarily Unavailable

34 Resource unavailable 480 Temporarily Unavailable

34 No circuit available 503 Service Unavailable

38 Resource unavailable 500 Server Internal Error

38 Network out of order 503 Service Unavailable

41 Resource unavailable 500 Server Internal Error

(33)

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

Mapping ISUP Cause Codes

to SIP-I/SIP-T Responses

ITU-T Q.1912.5 RFC3398

ISUP Cause Code SIP-I Response SIP-T Response

1 Unallocated number 404 Not Found 404 Not Found

2 No route to network 500 Server Internal Error 404 Not Found

3 No route to destination 500 Server Internal Error 404 Not Found

4 Send special information tone 500 Server Internal Error

5 Misdialed trunk prefix 404 Not Found

8 Preemption 500 Server Internal Error (SIP-I Only)

9 Preemption circuit reserved for re-use 500 Server Internal Error (SIP-I Only)

16 Normal call clearing --- (*)

17 User busy 486 Busy Here 486 Busy Here

18 No user responding 480 Temporarily Unavailable 408 Request Timeout

19 No answer from the user 480 Temporarily Unavailable 480 Temporarily Unavailable

20 Subscriber absent 480 Temporarily Unavailable 480 Temporarily Unavailable

21 Call rejected 480 Temporarily Unavailable 403 Forbidden (+)

22 Number changed (w/o diagnostic) 410 Gone 410 Gone

22 Number changed (w/ diagnostic) 301 Moved Permanently

23 Redirection to new destination No Mapping 410 Gone

25 Exchange routing error 480 Temporarily Unavailable

26 Non-selected user clearing 404 Not Found (=)

27 Destination out of order 502 Bad Gateway 502 Bad Gateway

28 Invalid number format (address incomplete) 484 Address Incomplete 484 Address Incomplete

29 Facility rejected 500 Server Internal Error 501 Not Implemented

31 Normal unspecified 480 Temporarily Unavailable 480 Temporarily Unavailable

34 Resource unavailable 480 Temporarily Unavailable

34 No circuit available 503 Service Unavailable

38 Resource unavailable 500 Server Internal Error

38 Network out of order 503 Service Unavailable

41 Resource unavailable 500 Server Internal Error

(34)

ISUP Cause Code SIP-I Response SIP-T Response

42 Resource unavailable 500 Server Internal Error

42 Switching equipment congestion 503 Service Unavailable

43 Resource unavailable 500 Server Internal Error

44 Resource unavailable 500 Server Internal Error

46 Resource unavailable 500 Server Internal Error

47 Resource unavailable 500 Server Internal Error 503 Service Unavailable

50 Requested facility not subscribed 500 Server Internal Error

55 Incoming calls barred with CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden

57 Bearer capability not authorized 500 Server Internal Error 403 Forbidden

58 Bearer capability not presently available 500 Server Internal Error 503 Service Unavailable 63 Service option not available, unspecified 500 Server Internal Error

65 Service or option not implemented 500 Server Internal Error

65 Bearer capability not implemented 488 Not Acceptable Here

69 Service or option not implemented 500 Server Internal Error

70 Service or option not implemented 500 Server Internal Error

70 Only restricted digital avail 488 Not Acceptable Here

79 Service or option not implemented 500 Server Internal Error 501 Not Implemented

87 User not member of CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden

88 Incompatible destination 500 Server Internal Error 503 Service Unavailable

90 Non-existent CUG 500 Server Internal Error (SIP-I Only)

91 Invalid transit network selection 404 Not Found

95 Invalid message, unspecified 500 Server Internal Error

97 Message type non-existent or not implemented 500 Server Internal Error 99 Info element/parameter non-existent or not implemented 500 Server Internal Error

102 Recovery on timer expiry 480 Temporarily Unavailable 504 Gateway Timeout

103 Parameter non-existent or not implemented, passed on 500 Server Internal Error 110 Message with unrecognized parameter, discarded 500 Server Internal Error

111 Protocol error, unspecified 500 Server Internal Error 500 Server Internal Error

127 Interworking, unspecified 480 Temporarily Unavailable 500 Server Internal Error

(35)

ISUP Cause Code SIP-I Response SIP-T Response

42 Resource unavailable 500 Server Internal Error

42 Switching equipment congestion 503 Service Unavailable

43 Resource unavailable 500 Server Internal Error

44 Resource unavailable 500 Server Internal Error

46 Resource unavailable 500 Server Internal Error

47 Resource unavailable 500 Server Internal Error 503 Service Unavailable

50 Requested facility not subscribed 500 Server Internal Error

55 Incoming calls barred with CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden

57 Bearer capability not authorized 500 Server Internal Error 403 Forbidden

58 Bearer capability not presently available 500 Server Internal Error 503 Service Unavailable 63 Service option not available, unspecified 500 Server Internal Error

65 Service or option not implemented 500 Server Internal Error

65 Bearer capability not implemented 488 Not Acceptable Here

69 Service or option not implemented 500 Server Internal Error

70 Service or option not implemented 500 Server Internal Error

70 Only restricted digital avail 488 Not Acceptable Here

79 Service or option not implemented 500 Server Internal Error 501 Not Implemented

87 User not member of CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden

88 Incompatible destination 500 Server Internal Error 503 Service Unavailable

90 Non-existent CUG 500 Server Internal Error (SIP-I Only)

91 Invalid transit network selection 404 Not Found

95 Invalid message, unspecified 500 Server Internal Error

97 Message type non-existent or not implemented 500 Server Internal Error 99 Info element/parameter non-existent or not implemented 500 Server Internal Error

102 Recovery on timer expiry 480 Temporarily Unavailable 504 Gateway Timeout

103 Parameter non-existent or not implemented, passed on 500 Server Internal Error 110 Message with unrecognized parameter, discarded 500 Server Internal Error

111 Protocol error, unspecified 500 Server Internal Error 500 Server Internal Error

127 Interworking, unspecified 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 given

rather than the 4xx code (i.e., 403 becomes 603)

(=) ANSI procedure – in ANSI networks, 26 is overloaded to signify ‘misrouted ported number’. Presumably, a number portability dip should have been performed by a prior network. Otherwise cause 26 is usually not used in ISUP procedures.

(36)

Mapping SIP-T Responses to ISUP Cause Codes continues on page 37 Response Received Cause Value in the REL 400 Bad request 41 Temporary failure 401 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 unavailable

406 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 not

implemented (+) 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 Codes

(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 provide credentials to the SIP UAS that is rejecting an INVITE due to authorization failure. If the gateway can authenticate itself, then obviously 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 and attempting to re-originate the session. Only if this proves impossible 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 to the Warning code. This document recommends that ‘31 Normal, unspecified’ SHOULD by default be used for most currently assigned Warning codes. If the Warning code speaks to an unavailable bearer capability, cause code ‘65 Bearer Capability Not Implemented’ is a RECOMMENDED mapping.

Response Received Cause Value in the REL

603 Decline 21 Call rejected

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

(38)

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

Mapping SIP-I Responses to ISUP Cause Codes

ITU-T Q.1912.5

SIP-I Response ISUP Cause Code Remarks

400 Bad Request 127 Interworking

401 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 Interworking 407 Proxy Authentication

Required 127 Interworking Note 1 408 Request Timeout 127 Interworking

410 Gone 22 Number changed

(without diagnostic) 413 Request Entity Too Long 127 Interworking Note 1 414 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 Interworking

480 Temporarily Unavailable 20 Subscriber absent 481 Call/Transaction Does

Not Exist 127 Interworking

482 Loop Detected 127 Interworking 483 Too Many Hops 127 Interworking 484 Address Incomplete 28 Invalid number

format Note 1

485 Ambiguous 127 Interworking

486 Busy Here 17 User busy

487 Request Terminated 127 Interworking or no mapping (Note 3) Note 2 488 Not Acceptable Here 127 Interworking

491 Request Pending No Mapping Note 2

493 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

(39)

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

NOTE 2 – This response does not terminate a SIP dialog, but only a specific 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 Interworking

580 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

(40)

SIP Timers

RFC3261

Timer Value Section Meaning

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

retransmit interval for non-INVITE requests and INVITE responses T4 5s Section 17.1.2.2 Maximum duration a

message will remain in the network Timer A initially T1 Section 17.1.1.2 INVITE request

retransmit interval, for UDP only Timer B 64*T1 Section 17.1.1.2 INVITE transaction

timeout timer Timer C > 3min Section 16.6 Proxy INVITE

transaction timeout Timer D > 32s for UDP Section 17.1.1.2 Wait time for response

retransmits Timer E initially T1 Section 17.1.2.2 Non-INVITE request

retransmit interval, UDP only

Timer F 64*T1 Section 17.1.2.2 Non-INVITE transaction timeout timer Timer G initially T1 Section 17.2.1 INVITE response

retransmit interval Timer H 64*T1 Section 17.2.1 Wait time for ACK

receipt

Timer I T4 for UDP Section 17.2.1 Wait time for ACK retransmits Timer J 64*T1 for UDP Section 17.2.2 Wait time for

non-INVITE request retransmits Timer K T4 for UDP

0s for TCP/SCTPSection 17.1.2.2 Wait time for response retransmits Timer L 64*T1 draft-sparks-

sip-invfix Wait time for INVITE retransmissions Timer M 64*T1 draft-sparks-

sip-infix Wait time for 2xx response retransmissions and any additional 2xx responses from other branches of the INVITE if it forked downstream

(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 fires Reset A, INVITE sent 2xx 2xx to TU 2xx 2xx to TU 2xx 2xx to TU 1xx 1xx to TU 1xx 1xx to TU 300-699 ACK sent response to TU 300-699 ACK sent response to TU 300-699 ACK sent Timer B fires or Transport Error inform TU Transport Error inform TU

(42)

INVITE Server Transaction

draft-sparks-sip-invfix-02.txt Proceeding Completed Confirmed Accepted Terminated INVITE pass INV to TU send 100 if TU won’t in 200ms

Transport Error inform TU 2xx from TU send response ACK 101-199 from TU send response Timer I fires INVITE send response 300-699 from TU send response Timer G fires send response Timer H fires or Transport Error Inform TU INVITE send response 2xx from TU send response Timer L fires INVITE

(43)

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

Non-INVITE Client Transaction

RFC3261 Trying Proceeding Completed Terminated Request from TU send request Timer F or Transport Error inform TU 1xx response to TU Timer E send request 200-699 response to TU Timer F or Transport Error inform TU Timer K 1xx response to TU Timer E send request 200-699 response to TU

(44)

Non-INVITE Server Transaction

RFC3261 Trying Proceeding Completed Terminated Request received pass to TU 1xx from TU send response 1xx from TU send response 200-699 from TU send response Request send response Request send response Transport Error Inform TU Transport Error Inform TU 200-699 from TU send response

(45)

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

Elements and Architectures

SIP

Proxy

Proxy

SIP

Phil

MEDIA

Robert

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] Contact: sip:[email protected]

(46)

Mechanics: Location

Phil

Robert’s

Desk

[

example.com

] [

telco.com

]

3261

rules

Routes

Static

[

tekelec.com

]

Registered

Bindings

sip:55512 12@ telco .com sip:RjS@ tekelec.com sip:R jS@ tekele c.com sip:[email protected] sip:[email protected]. 1 sip:[email protected]

[

gateway

]

Robert’s

Cell

(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 or more contact addresses

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

IETF Internet Engineering Task Force

lr A URI parameter that indicates that RFC3261 procedures for handling the Route header field are being 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 of participants

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

(48)

SIP References

draft-ietf-sip-gruu-15.txt “Obtaining and Using Globally Routable User Agent (UA) URIs (GRUU) in the Session Initiation Protocol (SIP)” draft-ietf-sip-ice-option-tag-02.txt “Indicating Support for Interactive Connectivity Establishment (ICE) in the Session Initiation Protocol (SIP)” draft-sparks-sip-invfix-02.txt “Correct transaction handling for 200 responses 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 Method”

RFC3261 “SIP: Session Initiation Protocol”

RFC3262 “Reliability of Provisional Responses in the Session Initiation Protocol (SIP)”

RFC3263 “Session Initiation Protocol (SIP): Locating SIP Servers” RFC3311 “The Session Initiation Protocol (SIP) UPDATE Method” RFC3312 “Integration of Resource Management and Session

Initiation Protocol (SIP)”

RFC3313 “Private Session Initiation Protocol (SIP) Extensions for Media 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 Networks” RFC3326 “The Reason Header Field for the Session Initiation Protocol

(SIP)”

RFC3327 “Session Initiation Protocol (SIP) Extension Header Field for Registering 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 Instant Messaging”

RFC3455 “Private Header (P-Header) Extensions to the Session Initiation Protocol (SIP) for the 3rd-Generation Partnership Project (3GPP)”

References

Related documents

Free promo codes and game passes don’t work anymore so instead try some of the above methods to earn a nice amount of FREE ROBUX and make your gaming even..

O RFC 3824 Using E.164 numbers with the Session Initiation Protocol (SIP) O RFC 3891 The Session Initiation Protocol (SIP) "Replaces" Header O RFC 3892 The Session

b) Expression transformation: You can use the Expression transformations to calculate values in a single row before you write to the target. For example, you might need to

First, using high frequency data across a wide range of asset classes, we provide an analysis of realised kernel based volatility of Exchange Traded Funds, FX, fixed income,

piu qoc2 uo dnsjrsiicjA SU.CC IJJC COIJCJII2IOU2 H0MCACL IJJOLC UULSCfi/C LGWSIG SIIOLIJC?2 !ACLC 5J20 WOLC JIJCCJA qqru wsuIsJ arsrn2 suq rpc bLc2cucc °L cpqqcu Sr luG 1!UJC

8 El informe también incorpora otros conceptos como los de comisiones de la verdad, “órganos oficia- les, temporales y de constatación de hechos que no tienen carácter judicial y

Unique combinations of both the facies and petrophysical modeling algorithm have been used to build various realizations of static models and volumes were

However, this study is poised at comparatively analysing the rental values of these sets of estates using Victoria Garden City (VGC) and Crown Estate Lekki Peninsula