tekelec - sip pocket guide - 04192011.pdf

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

Upload: modagimp

Post on 25-Oct-2015

140 views

Category:

Documents


8 download

TRANSCRIPT

SIPPocketGuideExclusive referenceguide for Session InitiationProtocol professionals

The Future of Signaling

SIP Pocket Guide 2 www.tekelec.com

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

Visit our web site at www.tekelec.com

SIP Pocket Guide www.tekelec.com 3

Table of ContentsSIP Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Response Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5INVITE/200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7INVITE/200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Header Fields – Compact Forms. . . . . . . . . . . . . . . . . . . . . . . . . .11Header Field Parameters and Parameter Values . . . . . . . . . . . . . . .11Security Mechanism Names . . . . . . . . . . . . . . . . . . . . . . . . . . . .15Namespaces and Priority Values for the Resource Priority Header Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15URI Purposes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15SIP/SIPS URI Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16SIP’s Use of DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17Types of DNS Resource Records. . . . . . . . . . . . . . . . . . . . . . . . . .18NAPTR Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18SRV Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19DNS Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19Option Tags for SIP Extensions . . . . . . . . . . . . . . . . . . . . . . . . . .20SIP Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26Session Description Protocol (SDP) . . . . . . . . . . . . . . . . . . . . . . .27 – Session Level Description . . . . . . . . . . . . . . . . . . . . . . . . . . .27 – Time Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 – SDP Media Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 – SDP Media Attribute Lines (a=) . . . . . . . . . . . . . . . . . . . . . . .28Warning Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29Mapping Between the SIP SDP and SS7 USI/HLC (SIP Origination) . .30Mapping Between SS7 USI and the SIP SDP (SS7 Origination) . . . .30SIP Response to a Call Progress (CPG) Message . . . . . . . . . . . . . .32Mapping ISUP Cause Codes to SIP-I/SIP-T Responses . . . . . . . . . .32Mapping SIP-T Responses to ISUP Cause Codes. . . . . . . . . . . . . . .36Mapping SIP-I Responses to ISUP Cause Codes . . . . . . . . . . . . . . .38SIP Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40INVITE Client Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41INVITE Server Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Non-INVITE Client Transaction. . . . . . . . . . . . . . . . . . . . . . . . . . .43Non-INVITE Server Transaction . . . . . . . . . . . . . . . . . . . . . . . . . .44Elements and Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Mechanics: Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Mechanics: Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46Glossary of SIP Acronyms and Definitions . . . . . . . . . . . . . . . . . . .47SIP References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48

SIP Pocket Guide4 www.tekelec.com

SIP Methods Methods Description RFCACK Acknowledgment sent in response to a

response to an INVITE request3261

BYE Terminates a session 3261CANCEL Cancels a pending transaction 3261INFO Carries session-related control information 2976INVITE Establishes a session between participants 3261MESSAGE Transfers instant messages 3428NOTIFY Informs a subscriber about the state of

a resource 3265

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

reliable provisional responses3262

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 3261SUBSCRIBE Requests current state and state updates

from a remote node3265

UPDATE Updates parameters of a session 3311

SIP Pocket Guide 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 RFCProvisional 1xx 100 Trying 180 Ringing 181 Call Is Being Forwarded 183 Session ProgressSuccessful 2xx 200 OK 202 Accepted 3265Redirection 3xx 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 305 Use Proxy 380 Alternative ServiceRequest 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 428 Use Identity Header 4474

SIP Pocket Guide6 www.tekelec.com

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 3329Server 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 3312Global Failures 6xx 600 Busy Everywhere 603 Decline 604 Does Not Exist Anywhere 606 Not Acceptable

Response Codes continued from page 5

SIP Pocket Guide 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 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

SIP Pocket Guide 8 www.tekelec.com

Header FieldsHeader Field Compact Used Where RFC Accept Requests, 2xx, 415 3261Accept-Contact a Requests 3841Accept-Encoding Requests, 2xx, 415 3261Accept-Language Requests, 2xx, 415 3261Accept-Resource-Priority

200, 417 4412

Alert-Info Requests, 180 3261Allow Requests, 2xx,

Responses, 4053261

