SIP Pocket Guide - Total Telecom Pocket Guide 3 Table of Contents SIP Methods 4 Response Codes 5...
-
Upload
duongduong -
Category
Documents
-
view
219 -
download
0
Transcript of SIP Pocket Guide - Total Telecom Pocket Guide 3 Table of Contents SIP Methods 4 Response Codes 5...
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
:line
1@17
2.2.
17.1
[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