Allow-Events u Requests, 2xx, 489 3265Answer-Mode Requests, 200 5373Authentication-Info 2xx 3261Authorization Requests 3261Call-ID i Copied 3261Call-Info 3261Contact m Requests, 1xx, 2xx,

3xx, 4853261

Content-Disposition 3261Content-Encoding e 3261Content-Language 3261Content-Length l 3261Content-Type c 3261CSeq Copied 3261Date 3261Encryption -Deprecated- 2543Error-Info 300-699 3261Event e Requests 3265Expires 2xx 3261From Copied 3261Hide -Deprecated- 2543History-Info 4244Identity y Requests 4474Identity-Info n Requests 4474In-Reply-To Requests 3261Join Requests 3911Max-Forwards Requests 3261MIME-Version 3261Min-Expires 423 3261Min-SE Requests, 422 4028Organization 3261

Header Fields continues on page 9

SIP Pocket Guide 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 4964P-Asserted-Identity 3325P-Associated-URI 2xx 3455P-Called-Party Requests 3455P-Charging-Function Address

3455

P-Charging-Vector 3455P-DCS-Trace-Party-ID

Requests 3603

P-DCS-OSPS Requests 3603P-DCS-Billing-Info 3603P-DCS-LAES 3603P-DCS-Redirect 3603P-Early-Media Requests, 18x, 2xx 5009P-Media-Authorization

Requests, 101-199, 2xx

3313

P-Preferred-Identity 3325P-Profile-Key 5002P-User-Database 4457P-Visited-Network-ID Requests 3455Path Requests, 2xx 3327Permission-Missing 5360Permission-Missing 470 5360Priority Requests 3261Priv-Answer-Mode Requests, 200 5373Privacy 3323Proxy-Authenticate 407, 401 3261Proxy-Authorization Requests 3261Proxy-Require Requests 3261RAck Requests 3262Reason 3326Record-Route Requests, 2xx, 18x 3261Refer-Sub Requests, 2xx 4488Refer-To r Requests 3515Referred-By b Requests 3892Reject-Contact j Requests 3841Replaces Requests 3891Reply-To 3261

SIP Pocket Guide 10 www.tekelec.com

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 3841Require 3261Resource-Priority Requests 4412Response-Key -Deprecated- 2543 Retry-After 404, 413, 480, 486,

500, 503, 600, 6033261

Route Requests 3261Rseq 1xx 3262Security-Client Requests 3329Security-Server 421, 494 3329Security-Verify Requests 3329Server Responses 3261Service-Route 2xx 3608Session-Expires x Requests, 2xx 4028SIP-ETag 2xx 3903SIP-If-Match Requests 3903Subject s Requests 3261Subscription-State Requests 3265Supported k Requests, 2xx 3261Target-Dialog Requests 4538Timestamp 3261To t Copied, tag added 3261Trigger-Consent 5360Unsupported 420 3261User-Agent 3261Via Requests, Responses,

Copied3261

Warning Requests, Responses 3261WWW-Authenticate 401, 407 3261

SIP Pocket Guide www.tekelec.com 11

Header Fields – Compact Forms

Header Field Parameters and Parameter Values continues on page 12

Compact Header Fielda Accept-Contactb Referred-Byc Content-Typed Request-Dispositione Content-Encodingi Call-IDj Reject-Contactk Supportedl Content-Lengthm Contactn Identity-Infoo Eventr Refer-Tos Subjectt Tou Allow-Eventsx Session-Expiresy Identity

Header Field Reference Parameter Name

Predefined Values

Accept q NoAccept-Encoding q NoAccept-Language q NoAnswer-Mode auto NoAnswer-Mode auto; require NoAnswer-Mode manual NoAnswer-Mode manual; require No Authorization (3310) algorithm Yes Authorization (3310) auts NoAuthorization cnonce NoAuthorization nc NoAuthorization nonce NoAuthorization opaque NoAuthorization qop YesAuthorization realm NoAuthorization response No

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

SIP Pocket Guide 12 www.tekelec.com

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 NoAuthorization username NoAuthentication-Info cnonce NoAuthentication-Info nc NoAuthentication-Info nextnonce NoAuthentication-Info qop YesAuthentication-Info rspauth NoCall-Info (5367) purpose YesCall-Info purpose YesContact expires NoContact q NoContact draft-ietf-sip-gruu pub-gruu NoContact draft-ietf-sip-gruu temp-gru NoContent-Disposition handling YesEvent (4235) call-id NoEvent (4235) from-tag NoEvent id NoEvent (4235) include-session

descriptionNo

Event (4235) to-tag NoFrom tag NoP-Access-Network-Info cgi-3gpp NoP-Access-Network-Info utran-cell-id-3gpp NoP-Charging-Function-Addresses ccf NoP-Charging-Function-Addresses ecf NoP-Charging-Vector icid-value NoP-Charging-Vector icid-generated-at NoP-Charging-Vector orig-ioi NoP-Charging-Vector term-ioi NoP-DCS-Billing-Info called NoP-DCS-Billing-Info calling NoP-DCS-Billing-Info charge NoP-DCS-Billing-Info locroute NoP-DCS-Billing-Info rksgroup NoP-DCS-Billing-Info routing NoP-DCS-LAES content NoP-DCS-LAES key NoP-DCS-Redirect count NoP-DCS-Redirect redirector-uri No

SIP Pocket Guide 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 Parameter Name

Predefined Values

Priv-Answer-Mode auto NoPriv-Answer-Mode auto; require NoPriv-Answer-Mode manual NoPriv-Answer-Mode manual; require NoProxy-Authenticate (3310) algorithm YesProxy-Authenticate domain NoProxy-Authenticate nonce NoProxy-Authenticate opaque NoProxy-Authenticate qop YesProxy-Authenticate realm NoProxy-Authenticate stale YesProxy-Authorization (3310) algorithm YesProxy-Authorization (3310) auts NoProxy-Authorization cnonce NoProxy-Authorization nc NoProxy-Authorization nonce NoProxy-Authorization opaque NoProxy-Authorization qop YesProxy-Authorization realm NoProxy-Authorization uri NoProxy-Authorization username NoProxy-Authorization response NoReason cause YesReason text NoRetry-After duration NoSecurity-Client alg YesSecurity-Client ealg YesSecurity-Client d-alg YesSecurity-Client d-qop YesSecurity-Client d-ver NoSecurity-Client mod YesSecurity-Client port1 NoSecurity-Client port2 NoSecurity-Client prot YesSecurity-Client q NoSecurity-Client spi NoSecurity-Server alg YesSecurity-Server ealg YesSecurity-Server d-alg Yes

SIP Pocket Guide 14 www.tekelec.com

Header Field Parameters and Parameter Values continued from page 13

Header Field Reference Parameter Name

Predefined Values

Security-Server d-qop YesSecurity-Server d-ver NoSecurity-Server mod YesSecurity-Server port1 NoSecurity-Server port2 NoSecurity-Server prot YesSecurity-Server q NoSecurity-Server spi NoSecurity-Verify alg YesSecurity-Verify ealg YesSecurity-Verify d-alg YesSecurity-Verify d-qop YesSecurity-Verify d-ver NoSecurity-Verify mod YesSecurity-Verify port1 NoSecurity-Verify port2 NoSecurity-Verify prot YesSecurity-Verify q NoSecurity-Verify spi NoSubscription-State expires NoSubscription-State reason YesSubscription-State retry-after NoTarget-Dialog local-tag NoTarget-Dialog remote-tag NoTo tag NoTrigger-Consent target-uri NoVia branch NoVia (3486) comp YesVia maddr NoVia received NoVia (3581) rport NoVia (5049) sigcomp-id NoVia ttl NoWWW-Authenticate (3310) algorithm YesWWW-Authenticate domain YesWWW-Authenticate nonce NoWWW-Authenticate opaque NoWWW-Authenticate qop YesWWW-Authenticate realm NoWWW-Authenticate stale Yes

SIP Pocket Guide www.tekelec.com 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 Descriptionparticipation 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 Descriptiondigest HTTP digest authenticationtls Transport Layer Securityipsec-ike IPsec with Internet Key Exchangeipsec-man Manually keyed IPsec without IKEipsec-3gpp IPsec with either MD5 or SHA-1, used in

3GPP IMS networks

Security Mechanism Names RFC3329

SIP Pocket Guide 16 www.tekelec.com

SIP/SIPS URI ParametersParameter Name

Predefined Values

RFC Description

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

compressed SIP messagescontent-type No 4240 Service announcements

& conferencingdelay No 4240 Service announcements

& conferencingduration No 4240 Service announcements

& conferencinglocale No 4240 Service announcements

& conferencinglr No 3261 Supports 3261-compliant

routingmaddr No 3261 Server address to be

contacted for the usermethod 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

Globally known parameters

SIP Pocket Guide www.tekelec.com 17

SIP’s Use of DNSRFC3263

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 givenport

Use UDP

Use given

transport

Is port

explicit?

Is transport explicit?

Yes Yes

No

No

Yes

Use givenport

Is transport explicit?

No

Use given

transport

Do NAPTRLookup

Use given

transport

Do A/AAAALookups

Use UDP

Do SRV

Lookups

Use 5060

SIP Pocket Guide 18 www.tekelec.com

Types of DNS Resource Records

NAPTR Records

Type Description RFCNAPTR 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 DescriptionOrder 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

preference service replacement

SIP Pocket Guide www.tekelec.com 19

DNS Example

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

weightprotocol target

servicepriority

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 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.1llama 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

SRV Records

SIP Pocket Guide 20 www.tekelec.com

Option Tags for SIP ExtensionsOption Tag Supported Extension Used in the Following Header Fields RFC100rel 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

SIP Pocket Guide www.tekelec.com 21

Option Tag Supported Extension Used in the Following Header Fields RFC100rel 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

Option Tags for SIP extensions continues on page 22

SIP Pocket Guide 22 www.tekelec.com

Option Tags for SIP Extensions continued from page 20

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

resources in a single requestSupported – 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

SIP Pocket Guide www.tekelec.com 23

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

resources in a single requestSupported – 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

Option Tags for SIP extensions continues on page 24

SIP Pocket Guide 24 www.tekelec.com

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

resource listsSupported – 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

SIP Pocket Guide www.tekelec.com 25

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

resource listsSupported – 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

SIP Pocket Guide26 www.tekelec.com

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 3680refer Status of a REFER request 3515winfo Set of watchers subscribed to the UA’s

presence information3857

SIP Pocket Guide www.tekelec.com 27

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

SIP Pocket Guide 28 www.tekelec.com

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• a = rtcp

SIP Pocket Guide www.tekelec.com 29

Warning CodesRFC3261 Section 27.2Note: 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 Description300 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.

SIP Pocket Guide 30 www.tekelec.com

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 μ-lawaudio RTP/AVP 64 Kbps rtpmap PCMU/8000 64 Kbps 3.1 KHz audio G.711 μ-lawaudio RTP/AVP 9 AS: 64 Kbps rtpmap: 9

G. 722/800064 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 SDPInfo 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 unrestricted

Unrestricted digital info

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

SIP Pocket Guide www.tekelec.com 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 μ-lawaudio RTP/AVP 64 Kbps rtpmap PCMU/8000 64 Kbps 3.1 KHz audio G.711 μ-lawaudio RTP/AVP 9 AS: 64 Kbps rtpmap: 9

G. 722/800064 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 SDPInfo 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 unrestricted

Unrestricted digital info

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

SIP Pocket Guide32 www.tekelec.com

SIP Response to a Call Progress (CPG) MessageEvent Information/ Event Indicator Parameters

SIP Response

000 0001 Alerting 180 Ringing000 0010 Progress 183 Session Progress000 0011 In-band info 183 Session Progress

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

ISUP Cause Code SIP-I Response SIP-T Response1 Unallocated number 404 Not Found 404 Not Found2 No route to network 500 Server Internal Error 404 Not Found3 No route to destination 500 Server Internal Error 404 Not Found4 Send special information tone 500 Server Internal Error5 Misdialed trunk prefix 404 Not Found8 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 Here18 No user responding 480 Temporarily Unavailable 408 Request Timeout19 No answer from the user 480 Temporarily Unavailable 480 Temporarily Unavailable20 Subscriber absent 480 Temporarily Unavailable 480 Temporarily Unavailable21 Call rejected 480 Temporarily Unavailable 403 Forbidden (+)22 Number changed (w/o diagnostic) 410 Gone 410 Gone22 Number changed (w/ diagnostic) 301 Moved Permanently23 Redirection to new destination No Mapping 410 Gone25 Exchange routing error 480 Temporarily Unavailable26 Non-selected user clearing 404 Not Found (=)27 Destination out of order 502 Bad Gateway 502 Bad Gateway28 Invalid number format (address incomplete) 484 Address Incomplete 484 Address Incomplete29 Facility rejected 500 Server Internal Error 501 Not Implemented31 Normal unspecified 480 Temporarily Unavailable 480 Temporarily Unavailable34 Resource unavailable 480 Temporarily Unavailable34 No circuit available 503 Service Unavailable38 Resource unavailable 500 Server Internal Error38 Network out of order 503 Service Unavailable41 Resource unavailable 500 Server Internal Error41 Temporary failure 503 Service Unavailable

SIP Pocket Guide www.tekelec.com 33

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

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

ISUP Cause Code SIP-I Response SIP-T Response1 Unallocated number 404 Not Found 404 Not Found2 No route to network 500 Server Internal Error 404 Not Found3 No route to destination 500 Server Internal Error 404 Not Found4 Send special information tone 500 Server Internal Error5 Misdialed trunk prefix 404 Not Found8 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 Here18 No user responding 480 Temporarily Unavailable 408 Request Timeout19 No answer from the user 480 Temporarily Unavailable 480 Temporarily Unavailable20 Subscriber absent 480 Temporarily Unavailable 480 Temporarily Unavailable21 Call rejected 480 Temporarily Unavailable 403 Forbidden (+)22 Number changed (w/o diagnostic) 410 Gone 410 Gone22 Number changed (w/ diagnostic) 301 Moved Permanently23 Redirection to new destination No Mapping 410 Gone25 Exchange routing error 480 Temporarily Unavailable26 Non-selected user clearing 404 Not Found (=)27 Destination out of order 502 Bad Gateway 502 Bad Gateway28 Invalid number format (address incomplete) 484 Address Incomplete 484 Address Incomplete29 Facility rejected 500 Server Internal Error 501 Not Implemented31 Normal unspecified 480 Temporarily Unavailable 480 Temporarily Unavailable34 Resource unavailable 480 Temporarily Unavailable34 No circuit available 503 Service Unavailable38 Resource unavailable 500 Server Internal Error38 Network out of order 503 Service Unavailable41 Resource unavailable 500 Server Internal Error41 Temporary failure 503 Service Unavailable

SIP Pocket Guide 34 www.tekelec.com

ISUP Cause Code SIP-I Response SIP-T Response42 Resource unavailable 500 Server Internal Error42 Switching equipment congestion 503 Service Unavailable43 Resource unavailable 500 Server Internal Error44 Resource unavailable 500 Server Internal Error46 Resource unavailable 500 Server Internal Error47 Resource unavailable 500 Server Internal Error 503 Service Unavailable50 Requested facility not subscribed 500 Server Internal Error55 Incoming calls barred with CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden57 Bearer capability not authorized 500 Server Internal Error 403 Forbidden58 Bearer capability not presently available 500 Server Internal Error 503 Service Unavailable63 Service option not available, unspecified 500 Server Internal Error65 Service or option not implemented 500 Server Internal Error65 Bearer capability not implemented 488 Not Acceptable Here69 Service or option not implemented 500 Server Internal Error70 Service or option not implemented 500 Server Internal Error70 Only restricted digital avail 488 Not Acceptable Here79 Service or option not implemented 500 Server Internal Error 501 Not Implemented87 User not member of CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden88 Incompatible destination 500 Server Internal Error 503 Service Unavailable90 Non-existent CUG 500 Server Internal Error (SIP-I Only)91 Invalid transit network selection 404 Not Found95 Invalid message, unspecified 500 Server Internal Error97 Message type non-existent or not implemented 500 Server Internal Error99 Info element/parameter non-existent or not implemented 500 Server Internal Error102 Recovery on timer expiry 480 Temporarily Unavailable 504 Gateway Timeout103 Parameter non-existent or not implemented, passed on 500 Server Internal Error110 Message with unrecognized parameter, discarded 500 Server Internal Error111 Protocol error, unspecified 500 Server Internal Error 500 Server Internal Error127 Interworking, unspecified 480 Temporarily Unavailable 500 Server Internal Error

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

SIP Pocket Guide www.tekelec.com 35

ISUP Cause Code SIP-I Response SIP-T Response42 Resource unavailable 500 Server Internal Error42 Switching equipment congestion 503 Service Unavailable43 Resource unavailable 500 Server Internal Error44 Resource unavailable 500 Server Internal Error46 Resource unavailable 500 Server Internal Error47 Resource unavailable 500 Server Internal Error 503 Service Unavailable50 Requested facility not subscribed 500 Server Internal Error55 Incoming calls barred with CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden57 Bearer capability not authorized 500 Server Internal Error 403 Forbidden58 Bearer capability not presently available 500 Server Internal Error 503 Service Unavailable63 Service option not available, unspecified 500 Server Internal Error65 Service or option not implemented 500 Server Internal Error65 Bearer capability not implemented 488 Not Acceptable Here69 Service or option not implemented 500 Server Internal Error70 Service or option not implemented 500 Server Internal Error70 Only restricted digital avail 488 Not Acceptable Here79 Service or option not implemented 500 Server Internal Error 501 Not Implemented87 User not member of CUG 500 Server Internal Error (SIP-I Only) 403 Forbidden88 Incompatible destination 500 Server Internal Error 503 Service Unavailable90 Non-existent CUG 500 Server Internal Error (SIP-I Only)91 Invalid transit network selection 404 Not Found95 Invalid message, unspecified 500 Server Internal Error97 Message type non-existent or not implemented 500 Server Internal Error99 Info element/parameter non-existent or not implemented 500 Server Internal Error102 Recovery on timer expiry 480 Temporarily Unavailable 504 Gateway Timeout103 Parameter non-existent or not implemented, passed on 500 Server Internal Error110 Message with unrecognized parameter, discarded 500 Server Internal Error111 Protocol error, unspecified 500 Server Internal Error 500 Server Internal Error127 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.

SIP Pocket Guide36 www.tekelec.com

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

Response Received Cause Value in the REL400 Bad request 41 Temporary failure401 Unauthorized 21 Call rejected (*)402 Payment required 21 Call rejected403 Forbidden 21 Call rejected404 Not found 1 Unallocated number405 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 expiry410 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 responding481 Call/transaction does not exist 41 Temporary failure482 Loop detected 25 Exchange - routing error483 Too many hops 25 Exchange - routing error484 Address incomplete 28 Invalid number format (+)485 Ambiguous 1 Unallocated number486 Busy here 17 User busy487 Request terminated --- (no mapping)488 Not acceptable here --- by Warning header500 Server internal error 41 Temporary failure501 Not implemented 79 Not implemented,

unspecified502 Bad gateway 38 Network out of order503 Service unavailable 41 Temporary failure504 Server time-out 102 Recovery on timer expiry504 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

SIP Pocket Guide 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 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 REL603 Decline 21 Call rejected604 Does not exist anywhere 1 Unallocated number606 Not acceptable --- by Warning header

SIP Pocket Guide38 www.tekelec.com

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 Remarks400 Bad Request 127 Interworking401 Unauthorized 127 Interworking Note 1402 Payment Required 127 Interworking403 Forbidden 127 Interworking404 Not Found 1 Unallocated number405 Method Not Allowed 127 Interworking406 Not Acceptable 127 Interworking407 Proxy Authentication

Required127 Interworking Note 1

408 Request Timeout 127 Interworking410 Gone 22 Number changed

(without diagnostic)413 Request Entity Too Long 127 Interworking Note 1414 Request-URI Too Long 127 Interworking Note 1415 Unsupported Media Type 127 Interworking Note 1416 Unsupported URI Scheme 127 Interworking Note 1420 Bad Extension 127 Interworking Note 1421 Extension Required 127 Interworking Note 1423 Interval Too Brief 127 Interworking480 Temporarily Unavailable 20 Subscriber absent481 Call/Transaction Does

Not Exist127 Interworking

482 Loop Detected 127 Interworking483 Too Many Hops 127 Interworking484 Address Incomplete 28 Invalid number

formatNote 1

485 Ambiguous 127 Interworking486 Busy Here 17 User busy487 Request Terminated 127 Interworking or no

mapping (Note 3)Note 2

488 Not Acceptable Here 127 Interworking491 Request Pending No Mapping Note 2493 Undecipherable 127 Interworking500 Server Internal Error 127 Interworking501 Not Implemented 127 Interworking502 Bad Gateway 127 Interworking503 Service Unavailable 127 Interworking Note 1504 Server Timeout 127 Interworking

SIP Pocket Guide www.tekelec.com 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 Remarks505 Version Not Supported 127 Interworking Note 1513 Message Too Large 127 Interworking580 Precondition Failure 127 Interworking Note 1600 Busy Everywhere 17 User busy603 Decline 21 Call rejected604 Does Not Exist Anywhere 1 Unallocated number606 Not Acceptable 127 Interworking

SIP Pocket Guide 40 www.tekelec.com

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 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/SCTP

Section 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

SIP Pocket Guide www.tekelec.com 41

INVITE Client Transactiondraft-sparks-sip-invfix-02.txt

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

Calling

Proceeding

Completed Accepted

Terminated

INVITE from TUINVITE sent

Timer A firesReset A,INVITE sent

2xx2xx to TU

2xx2xx to TU

2xx2xx to TU

1xx1xx to TU

1xx1xx to TU

300-699 ACK sent responseto TU

300-699 ACK sent response

to TU

300-699 ACK sent

Timer B firesor Transport Error

inform TU

Transport Errorinform TU

Timer D fires Timer M fires

SIP Pocket Guide 42 www.tekelec.com

INVITE Server Transactiondraft-sparks-sip-invfix-02.txt

Proceeding

Completed

Confirmed

Accepted

Terminated

INVITEpass INV to TUsend 100 if TU won’t in 200ms

Transport Error inform TU

2xx from TUsend response

ACK

101-199 from TUsend response

Timer I fires

INVITEsend response

300-699 from TUsend response

Timer G firessend response

Timer H fires orTransportErrorInform TU

INVITEsend response

2xx from TU send response

Timer L fires

INVITE

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

SIP Pocket Guide www.tekelec.com 43

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

Non-INVITE Client TransactionRFC3261

Trying

Proceeding

Completed

Terminated

Request from TUsend request

Timer For Transport Errorinform TU

1xx response to TU

Timer Esend request

200-699response to TU

Timer For Transport Errorinform TU

Timer K

1xx response to TU

Timer Esend request

200-699response to TU

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

SIP Pocket Guide 44 www.tekelec.com

Non-INVITE Server TransactionRFC3261

Trying

Proceeding

Completed

Terminated

Request receivedpass to TU

1xx from TUsend response

1xx from TUsend response

200-699 from TUsend response

Requestsend response

Requestsend response

Transport ErrorInform TU

Transport ErrorInform TU

200-699 from TUsend response

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

SIP Pocket Guide www.tekelec.com 45

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

Elements and Architectures

SIPProxy

SIPProxy

Phil RobertMEDIA

example.com tekelec.com

SIPBEARER

Trapezoid Model

Mechanics: Registration

Phil Robert

INVITE sip:[email protected]

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

A Binding in Action

SIPProxy/Registrar

REGISTER sip:tekelec.comTo: sip:[email protected]: sip:[email protected]

SIP Pocket Guide 46 www.tekelec.com

Mechanics: Location

Phil

Robert’sDesk

[example.com] [telco.com]

3261rules

StaticRoutes

[tekelec.com]

RegisteredBindings

sip

:555

1212

@te

lco.c

om

sip:

RjS@

teke

lec.c

om

sip:[email protected]

sip:[email protected]

sip

:line

1@17

2.2.

17.1

sip:[email protected]

[gateway]

Robert’sCell

SIP Pocket Guide 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 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

Usage Relationship between endpoints within a dialog

SIP Pocket Guide 48 www.tekelec.com

SIP Referencesdraft-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.orgThe Internet Engineering Task Force, http://www.ietf.orgITU-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)”

RFC3486 “Compressing the Session Initiation Protocol (SIP)”

SIP Pocket Guide 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 Call Signaling Architecture”

RFC3608 “Session Initiation Protocol (SIP) Extension Header Field for Service Route Discovery During Registration”

RFC3680 “A Session Initiation Protocol (SIP) Event Package for Registrations”

RFC3840 “Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)”

RFC3841 “Caller Preferences for the Session Initiation Protocol (SIP)”RFC3842 “A Message Summary and Message Waiting Indication

Event Package for the Session Initiation Protocol (SIP)”RFC3856 “A Presence Event Package for the Session Initiation

Protocol (SIP)”RFC3857 “A Watcher Information Event Template-Package for the

Session 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

Publication”RFC3911 “The Session Initiation Protocol (SIP) “Join” Header”RFC3959 “The Early Session Disposition Type for the Session

Initiation 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) for

Request History Information”RFC4354 “A Session Initiation Protocol (SIP) Event Package and Data

Format for Various Settings in Support for the Push-to-Talk over 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 such as 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”

SIP Pocket Guide 50 www.tekelec.com

RFC4538 “Request Authorization through Dialog Identification in the Session Initiation Protocol (SIP)”

RFC4575 “A Session Initiation Protocol (SIP) Event Package for Conference State”

RFC4662 “A Session Initiation Protocol (SIP) Event Notification Extension for Resource Lists”

RFC4730 “A Session Initiation Protocol(SIP) Event Package for Key Press Stimulus (KPML)”

RFC4916 “Connected Identity in the Session Initiation Protocol (SIP)”RFC4967 “Dial String Parameter for the Session Initiation Protocol

Uniform Resource Identifier”RFC5002 “The Session Initiation Protocol (SIP)P-Profile-Key Private

Header (P-Header)”RFC5009 “Private Header (P-Header) Extension to the Session

Initiation Protocol (SIP) for Authorization of Early Media”RFC5049 “Applying Signaling Compression (SigComp) to the Session

Initiation Protocol (SIP)”RFC5079 “Rejecting Anonymous Requests in the Session Initiation

Protocol (SIP)”RFC5360 “A Framework for Consent-based Communications in the

Session Initiation Protocol (SIP)”RFC5365 “Multiple-Recipient MESSAGE Requests in the Session

Initiation Protocol (SIP)”RFC5366 “Conference Establishment Using Request-Contained Lists in

the Session Initiation Protocol (SIP)”RFC5367 “Subscriptions to Request-Contained Resource Lists in the

Session Initiation Protocol (SIP)”RFC5368 “Referring to Multiple Resources in the Session Initiation

Protocol (SIP)”RFC5373 “Requesting Answering Modes for the Session Initiation

Protocol (SIP)”Travis, Russell. The IP Multimedia Subsystem (IMS): Session Control and Other Network Operations (New York: McGraw-Hill Companies, 2008)

All RFCs and drafts may be found at http://tools.ietf.org/html/Even though the specifications herein may resemble specifications, descriptions or requirements of third parties or portions thereof, nothing herein shall be deemed, expressly or by implication, to be a warranty by such third parties or an endorsement by any of them or concurrence by any of them in any representation 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.

SIP Pocket Guide www.tekelec.com 51

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 House 85 The High Street Egham, SurreyTW20 9HF United Kingdom Phone: +44.1784.437000 FAX: +44.1784.477121

Singapore-Asia-Pacific inquiries:Tekelec Singapore Pte Ltd15 Hoe Chiang Road#06-06 Tower 15Singapore 089316Phone: +65.6796.2288FAX: +65.6796.2299

Caribbean and Latin America inquiries:Tekelec Caribbean & Latin America (CALA)5200 Paramount ParkwayMorrisville, North Carolina 27560 (USA)Attn: Ricardo DiazTel: [email protected]

www.tekelec.com

© 2008 Tekelec. All rights reserved. Printed in U.S.A. TKLC-PG-002.1-NA-12-2008