idnits 2.17.1 draft-ietf-sip-hitchhikers-guide-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 15. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 1904. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1915. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1922. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1928. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == Line 1079 has weird spacing: '...ions in the...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 3, 2008) is 5646 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 3427 (Obsoleted by RFC 5727) -- Obsolete informational reference (is this intentional?): RFC 2543 (Obsoleted by RFC 3261, RFC 3262, RFC 3263, RFC 3264, RFC 3265) -- Obsolete informational reference (is this intentional?): RFC 2915 (Obsoleted by RFC 3401, RFC 3402, RFC 3403, RFC 3404) -- Obsolete informational reference (is this intentional?): RFC 3265 (Obsoleted by RFC 6665) -- Obsolete informational reference (is this intentional?): RFC 4474 (Obsoleted by RFC 8224) == Outdated reference: A later version (-20) exists of draft-ietf-sip-outbound-16 -- Obsolete informational reference (is this intentional?): RFC 2976 (Obsoleted by RFC 6086) -- Obsolete informational reference (is this intentional?): RFC 4244 (Obsoleted by RFC 7044) == Outdated reference: A later version (-13) exists of draft-ietf-sipping-rtcp-summary-05 == Outdated reference: A later version (-18) exists of draft-ietf-sipping-config-framework-15 -- Obsolete informational reference (is this intentional?): RFC 4566 (Obsoleted by RFC 8866) -- Obsolete informational reference (is this intentional?): RFC 3388 (Obsoleted by RFC 5888) -- Obsolete informational reference (is this intentional?): RFC 4091 (Obsoleted by RFC 5245) == Outdated reference: A later version (-16) exists of draft-ietf-mmusic-ice-tcp-07 -- Obsolete informational reference (is this intentional?): RFC 4583 (Obsoleted by RFC 8856) == Outdated reference: A later version (-07) exists of draft-ietf-mmusic-connectivity-precon-05 == Outdated reference: A later version (-08) exists of draft-ietf-sipping-policy-package-05 == Outdated reference: A later version (-15) exists of draft-ietf-sip-certs-06 -- Obsolete informational reference (is this intentional?): RFC 4572 (Obsoleted by RFC 8122) == Outdated reference: A later version (-13) exists of draft-ietf-mmusic-sdp-capability-negotiation-09 == Outdated reference: A later version (-17) exists of draft-ietf-mmusic-sdp-media-capabilities-05 == Outdated reference: A later version (-11) exists of draft-ietf-mmusic-file-transfer-mech-08 == Outdated reference: A later version (-10) exists of draft-ietf-sip-record-route-fix-05 == Outdated reference: A later version (-09) exists of draft-ietf-sip-sips-08 == Outdated reference: A later version (-09) exists of draft-ietf-simple-simple-03 -- Obsolete informational reference (is this intentional?): RFC 4960 (Obsoleted by RFC 9260) == Outdated reference: A later version (-07) exists of draft-ietf-sip-dtls-srtp-framework-05 == Outdated reference: A later version (-13) exists of draft-ietf-ecrit-framework-06 -- Obsolete informational reference (is this intentional?): RFC 2833 (Obsoleted by RFC 4733, RFC 4734) -- Obsolete informational reference (is this intentional?): RFC 4347 (Obsoleted by RFC 6347) == Outdated reference: A later version (-09) exists of draft-ietf-sipping-update-pai-07 == Outdated reference: A later version (-05) exists of draft-ietf-sip-ipv6-abnf-fix-02 == Outdated reference: A later version (-08) exists of draft-ietf-sip-ua-privacy-03 == Outdated reference: A later version (-06) exists of draft-ietf-sip-body-handling-04 == Outdated reference: A later version (-07) exists of draft-ietf-sip-domain-certs-02 == Outdated reference: A later version (-10) exists of draft-ietf-sip-session-policy-framework-04 == Outdated reference: A later version (-03) exists of draft-ietf-mmusic-qos-identification-02 == Outdated reference: A later version (-14) exists of draft-ietf-sip-connect-reuse-12 == Outdated reference: A later version (-13) exists of draft-ietf-sip-location-conveyance-10 Summary: 1 error (**), 0 flaws (~~), 26 warnings (==), 22 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIP J. Rosenberg 3 Internet-Draft Cisco 4 Intended status: Informational November 3, 2008 5 Expires: May 7, 2009 7 A Hitchhiker's Guide to the Session Initiation Protocol (SIP) 8 draft-ietf-sip-hitchhikers-guide-06 10 Status of this Memo 12 By submitting this Internet-Draft, each author represents that any 13 applicable patent or other IPR claims of which he or she is aware 14 have been or will be disclosed, and any of which he or she becomes 15 aware will be disclosed, in accordance with Section 6 of BCP 79. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt. 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 This Internet-Draft will expire on May 7, 2009. 35 Copyright Notice 37 Copyright (C) The IETF Trust (2008). 39 Abstract 41 The Session Initiation Protocol (SIP) is the subject of numerous 42 specifications that have been produced by the IETF. It can be 43 difficult to locate the right document, or even to determine the set 44 of Request for Comments (RFC) about SIP. This specification serves 45 as a guide to the SIP RFC series. It lists a current snapshot of the 46 specifications under the SIP umbrella, briefly summarizes each, and 47 groups them into categories. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2. Scope of this Document . . . . . . . . . . . . . . . . . . . . 5 53 3. Core SIP Specifications . . . . . . . . . . . . . . . . . . . 6 54 4. Public Switched Telephone Network (PSTN) Interworking . . . . 9 55 5. General Purpose Infrastructure Extensions . . . . . . . . . . 11 56 6. NAT Traversal . . . . . . . . . . . . . . . . . . . . . . . . 13 57 7. Call Control Primitives . . . . . . . . . . . . . . . . . . . 14 58 8. Event Framework . . . . . . . . . . . . . . . . . . . . . . . 15 59 9. Event Packages . . . . . . . . . . . . . . . . . . . . . . . . 16 60 10. Quality of Service . . . . . . . . . . . . . . . . . . . . . . 17 61 11. Operations and Management . . . . . . . . . . . . . . . . . . 18 62 12. SIP Compression . . . . . . . . . . . . . . . . . . . . . . . 19 63 13. SIP Service URIs . . . . . . . . . . . . . . . . . . . . . . . 19 64 14. Minor Extensions . . . . . . . . . . . . . . . . . . . . . . . 20 65 15. Security Mechanisms . . . . . . . . . . . . . . . . . . . . . 22 66 16. Conferencing . . . . . . . . . . . . . . . . . . . . . . . . . 26 67 17. Instant Messaging, Presence and Multimedia . . . . . . . . . . 27 68 18. Emergency Services . . . . . . . . . . . . . . . . . . . . . . 27 69 19. Security Considerations . . . . . . . . . . . . . . . . . . . 28 70 20. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 71 21. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 28 72 22. Informative References . . . . . . . . . . . . . . . . . . . . 28 73 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 41 74 Intellectual Property and Copyright Statements . . . . . . . . . . 42 76 1. Introduction 78 The Session Initiation Protocol (SIP) [RFC3261] is the subject of 79 numerous specifications that have been produced by the IETF. It can 80 be difficult to locate the right document, or even to determine the 81 set of Request for Comments (RFC) about SIP. Don't Panic! [HGTTG] 82 This specification serves as a guide to the SIP RFC series. It is a 83 current snapshot of the specifications under the SIP umbrella at the 84 time of publication. It is anticipated that this document itself 85 will be regularly updated as SIP specifications mature. Furthermore, 86 it references many specifications, which, at time of publication of 87 this document, were not yet finalized, and may eventually be 88 completed or abandoned. Therefore, the enumeration of specifications 89 here is a work-in-progress and subject to change. 91 For each specification, a paragraph or so description is included 92 that summarizes the purpose of the specification. Each specification 93 also includes a letter that designates its category in the standards 94 track [RFC2026]. These values are: 96 S: Standards Track (Proposed Standard, Draft Standard, or Standard) 98 E: Experimental 100 B: Best Current Practice 102 I: Informational 104 The specifications are grouped together by topic. The topics are: 106 Core: The essential SIP specifications that are expected to be 107 utilized for every session or registration. 109 PSTN Interop: Specifications related to interworking with the 110 telephone network. 112 General Purpose Infrastructure: General purpose extensions to SIP, 113 SDP and MIME, but ones that are not expected to always be used. 115 NAT Traversal: Specifications to deal with firewall and NAT 116 traversal. 118 Minor Extensions: Specifications that solve a narrow problem space 119 or provide an optimization. 121 Conferencing: Specifications for multimedia conferencing. 123 Call Control Primitives: Specifications for manipulating SIP dialogs 124 and calls. 126 Event Framework: Defines the core specifications for the SIP event 127 framework, providing for pub/sub capability. 129 Event Packages: Packages that utilize the SIP event framework. 131 Quality of Service: Specifications related to multimedia quality of 132 service (QoS). 134 Operations and Management: Specifications related to configuration 135 and monitoring of SIP deployments. 137 SIP Compression: Specifications to facilitate usage of SIP with the 138 Signaling Compression (Sigcomp) framework. 140 SIP Service URIs: Specifications on how to use SIP URIs to address 141 multimedia services. 143 Security Mechanisms: Specifications providing security functionality 144 for SIP. 146 Instant Messaging, Presence, and Multimedia: SIP extensions related 147 to IM, presence and multimedia. This covers only the SIP 148 extensions related to these topics. See [I-D.ietf-simple-simple] 149 for a full treatment of SIP for IM and Presence (SIMPLE). 151 Emergency Services: SIP extensions related to emergency services. 152 See [I-D.ietf-ecrit-framework] for a more complete treatment of 153 additional functionality related to emergency services. 155 Typically, SIP extensions fit naturally into topic areas, and 156 implementers interested in a particular topic often implement many or 157 all of the specifications in that area. There are some 158 specifications which fall into multiple topic areas, in which case 159 they are listed more than once. 161 Do not print all the specs cited here at once, as they might share 162 the fate of the rules of Brockian Ultracricket when bound together: 163 collapse under their own gravity and form a black hole [HGTTG]. 165 This document itself is not an update to RFC 3261 or an extension to 166 SIP. It is an informational document, meant to guide newcomers, 167 implementors and deployers to the many of the specifications 168 associated with SIP. 170 2. Scope of this Document 172 It is very difficult to enumerate the set of SIP specifications. 173 This is because there are many protocols that are intimately related 174 to SIP and used by nearly all SIP implementations, but are not 175 formally SIP extensions. As such, this document formally defines a 176 "SIP specification" as: 178 o RFC 3261 and any specification that defines an extension to it, 179 where an extension is a mechanism that changes or updates in some 180 way a behavior specified there. 182 o The basic SDP specification, RFC 4566 [RFC4566], and any 183 specification that defines an extension to SDP whose primary 184 purpose is to support SIP. 186 o Any specification that defines a MIME object whose primary purpose 187 is to support SIP 189 Excluded from this list are requirements, architectures, registry 190 definitions, non-normative frameworks, and processes. Best Current 191 Practices are included when they normatively define mechanisms for 192 accomplishing a task, or provide significant description of the usage 193 of the normative specifications, such as call flows. 195 The SIP change process [RFC3427] defines two types of extensions to 196 SIP. These are normal extensions and the so-called P-headers (where 197 P stands for "preliminary", "private", or "proprietary", and the "P-" 198 prefix is included in the header field name), which are meant to be 199 used in areas of limited applicability. P-headers cannot be defined 200 in the standards track. For the most part, P-headers are not 201 included in the listing here, with the exception of those which have 202 seen general usage despite their P-header status. 204 This document includes specifications which have already been 205 approved by the IETF and granted an RFC number, in addition to 206 Internet Drafts which are still under development within IETF and 207 will eventually finish and get an RFC number. Inclusion of Internet 208 Drafts here helps encourage early implementation and demonstrations 209 of interoperability of the protocol, and thus aids in the standards 210 setting process. Inclusion of these also identifes where the IETF is 211 targetting a solution at a particular problem space. Note that final 212 IANA assignment of codepoints (such as option tags and header field 213 names) does not take place until shortly before publication as an 214 RFC, and thus codepoint assignments may change. 216 3. Core SIP Specifications 218 The core SIP specifications represent the set of specifications whose 219 functionality is broadly applicable. An extension is broadly 220 applicable if it fits into one of the following categories: 222 o For specifications that impact SIP session management, the 223 extension would be used for almost every session initiated by a 224 user agent 226 o For specifications that impact SIP registrations, the extension 227 would be used for almost every registration initiated by a user 228 agent 230 o For specifications that impact SIP subscriptions, the extension 231 would be used for almost every subscription initiated by a user 232 agent 234 In other words, these are not specifications that are used just for 235 some requests and not others; they are specifications that would 236 apply to each and every request that the extension is relevant for. 237 In the galaxy of SIP, these specifications are like towels [HGTTG]. 239 RFC 3261, The Session Initiation Protocol (S): [RFC3261] is the core 240 SIP protocol itself. RFC 3261 is an update to [RFC2543]. It is 241 the president of the galaxy [HGTTG] as far as the suite of SIP 242 specifications is concerned. 244 RFC 3263, Locating SIP Servers (S): [RFC3263] provides DNS 245 procedures for taking a SIP URI, and determining a SIP server that 246 is associated with that SIP URI. RFC 3263 is essential for any 247 implementation using SIP with DNS. RFC 3263 makes use of both DNS 248 SRV records [RFC2782] and NAPTR records [RFC2915]. 250 RFC 3264, An Offer/Answer Model with the Session Description Protocol 251 (S): [RFC3264] defines how the Session Description Protocol (SDP) 252 [RFC4566] is used with SIP to negotiate the parameters of a media 253 session. It is in widespread usage and an integral part of the 254 behavior of RFC 3261. 256 RFC 3265, SIP-Specific Event Notification (S): [RFC3265] defines the 257 SUBSCRIBE and NOTIFY methods. These two methods provide a general 258 event notification framework for SIP. To actually use the 259 framework, extensions need to be defined for specific event 260 packages. An event package defines a schema for the event data, 261 and describes other aspects of event processing specific to that 262 schema. An RFC 3265 implementation is required when any event 263 package is used. 265 RFC 3325, Private Extensions to SIP for Asserted Identity within 266 Trusted Networks (I): Though its P-header status implies that it has 267 limited applicability, [RFC3325], which defines the P-Asserted- 268 Identity header field, has been widely deployed. It is used as 269 the basic mechanism for providing network asserted caller ID 270 services. Its update, [I-D.ietf-sipping-update-pai], clarifies 271 its usage for connected party identification as well. 273 RFC 3327, SIP Extension Header Field for Registering Non-Adjacent 274 Contacts (S): [RFC3327] defines the Path header field. This field 275 is inserted by proxies between a client and their registrar. It 276 allows inbound requests towards that client to traverse these 277 proxies prior to being delivered to the user agent. It is 278 essential in any SIP deployment that has edge proxies, which are 279 proxies between the client and the home proxy or SIP registrar. 281 RFC 3581, An Extension to SIP for Symmetric Response Routing (S): 282 [RFC3581] defines the rport parameter of the Via header. It 283 allows SIP responses to traverse NAT. It is one of several 284 specifications that are utilized for NAT traversal (see 285 Section 6). 287 RFC 3840, Indicating User Agent Capabilities in SIP (S): [RFC3840] 288 defines a mechanism for carrying capability information about a 289 user agent in REGISTER requests and in dialog-forming requests 290 like INVITE. It has found use with conferencing (the isfocus 291 parameter declares that a user agent is a conference server) and 292 with applications like push-to-talk. 294 RFC 4320, Actions Addressing Issues Identified with the Non-INVITE 295 Transaction in SIP (S): [RFC4320] formally updates RFC 3261, and 296 modifies some of the behaviors associated with non-INVITE 297 transactions. This addresses some problems found in timeout and 298 failure cases. 300 RFC 4474, Enhancements for Authenticated Identity Management in SIP 301 (S): [RFC4474] defines a mechanism for providing a cryptographically 302 verifiable identity of the calling party in a SIP request. Known 303 as "SIP Identity", this mechanism provides an alternative to RFC 304 3325. It has seen little deployment so far, but its importance as 305 a key construct for anti-spam techniques and new security 306 mechanisms makes it a core part of the SIP specifications. 308 draft-ietf-sip-gruu, Obtaining and Using Globally Routable User Agent 309 Identifiers (GRUU) in SIP (S): [I-D.ietf-sip-gruu] defines a 310 mechanism for directing requests towards a specific UA instance. 311 GRUU is essential for features like transfer and provides another 312 piece of the SIP NAT traversal story. 314 draft-ietf-sip-outbound, Managing Client Initiated Connections 315 through SIP (S): [I-D.ietf-sip-outbound], also known as SIP 316 outbound, defines important changes to the SIP registration 317 mechanism which enable delivery of SIP messages towards a UA when 318 it is behind a NAT. This specification is the cornerstone of the 319 SIP NAT traversal strategy. 321 RFC 4566, Session Description Protocol (S): [RFC4566] defines a 322 format for representing multimedia sessions. SDP objects are 323 carried in the body of SIP messages, and based on the offer/answer 324 model, are used to negotiate the media characteristics of a 325 session between users. 327 draft-ietf-mmusic-sdp-capability-negotiation, SDP Capability 328 Negotiation (S): [I-D.ietf-mmusic-sdp-capability-negotiation] 329 defines a set of extensions to SDP that allow for capability 330 negotiation within SDP. Capability negotiation can be used to 331 select between different profiles of RTP (secure vs. unsecure) or 332 to negotiate codecs such that an agent has to select one amongst a 333 set of supported codecs. 335 draft-ietf-mmusic-ice, Interactive Connectivity Establishment (ICE) 336 (S): [I-D.ietf-mmusic-ice] defines a technique for NAT traversal of 337 media sessions for protocols that make use of the offer/answer 338 model. This specification is the IETF recommended mechanism for 339 NAT traversal for SIP media streams, and is meant to be used even 340 by endpoints which are themselves never behind a NAT. A SIP 341 option tag and media feature tag [I-D.ietf-sip-ice-option-tag] 342 (also a core specification) have been defined for use with ICE. 344 RFC 3605, Real Time Control Protocol (RTCP) Attribute in the Session 345 Description Protocol (SDP) (S): [RFC3605] defines a way to 346 explicitly signal, within an SDP message, the IP address and port 347 for RTCP, rather than using the port+1 rule in the Real Time 348 Transport Protocol (RTP) [RFC3550]. It is needed for devices 349 behind NAT and used by ICE. 351 RFC 4916, Connected Identity in the Session Initiation Protocol (SIP) 352 (S): [RFC4916] formally updates RFC 3261. It defines an extension 353 to SIP that allows a calling user to determine the identity of the 354 final called user (connected party). Due to forwarding and 355 retargeting services, this may not be the same as the user that 356 the caller was originally trying to reach. The mechanism works in 357 tandem with the SIP identity specification [RFC4474] to provide 358 signatures over the connected party identity. It can also be used 359 if a party identity changes mid call due to third party call 360 control actions or PSTN behavior. 362 RFC 3311, The SIP UPDATE Method (S): [RFC3311] defines the UPDATE 363 method for SIP. This method is meant as a means for updating 364 session information prior to the completion of the initial INVITE 365 transaction. It can also be used to update other information, 366 such as the identity of the participant [RFC4916], without 367 involving an updated offer/answer exchange. It was developed 368 initially to support [RFC3312] but has found other uses. In 369 particular, its usage with RFC 4916 means it will typically be 370 used as part of every session, to convey a secure connected 371 identity. 373 draft-ietf-sip-sips, The use of the SIPS URI Scheme in the Session 374 Initiation Protocol (SIP) (S): [I-D.ietf-sip-sips] formally updated 375 RFC 3261. It revises the processing of the SIPS URI, originally 376 defined in RFC 3261, to fix many errors and problems that have 377 been encountered with that mechanism. 379 RFC 3665, Session Initiation Protocol (SIP) Basic Call Flow Examples 380 (B): [RFC3665] contains best practice call flow examples for basic 381 SIP interactions - call establishment, termination, and 382 registration. 384 Essential Corrections to SIP: A collection of fixes to SIP that 385 address important bugs and vulnerabilities. These include a fix 386 requiring loop detection in any proxy that forks 387 [I-D.ietf-sip-fork-loop-fix], a clarification on how record- 388 routing works [I-D.ietf-sip-record-route-fix], and a correction to 389 the IPv6 BNF [I-D.ietf-sip-ipv6-abnf-fix]. 391 4. Public Switched Telephone Network (PSTN) Interworking 393 Numerous extensions and usages of SIP related to interoperability and 394 communications with or through the PSTN. 396 RFC 2848, The PINT Service Protocol (S): [RFC2848] is one of the 397 earliest extensions to SIP. It defines procedures for using SIP 398 to invoke services that actually execute on the PSTN. Its main 399 application is for third party call control, allowing an IP host 400 to set up a call between two PSTN endpoints. PINT has a 401 relatively narrow focus and has not seen widespread deployment. 403 RFC 3910, The SPIRITS Protocol (S): Continuing the trend of naming 404 PSTN related extensions with alcohol references, SPIRITS [RFC3910] 405 defines the inverse of PINT. It allows a switch in the PSTN to 406 ask an IP element about how to proceed with call waiting. It was 407 developed primarily to support Internet Call Waiting (ICW). 408 Perhaps the next specification will be called the Pan Galactic 409 Gargle Blaster [HGTTG]. 411 RFC 3372, SIP for Telephones (SIP-T): Context and Architectures (I): 412 SIP-T [RFC3372] defines a mechanism for using SIP between pairs of 413 PSTN gateways. Its essential idea is to tunnel ISUP signaling 414 between the gateways in the body of SIP messages. SIP-T motivated 415 the development of INFO [RFC2976]. SIP-T has seen widespread 416 implementation for the limited deployment model that it addresses. 417 As ISUP endpoints disappear from the network, the need for this 418 mechanism will decrease. 420 RFC 3398, ISUP to SIP Mapping (S): [RFC3398] defines how to do 421 protocol mapping from the SS7 ISDN User Part (ISUP) signaling to 422 SIP. It is widely used in SS7 to SIP gateways and is part of the 423 SIP-T framework. 425 RFC 4497, Interworking between the Session Initiation Protocol (SIP) 426 and QSIG (B): [RFC4497] defines how to do protocol mapping from 427 Q.SIG, used for PBX signaling, to SIP. 429 RFC 3578, Mapping of ISUP Overlap Signaling to SIP (S): [RFC3578] 430 defines a mechanism to map overlap dialing into SIP. This 431 specification is widely regarded as the ugliest SIP specification, 432 as the introduction to the specification itself advises that it 433 has many problems. Overlap signaling (the practice of sending 434 digits into the network as dialed instead of waiting for complete 435 collection of the called party number) is largely incompatible 436 with SIP at some fairly fundamental levels. That said, RFC 3578 437 is mostly harmless and has seen some usage. 439 RFC 3960, Early Media and Ringtone Generation in SIP (I): [RFC3960] 440 defines some guidelines for handling early media - the practice of 441 sending media from the called party or an application server 442 towards the caller - prior to acceptance of the call. Early media 443 is often generated from the PSTN. Early media is a complex topic, 444 and this specification does not fully address the problems 445 associated with it. 447 RFC 3959, Early Session Disposition Type for the Session Initiation 448 Protocol (SIP) (S): [RFC3959] defines a new session disposition type 449 for use with early media. It indicates that the SDP in the body 450 is for a special early media session. This has seen little usage. 452 RFC 3204, MIME Media Types for ISUP and QSIG Objects (S): [RFC3204] 453 defines MIME objects for representing SS7 and QSIG signaling 454 messages. SS7 signaling messages are carried in the body of SIP 455 messages when SIP-T is used. QSIG signaling messages can be 456 carried in a similar way. 458 RFC3666, Session Initiation Protocol (SIP) Public Switched Telephone 459 Network (PSTN) Call Flows (B): [RFC3666] provides best practice call 460 flows around interworking with the PSTN. 462 5. General Purpose Infrastructure Extensions 464 These extensions are general purpose enhancements to SIP, SDP and 465 MIME that can serve a wide variety of uses. However, they are not 466 used for every session or registration, as the core specifications 467 are. 469 RFC 3262, Reliability of Provisional Responses in SIP (S): SIP 470 defines two types of responses to a request - final and 471 provisional. Provisional responses are numbered from 100 to 199. 472 In SIP, these responses are not sent reliably. This choice was 473 made in RFC 2543 since the messages were meant to just be truly 474 informational, and rendered to the user. However, subsequent work 475 on PSTN interworking demonstrated a need to map provisional 476 responses to PSTN messages that needed to be sent reliably. 477 [RFC3262] was developed to allow reliability of provisional 478 responses. The specification defines the PRACK method, used for 479 indicating that a provisional response was received. Though it 480 provides a generic capability for SIP, RFC 3262 implementations 481 have been most common in PSTN interworking devices. However, 482 PRACK brings a great deal of complication for relatively small 483 benefit. As such, it has seen only moderate levels of deployment. 485 RFC 3323, A Privacy Mechanism for the Session Initiation Protocol 486 (SIP) (S): [RFC3323] defines the Privacy header field, used by 487 clients to request anonymity for their requests. Though it 488 defines several privacy services, the only one broadly used is the 489 one that supports privacy of the P-Asserted-Identity header field 490 [RFC3325]. 492 draft-ietf-sip-ua-privacy, UA-Driven Privacy Mechanism for SIP (S): 493 [I-D.ietf-sip-ua-privacy] defines a mechanism for achieving 494 anonymous calls in SIP. It is an alternative to [RFC3323], and 495 instead places more intelligence in the endpoint to craft 496 anonymous messages by directly accessing network services. 498 RFC 2976, The INFO Method (S): [RFC2976] was defined as an extension 499 to RFC 2543. It defines a method, INFO, used to transport mid- 500 dialog information that has no impact on SIP itself. Its driving 501 application was the transport of PSTN related information when 502 using SIP between a pair of gateways. Though originally conceived 503 for broader use, it only found standardized usage with SIP-T 504 [RFC3372]. It has been used to support numerous proprietary and 505 non-interoperable extensions due to its poorly defined scope. 507 RFC 3326, The Reason header field for SIP (S): [RFC3326] defines the 508 Reason header field. It is used in requests, such as BYE, to 509 indicate the reason that the request is being sent. 511 RFC 3388, Grouping of Media Lines in the Session Description Protocol 512 (S): RFC 3388 [RFC3388] defines a framework for grouping together 513 media streams in an SDP message. Such a grouping allows 514 relationships between these streams, such as which stream is the 515 audio for a particular video feed, to be expressed. 517 RFC 3420, Internet Media Type message/sipfrag (S): [RFC3420] defines 518 a MIME object that contains a SIP message fragment. Only certain 519 header fields and parts of the SIP message are present. For 520 example, it is used to report back on the responses received to a 521 request sent as a consequence of a REFER. 523 RFC 3608, SIP Extension Header Field for Service Route Discovery 524 During Registration (S): [RFC3608] allows a client to determine, 525 from a REGISTER response, a path of proxies to use in requests it 526 sends outside of a dialog. It can also be used by proxies to 527 verify the Route header in client initiated requests. In many 528 respects, it is the inverse of the Path header field, but has seen 529 less usage since default outbound proxies have been sufficient in 530 many deployments. 532 RFC 3841, Caller Preferences for SIP (S): [RFC3841] defines a set of 533 headers that a client can include in a request to control the way 534 in which the request is routed downstream. It allows a client to 535 direct a request towards a UA with specific capabilities, which a 536 UA indicates using [RFC3840]. 538 RFC 4028, Session Timers in SIP (S): [RFC4028] defines a keepalive 539 mechanism for SIP signaling. It is primarily meant to provide a 540 way to cleanup old state in proxies that are holding call state 541 for calls from failed endpoints which were never terminated 542 normally. Despite its name, the session timer is not a mechanism 543 for detecting a network failure mid-call. Session timers 544 introduces a fair bit of complexity for relatively little gain, 545 and have seen moderate deployment. 547 RFC 4168, SCTP as a Transport for SIP (S): [RFC4168] defines how to 548 carry SIP messages over the Stream Control Transmission Protocol 549 (SCTP) [RFC4960]. SCTP has seen very limited usage for SIP 550 transport. 552 RFC 4244, An Extension to SIP for Request History Information (S): 553 [RFC4244] defines the History-Info header field, which indicates 554 information on how and why a call came to be routed to a 555 particular destination. 557 RFC 4145, TCP-Based Media Transport in the Session Description 558 Protocol (SDP) (S): [RFC4145] defines an extension to SDP for 559 setting up TCP-based sessions between user agents. It defines who 560 sets up the connection and how its lifecycle is managed. It has 561 seen relatively little usage due to the small number of media 562 types to date which use TCP. 564 RFC 4091, The Alternative Network Address Types (ANAT) Semantics for 565 the Session Description Protocol (SDP) Grouping Framework (S): 566 [RFC4091] defines a mechanism for including both IPv4 and IPv6 567 addresses for a media session as alternates. This mechanism has 568 been deprecated in favor of ICE [I-D.ietf-mmusic-ice]. 570 draft-ietf-mmusic-sdp-media-capabilities, SDP Media Capabilities 571 Negotiation (S): [I-D.ietf-mmusic-sdp-media-capabilities] defines an 572 extension to the SDP capability negotiation framework 573 [I-D.ietf-mmusic-sdp-capability-negotiation] for negotiating 574 codecs, codec parameters, and media streams. 576 draft-ietf-sip-body-handling, Message Body Handling in the Session 577 Initiation Protocol (SIP): [I-D.ietf-sip-body-handling] clarifies 578 handling of bodies in SIP, focusing primarily on multi-part 579 behavior, which was underspecified in SIP. 581 6. NAT Traversal 583 These SIP extensions are primarily aimed at addressing NAT traversal 584 for SIP. 586 draft-ietf-mmusic-ice, Interactive Connectivity Establishment (ICE) 587 (S): [I-D.ietf-mmusic-ice] defines a technique for NAT traversal of 588 media sessions for protocols that make use of the offer/answer 589 model. This specification is the IETF recommended mechanism for 590 NAT traversal for SIP media streams, and is meant to be used even 591 by endpoints which are themselves never behind a NAT. A SIP 592 option tag and media feature tag [I-D.ietf-sip-ice-option-tag] 593 have been defined for use with ICE. 595 draft-ietf-mmusic-ice-tcp, TCP Candidates with Interactive 596 Connectivity Establishment (ICE) (S): [I-D.ietf-mmusic-ice-tcp] 597 specifies the usage of ICE for TCP streams. This allows for 598 selection of RTP-based voice ontop of TCP only when NAT or 599 firewalls would prevent UDP-based voice from working. 601 RFC 3605, Real Time Control Protocol (RTCP) Attribute in the Session 602 Description Protocol (SDP) (S): [RFC3605] defines a way to 603 explicitly signal, within an SDP message, the IP address and port 604 for RTCP, rather than using the port+1 rule in the Real Time 605 Transport Protocol (RTP) [RFC3550]. It is needed for devices 606 behind NAT and used by ICE. 608 draft-ietf-sip-outbound, Managing Client Initiated Connections 609 through SIP (S): [I-D.ietf-sip-outbound], also known as SIP 610 outbound, defines important changes to the SIP registration 611 mechanism which enable delivery of SIP messages towards a UA when 612 it is behind a NAT. 614 RFC 3581, An Extension to SIP for Symmetric Response Routing (S): 615 [RFC3581] defines the rport parameter of the Via header. It 616 allows SIP responses to traverse NAT. 618 draft-ietf-sip-gruu, Obtaining and Using Globally Routable User Agent 619 Identifiers (GRUU) in SIP (S): [I-D.ietf-sip-gruu] defines a 620 mechanism for directing requests towards a specific UA instance. 621 GRUU is essential for features like transfer and provides another 622 piece of the SIP NAT traversal story. 624 7. Call Control Primitives 626 Numerous SIP extensions provide a toolkit of dialog and call 627 management techniques. These techniques have been combined together 628 to build many SIP-based services. 630 RFC 3515, The REFER Method (S): REFER [RFC3515] defines a mechanism 631 for asking a user agent to send a SIP request. It's a form of SIP 632 remote control, and is the primary tool used for call transfer in 633 SIP. Beware that not all potential uses of REFER (neither for all 634 methods nor for all URI schemes) are well defined. Implementors 635 should only use the well-defined ones, and should not second guess 636 or freely assume behavior for the others to avoid unexpected 637 behavior of remote UAs, interoperability issues, and other bad 638 surprises. 640 RFC 3725, Best Current Practices for Third Party Call Control (3pcc) 641 (B): [RFC3725] defines a number of different call flows that allow 642 one SIP entity, called the controller, to create SIP sessions 643 amongst other SIP user agents. 645 RFC 3911, The SIP Join Header Field (S): [RFC3911] defines the Join 646 header field. When sent in an INVITE, it causes the recipient to 647 join the resulting dialog into a conference with another dialog in 648 progress. 650 RFC 3891, The SIP Replaces Header (S): [RFC3891] defines a mechanism 651 that allows a new dialog to replace an existing dialog. It is 652 useful for certain advanced transfer services. 654 RFC 3892, The SIP Referred-By Mechanism (S): [RFC3892] defines the 655 Referred-By header field. It is used in requests triggered by 656 REFER, and provides the identity of the referring party to the 657 referred-to party. 659 RFC 4117, Transcoding Services Invocation in SIP Using Third Party 660 Call Control (I): [RFC4117] defines how to use 3pcc for the purposes 661 of invoking transcoding services for a call. 663 8. Event Framework 665 RFC 3265, SIP-Specific Event Notification (S): [RFC3265] defines the 666 SUBSCRIBE and NOTIFY methods. These two methods provide a general 667 event notification framework for SIP. To actually use the 668 framework, extensions need to be defined for specific event 669 packages. An event package defines a schema for the event data, 670 and describes other aspects of event processing specific to that 671 schema. An RFC 3265 implementation is required when any event 672 package is used. 674 RFC 3903, SIP Extension for Event State Publication (S): [RFC3903] 675 defines the PUBLISH method. It is not an event package, but is 676 used by all event packages as a mechanism for pushing an event 677 into the system. 679 RFC 4662, A Session Initiation Protocol (SIP) Event Notification 680 Extension for Resource Lists (S): [RFC4662] defines an extension to 681 RFC 3265 that allows a client to subscribe to a list of resources 682 using a single subscription. The server, called a Resource List 683 Server (RLS) will "expand" the subscription and subscribe to each 684 individual member of the list. It has found applicability 685 primarily in the area of presence, but can be used with any event 686 package. 688 draft-ietf-sip-subnot-etags, An Extension to Session Initiation 689 Protocol (SIP) Events for Conditional Event Notification (S): 690 [I-D.ietf-sip-subnot-etags] defines an extension to RFC 3265 to 691 optimize the performance of notifications. When a client 692 subscribes, it can indicate what version of a document it has, so 693 that the server can skip sending a notification if the client is 694 up to date. It is applicable to any event package. 696 9. Event Packages 698 These are event packages defined to utilize the SIP events framework. 699 Many of these are also listed elsewhere in their respective areas. 701 RFC 3680, A SIP Event Package for Registrations (S): [RFC3680] 702 defines an event package for finding out about changes in 703 registration state. 705 draft-ietf-sipping-gruu-reg-event (S): 706 [I-D.ietf-sipping-gruu-reg-event] is an extension to the 707 registration event package [RFC3680] that allows user agents to 708 learn about their GRUUs. It is particularly useful in helping to 709 synchronize a client and its registrar with its currently valid 710 temporary GRUU. 712 RFC 3842, A Message Summary and Message Waiting Indication Event 713 Package for SIP (S): [RFC3482] defines a way for a user agent to 714 find out about voicemails and other messages that are waiting for 715 it. Its primary purpose is to enable the voicemail waiting lamp 716 on most business telephones. 718 RFC 3856, A Presence Event Package for SIP (S): [RFC3856] defines an 719 event package for indicating user presence through SIP. 721 RFC 3857, A Watcher Information Event Template Package for SIP (S): 722 [RFC3857], also known as winfo, provides a mechanism for a user 723 agent to find out what subscriptions are in place for a particular 724 event package. Its primary usage is with presence, but it can be 725 used with any event package. 727 RFC 4235, An INVITE Initiated Dialog Event Package for SIP (S): 728 [RFC4235] defines an event package for learning the state of the 729 dialogs in progress at a user agent, and is one of several RFCs 730 starting with the important number 42 [HGTTG]. 732 RFC 4575, A SIP Event Package for Conference State (S): [RFC4575] 733 defines a mechanism for learning about changes in conference 734 state, including conference membership. 736 RFC 4730, A SIP Event Package for Keypress Stimulus (KPML) (S): 737 [RFC4730] defines a way for an application in the network to 738 subscribe to the set of keypresses made on the keypad of a 739 traditional telephone. It, along with RFC 2833 [RFC2833], are the 740 two mechanisms defined for handling DTMF. RFC 4730 is a 741 signaling-path solution, and RFC 2833 is a media-path solution. 743 draft-ietf-sipping-rtcp-summary, SIP Event Package for Voice Quality 744 Reporting (S): [I-D.ietf-sipping-rtcp-summary] defines a SIP event 745 package that enables the collection and reporting of metrics that 746 measure the quality for Voice over Internet Protocol (VoIP) 747 sessions. 749 draft-ietf-sip-session-policy-framework, A Framework for Session 750 Initiation Protocol (SIP) Session Policies (S): 751 [I-D.ietf-sip-session-policy-framework] defines a framework for 752 session policies. In this framework, policy servers are used to 753 tell user agents about the media characteristics required for a 754 particular session. The session policy framework has not been 755 widely implemented. 757 draft-ietf-sipping-policy-package, A Session Initiation Protocol 758 (SIP) Event Package for Session-Specific Session Policies (S): 759 [I-D.ietf-sipping-policy-package] defines a SIP event package used 760 in conjunction with the session policy framework 761 [I-D.ietf-sip-session-policy-framework]. 763 RFC 5362, The Session Initiation Protocol (SIP) Pending Additions 764 Event Package (S): [RFC5362] defines a SIP event package that allows 765 a UA to learn whether consent has been given for the addition of 766 an address to a SIP "mailing list". It is used in conjunction 767 with the SIP framework for consent [RFC5360]. 769 10. Quality of Service 771 Several specifications concern themselves with the interactions of 772 SIP with network Quality of Service (QoS) mechanisms. 774 RFC 3312, Integration of Resource Management and SIP (S): [RFC3312], 775 updated by [RFC4032] defines a way to make sure that the phone of 776 the called party doesn't ring until a QoS reservation has been 777 installed in the network. It does so by defining a general 778 preconditions framework, which defines conditions that must be 779 true in order for a SIP session to proceed. 781 draft-ietf-mmusic-qos-identification, Quality of Service (QoS) 782 Mechanism Selection in the Session Description Protocol (SDP) (S): 783 [I-D.ietf-mmusic-qos-identification] defines a way for user agents 784 to negotiate what type of end-to-end QoS mechanism to use for a 785 session. At this time, there are two that can be used - RSVP and 786 NSIS. This negotiation is done through an SDP extension. Due to 787 limited deployment of RSVP and even more limited deployment of 788 NSIS, this extension has not been widely used. 790 RFC 3313, Private SIP Extensions for Media Authorization (I): 791 [RFC3313] defines a P-header that provides a mechanism for passing 792 an authorization token between SIP and a network QoS reservation 793 protocol like RSVP. Its purpose is to make sure network QoS is 794 only granted if a client has made a SIP call through the same 795 providers network. This specification is sometimes referred to as 796 the SIP walled garden specification by the truly paranoid androids 797 in the SIP community. This is because it requires coupling of 798 signaling and the underlying IP network. 800 RFC 3524, Mapping of Media Streams to Resource Reservation Flows 801 (S): [RFC3524] defines a usage of the SDP grouping framework for 802 indicating that a set of media streams should be handled by a 803 single resource reservation. 805 11. Operations and Management 807 Several specifications have been defined to support operations and 808 management of SIP systems. These include mechanisms for 809 configuration and network diagnostics. 811 draft-ietf-sipping-config-framework, A Framework for SIP User Agent 812 Profile Delivery (S): [I-D.ietf-sipping-config-framework] defines a 813 mechanism that allows a SIP user agent to bootstrap its 814 configuration from the network, and receive updates to its 815 configuration should it change. This is considered an essential 816 piece of deploying a usable SIP network. 818 draft-ietf-sipping-rtcp-summary, SIP Event Package for Voice Quality 819 Reporting (S): [I-D.ietf-sipping-rtcp-summary] defines a SIP event 820 package that enables the collection and reporting of metrics that 821 measure the quality for Voice over Internet Protocol (VoIP) 822 sessions. 824 12. SIP Compression 826 Sigcomp [RFC3320] [RFC4896] was defined to allow compression of SIP 827 messages over low bandwidth links. Sigcomp is not formally part of 828 SIP. However, usage of Sigcomp with SIP has required extensions to 829 SIP. 831 RFC 3486, Compressing SIP (S): [RFC3486] defines a SIP URI parameter 832 that can be used to indicate that a SIP server supports Sigcomp. 834 RFC 5049, Applying Signaling Compression (SigComp) to the Session 835 Initiation Protocol (SIP) (S): [RFC5049] defines how to apply 836 Sigcomp to SIP. 838 13. SIP Service URIs 840 Several extensions define well-known services that can be invoked by 841 constructing requests with the specific structures for the Request 842 URI, resulting in specific behaviors at the UAS. 844 RFC 3087, Control of Service Context using Request URI (I): 845 [RFC3087] introduced the context of using Request URIs, encoded 846 appropriately, to invoke services. 848 RFC 4662, A SIP Event Notification Extension for Resource Lists (S): 849 [RFC4662] defines a resource called a Resource List Server. A 850 client can send a subscribe to this server. The server will 851 generate a series of subscriptions, and compile the resulting 852 information and send it back to the subscriber. The set of 853 resources that the RLS will subscribe to is a property of the 854 request URI in the SUBSCRIBE request. 856 RFC 5363, Framework and Security Considerations for Session 857 Initiation Protocol (SIP) Uniform Resource Identifier (URI)-List 858 Services (S): [RFC5363] defines the framework for list services in 859 SIP. In this framework, a UA can include an XML list object in 860 the body of various requests and the server provides list-oriented 861 services as a consequence. For example, a SUBSCRIBE with a list 862 subscribes to the URI in the list. 864 RFC 5367, Subscriptions To Request-Contained Resource Lists in SIP 865 (S): [RFC5367] uses the URI list framework [RFC5363] and allows a 866 client to subscribe to a resource called a Resource List Server. 867 This server will generate subscriptions to the URI in the list, 868 and compile the resulting information and send it back to the 869 subscriber. 871 RFC 5365, Multiple-Recipient MESSAGE Requests in SIP (S): [RFC5365] 872 uses the URI list framework [RFC5363] and allows a client to send 873 a MESSAGE to a number of recipients. 875 RFC 5366, Conference Establishment Using Request-Contained Lists in 876 SIP (S): [RFC5366] uses the URI list framework [RFC5363] and allows 877 a client to ask the server to act as a conference focus and send 878 an invitation to each recipient in the list. 880 RFC 4240, Basic Network Media Services with SIP (I): [RFC4240] 881 defines a way for SIP application servers to invoke announcement 882 and conferencing services from a media server. This is 883 accomplished through a set of defined URI parameters which tell 884 the media server what to do, such as what file to play and what 885 language to render it in. 887 RFC 4458, Session Initiation Protocol (SIP) URIs for Applications 888 such as Voicemail and Interactive Voice Response (IVR) (I): 889 [RFC4458] defines a way to invoke voicemail and IVR services by 890 using a SIP URI constructed in a particular way. 892 14. Minor Extensions 894 These SIP extensions don't fit easily into a single specific use 895 case. They have somewhat general applicability, but they solve a 896 relatively small problem or provide an optimization. 898 RFC 4488, Suppression of the SIP REFER Implicit Subscription (S): 899 [RFC4488] defines an enhancement to REFER. REFER normally creates 900 an implicit subscription to the target of the REFER. This 901 subscription is used to pass back updates on the progress of the 902 referral. This extension allows that implicit subscription to be 903 bypassed as an optimization. 905 RFC 4538, Request Authorization through Dialog Identification in SIP 906 (S): [RFC4538] provides a mechanism that allows a UAS to authorize a 907 request because the requestor proves it knows a dialog that is in 908 progress with the UAS. The specification is useful in conjunction 909 with the SIP application interaction framework 910 [I-D.ietf-sipping-app-interaction-framework]. 912 RFC 4508, Conveying Feature Tags with the REFER Method in SIP (S): 913 [RFC4508] defines a mechanism for carrying RFC 3840 feature tags 914 in REFER. It is useful for informing the target of the REFER 915 about the characteristics of the intentended target of the 916 referred request. 918 draft-ietf-sip-answermode, Requesting Answer Modes for SIP (S): 919 [I-D.ietf-sip-answermode] defines an extension for indicating to 920 the called party whether or not the phone should ring and/or be 921 answered immediately. This is useful for push-to-talk and for 922 diagnostic applications. 924 RFC 5079, Rejecting Anonymous Requests in SIP (S): [RFC5079] defines 925 a mechanism for a called party to indicate to the calling party 926 that a call was rejected since the caller was anonymous. This is 927 needed for implementation of the Anonymous Call Rejection (ACR) 928 feature in SIP. 930 RFC 5368, Referring to Multiple Resources in SIP (S): [RFC5368] 931 allows a UA sending a REFER to ask the recipient of the REFER to 932 generate multiple SIP requests, not just one. This is useful for 933 conferencing, where a client would like to ask a conference server 934 to eject multiple users. 936 RFC 4483, A Mechanism for Content Indirection in Session Initiation 937 Protocol (SIP) Messages (S): [RFC4483] defines a mechanism for 938 content indirection. Instead of carrying an object within a SIP 939 body, a URL reference is carried instead, and the recipient 940 dereferences the URL to obtain the object. The specification has 941 potential applicability for sending large instant messages, but 942 has yet to find much actual use. 944 RFC 3890, A Transport Independent Bandwidth Modifier for the Session 945 Description Protocol (SDP) (S): [RFC3890] specifies an SDP extension 946 that allows for the description of the bandwidth for a media 947 session that is independent of the underlying transport mechanism. 949 RFC 4583, Session Description Protocol (SDP) Format for Binary Floor 950 Control Protocol (BFCP) Streams (S): [RFC4583] defines a mechanism 951 in SDP to signal floor control streams that use BFCP. It is used 952 for Push-To-Talk and conference floor control. 954 draft-ietf-mmusic-connectivity-precon, Connectivity Preconditions for 955 Session Description Protocol Media Streams (S): 956 [I-D.ietf-mmusic-connectivity-precon] defines a usage of the 957 precondition framework [RFC3312]. The connectivity precondition 958 makes sure that the session doesn't get established until actual 959 packet connectivity is checked. 961 RFC 4796, The SDP (Session Description Protocol) Content Attribute 962 (S): [RFC4796] defines an SDP attribute for describing the purpose 963 of a media stream. Examples include a slide view, the speaker, a 964 sign language feed, and so on. 966 draft-ietf-sipping-v6-transition, IPv6 Transition in the Session 967 Initiation Protocol (SIP) (S): [I-D.ietf-sipping-v6-transition] 968 defines practices for interworking between IPv6 and IPv6 user 969 agents. This is done through multi-homed proxies which interwork 970 IPv4 and IPv6, along with ICE [I-D.ietf-mmusic-ice] for media 971 traversal. The specification includes some minor extensions and 972 clarifications to SDP in order to cover some additional cases. 974 draft-ietf-sip-connect-reuse, Connection Reuse in the Session 975 Initiation Protocol (SIP) (S): [I-D.ietf-sip-connect-reuse] defines 976 an extension to SIP that allows a TLS connection between servers 977 to be reused for requests in both directions. Normally two 978 connections are set up between a pair of servers, one for requests 979 in each direction. 981 15. Security Mechanisms 983 Several extensions provide additional security features to SIP. 985 RFC 4474, Enhancements for Authenticated Identity Management in SIP 986 (S): [RFC4474] defines a mechanism for providing a cryptographically 987 verifiable identity of the calling party in a SIP request. Known 988 as "SIP Identity", this mechanism provides an alternative to RFC 989 3325. It has seen little deployment so far, but its importance as 990 a key construct for anti-spam techniques and new security 991 mechanisms makes it a core part of the SIP specifications. 993 RFC 4916, Connected Identity in the Session Initiation Protocol (SIP) 994 (S): [RFC4916] formally updates RFC 3261. It defines an extension 995 to SIP that allows a calling user to determine the identity of the 996 final called user (connected party). Due to forwarding and 997 retargeting services, this may not be the same as the user that 998 the caller was originally trying to reach. The mechanism works in 999 tandem with the SIP identity specification [RFC4474] to provide 1000 signatures over the connected party identity. It can also be used 1001 if a party identity changes mid call due to third party call 1002 control actions or PSTN behavior. 1004 draft-ietf-sip-sips, The use of the SIPS URI Scheme in the Session 1005 Initiation Protocol (SIP) (S): [I-D.ietf-sip-sips] formally updated 1006 RFC 3261. It revises the processing of the SIPS URI, originally 1007 defined in RFC 3261, to fix many errors and problems that have 1008 been encountered with that mechanism. 1010 draft-ietf-sip-domain-certs, Domain Certificates in the Session 1011 Initiation Protocol (SIP) (B): [I-D.ietf-sip-domain-certs] clarifies 1012 the usage of SIP over TLS with regards to certificate handling, 1013 and defines additional procedures needed for interoperability. 1015 RFC 3323, A Privacy Mechanism for the Session Initiation Protocol 1016 (SIP) (S): [RFC3323] defines the Privacy header field, used by 1017 clients to request anonymity for their requests. Though it 1018 defines several privacy services, the only one broadly used is the 1019 one that supports privacy of the P-Asserted-Identity header field 1020 [RFC3325]. 1022 RFC 4567, Key Management Extensions for Session Description Protocol 1023 (SDP) and Real Time Streaming Protocol (RTSP) (S): [RFC4567] defines 1024 extensions to SDP that allow tunneling of an key management 1025 protocol, namely MIKEY [RFC3830], through offer/answer exchanges. 1026 This mechanism is one of three SRTP keying techniques specified 1027 for SIP, with DTLS-SRTP [I-D.ietf-sip-dtls-srtp-framework] having 1028 been selected as the final solution. 1030 RFC 4568, Session Description Protocol (SDP) Security Descriptions 1031 for Media Streams (S): [RFC4568] defines extensions to SDP that 1032 allow for the negotiation of keying material directly through 1033 offer/answer, without a separate key management protocol. This 1034 mechanism, sometimes called sdescriptions, has the drawback that 1035 the media keys are available to any entity that has visibility to 1036 the SDP. It is one of three SRTP keying techniques specified for 1037 SIP, with DTLS-SRTP [I-D.ietf-sip-dtls-srtp-framework] having been 1038 selected as the final solution. 1040 draft-ietf-sip-dtls-srtp-framework, Framework for Establishing an 1041 SRTP Security Context using DTLS (S): 1042 [I-D.ietf-sip-dtls-srtp-framework] defines the overall framework 1043 and SDP and SIP processing required to perform key management for 1044 RTP using Datagram TLS (DTLS) [RFC4347] directly between 1045 endpoints, over the media path. It is one of three SRTP keying 1046 techniques specified for SIP, with DTLS-SRTP 1047 [I-D.ietf-sip-dtls-srtp-framework] having been selected as the 1048 final solution. 1050 draft-ietf-mmusic-sdp-dtls, Session Description Protocol (SDP) 1051 Indicators for Datagram Transport Layer Security (DTLS) (S): 1052 [I-D.ietf-mmusic-sdp-dtls] defines the usage of SDP with DTLS- 1053 SRTP. 1055 RFC 3853, S/MIME AES Requirement for SIP (S): [RFC3853] formally 1056 updates RFC 3261. It is a brief specification that updates the 1057 cryptography mechanisms used in SIP S/MIME. However, SIP S/MIME 1058 has seen very little deployment. 1060 draft-ietf-sip-certs, Certificate Management Service for The Session 1061 Initiation Protocol (SIP) (S): [I-D.ietf-sip-certs] defines a 1062 certificate service for SIP whose purpose is to facilitate the 1063 deployment of S/MIME. The certificate service allows clients to 1064 store and retrieve their own certificates, in addition to 1065 obtaining the certificates for other users. 1067 RFC 3893, Session Initiation Protocol (SIP) Authenticated Identity 1068 Body (AIB) Format (S): [RFC3893] defines a SIP message fragment 1069 which can be signed in order to provide an authenticated identity 1070 over a request. It was an early predecessor to [RFC4474], and 1071 consequently AIB has seen no deployment. 1073 draft-ietf-sip-saml, SIP SAML Profile and Binding (S): 1074 [I-D.ietf-sip-saml] defines the usage of the Security Assertion 1075 Markup Language (SAML) within SIP, and describes how to use it in 1076 conjunction with SIP identity [RFC4474] to provide authenticated 1077 assertions about a users role or attributes. 1079 RFC 5360, A Framework for Consent-Based Communications in the 1080 Session Initiation Protocol (SIP) (S): [RFC5360] defines several 1081 extensions to SIP, including the Trigger-Consent and Permission- 1082 Missing header fields. These header fields, in addition to the 1083 other procedures defined in the document, define a way to manage 1084 membership on "SIP mailing lists" used for instant messaging or 1085 conferencing. In particular, it helps avoid the problem of using 1086 such amplification services for the purposes of an attack on the 1087 network, by making sure a user authorizes the addition of their 1088 address onto such a service. 1090 RFC 5361, A Document Format for Requesting Consent (S): [RFC5361] 1091 defines an XML object used by the consent framework. Consent 1092 documents are sent from SIP "mailing list servers" to users to 1093 allow them to manage their membership on lists. 1095 RFC 5362, The Session Initiation Protocol (SIP) Pending Additions 1096 Event Package (S): [RFC5362] defines a SIP event package that allows 1097 a UA to learn whether consent has been given for the addition of 1098 an address to a SIP "mailing list". It is used in conjunction 1099 with the SIP framework for consent [RFC5360]. 1101 RFC 3329, Security Mechanism Agreement for SIP (S): [RFC3329] 1102 defines a mechanism to prevent bid-down attacks in conjunction 1103 with SIP authentication. The mechanism has seen very limited 1104 deployment. It was defined as part of the 3gpp IMS specification 1105 suite [3GPP.24.229], and is needed only when there is a 1106 multiplicity of security mechanisms deployed at a particular 1107 server. In practice, this has not been the case. 1109 draft-ietf-sip-e2m-sec, End-to-Middle Security in SIP (S): 1110 [I-D.ietf-sip-e2m-sec] defines mechanisms for providing 1111 confidentiality and integrity for SIP message bodies sent from 1112 user agents to specific network intermediaries. 1114 RFC 4572, Connection-Oriented Media Transport over the Transport 1115 Layer Security (TLS) Protocol in the Session Description Protocol 1116 (SDP) (S): [RFC4572] specifies a mechanism for signaling TLS-based 1117 media streams between endpoints. It expands the TCP-based media 1118 signaling parameters defined in [RFC4145] to include fingerprint 1119 information for TLS streams, so that TLS can operate between end 1120 hosts using self-signed certificates. 1122 RFC 5027, Security Preconditions for Session Description Protocol 1123 Media Streams (S): [RFC5027] defines a precondition for use with the 1124 preconditions framework [RFC3312]. The security precondition 1125 prevents a session from being established until a security media 1126 stream is set up. 1128 RFC 3310, Hypertext Transfer Protocol (HTTP) Digest Authentication 1129 Using Authentication and Key Agreement (S): [RFC3310] defines an 1130 extension to digest authentication to allow it to work with the 1131 credentials stored in cell phones. Though technically it is an 1132 extension to HTTP digest, it's primary application is SIP. This 1133 extension is usefully primarily to implementors of IMS. 1135 RFC 4169, Hypertext Transfer Protocol (HTTP) Digest Authentication 1136 Using Authentication and Key Agreement (AKA) Version-2 (S): 1137 [RFC4169] is an enhancement to [RFC3310] which further improves 1138 security of the authentication. 1140 RFC 3329, Security Mechanism Agreement for SIP (S): [RFC3329] is a 1141 SIP security extension meant to be used in conjunction with IMS, 1142 to ensure that there are no bid-down attacks in the negotiation of 1143 an authentication mechanism. 1145 16. Conferencing 1147 Numerous SIP and SDP extensions are aimed at conferencing as their 1148 primary application. 1150 RFC 4574, The SDP (Session Description Protocol) Label Attribute 1151 (S): [RFC4574] defines an SDP attribute for providing an opaque 1152 label for media streams. These labels can be referred to by 1153 external documents, and in particular, by conference policy 1154 documents. This allows a UA to tie together documents it may 1155 obtain through conferencing mechanisms to media streams to which 1156 they refer. 1158 RFC 3911, The SIP Join Header Field (S): [RFC3911] defines the Join 1159 header field. When sent in an INVITE, it causes the recipient to 1160 join the resulting dialog into a conference with another dialog in 1161 progress. 1163 RFC 4575, A SIP Event Package for Conference State (S): [RFC4575] 1164 defines a mechanism for learning about changes in conference 1165 state, including conference membership. 1167 RFC 5368, Referring to Multiple Resources in SIP (S): [RFC5368] 1168 allows a UA sending a REFER to ask the recipient of the REFER to 1169 generate multiple SIP requests, not just one. This is useful for 1170 conferencing, where a client would like to ask a conference server 1171 to eject multiple users. 1173 RFC 5366, Conference Establishment Using Request-Contained Lists in 1174 SIP (S): [RFC5366] is similar to [RFC5367]. However, instead of 1175 subscribing to the resource, an INVITE request is sent to the 1176 resource, and it will act as a conference focus and generate an 1177 invitation to each recipient in the list. 1179 RFC4579, Session Initiation Protocol (SIP) Call Control - 1180 Conferencing for User Agents (B): [RFC4579] defines best practice 1181 procedures and call flows for conferencing. This includes 1182 conference creation, joining, and dial out, amongst other 1183 capabilities. 1185 RFC 4583, Session Description Protocol (SDP) Format for Binary Floor 1186 Control Protocol (BFCP) Streams (S): [RFC4583] defines a mechanism 1187 in SDP to signal floor control streams that use BFCP. It is used 1188 for Push-To-Talk and conference floor control. 1190 17. Instant Messaging, Presence and Multimedia 1192 SIP provides extensions for instant messaging, presence, and 1193 multimedia. 1195 RFC 3428, SIP Extension for Instant Messaging (S): [RFC3428] defines 1196 the MESSAGE method, used for sending an instant message without 1197 setting up a session (sometimes called "page mode"). 1199 RFC 3856, A Presence Event Package for SIP (S): [RFC3856] defines an 1200 event package for indicating user presence through SIP. 1202 RFC 3857, A Watcher Information Event Template Package for SIP (S): 1203 [RFC3857], also known as winfo, provides a mechanism for a user 1204 agent to find out what subscriptions are in place for a particular 1205 event package. Its primary usage is with presence, but it can be 1206 used with any event package. 1208 draft-ietf-mmusic-file-transfer-mech, A Session Description Protocol 1209 (SDP) Offer/Answer Mechanism to Enable File Transfer (S): 1210 [I-D.ietf-mmusic-file-transfer-mech] defines a mechanism for 1211 signaling a file transfer session with SIP. 1213 18. Emergency Services 1215 Emergency services include pre-emption features, which allow 1216 authorized individuals to gain access to network resources in time of 1217 emergency, along with traditional emergency calling. 1219 RFC 4411, Extending the SIP Reason Header for Preemption Events (S): 1220 [RFC4411] defines an extension to the Reason header, allowing a UA 1221 to know that its dialog was torn down because a higher priority 1222 session came through. 1224 RFC 4412, Communications Resource Priority for SIP (S): [RFC4412] 1225 defines a new header field, Resource-Priority, that allows a 1226 session to get priority treatment from the network. 1228 draft-ietf-sip-location-conveyance, Location Conveyance for the 1229 Session Initiation Protocol (S): [I-D.ietf-sip-location-conveyance] 1230 defines a mechanism for carrying location objects in SIP messages. 1231 This is used to convey location from a UA to an emergency call 1232 taker. 1234 19. Security Considerations 1236 This specification is an overview of existing specifications, and 1237 does not introduce any security considerations on its own. Of 1238 course, the world would be far more secure if everyone would follow 1239 one simple rule: "Don't Panic!" [HGTTG]. 1241 20. IANA Considerations 1243 None. 1245 21. Acknowledgements 1247 The author would like to thank Spencer Dawkins, Brian Stucker, Keith 1248 Drage, John Elwell and Avshalom Houri for their comments on this 1249 document. 1251 22. Informative References 1253 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 1254 A., Peterson, J., Sparks, R., Handley, M., and E. 1255 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 1256 June 2002. 1258 [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 1259 3", BCP 9, RFC 2026, October 1996. 1261 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 1262 Jacobson, "RTP: A Transport Protocol for Real-Time 1263 Applications", RFC 3550, July 2003. 1265 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 1266 with Session Description Protocol (SDP)", RFC 3264, 1267 June 2002. 1269 [I-D.ietf-mmusic-ice] 1270 Rosenberg, J., "Interactive Connectivity Establishment 1271 (ICE): A Protocol for Network Address Translator (NAT) 1272 Traversal for Offer/Answer Protocols", 1273 draft-ietf-mmusic-ice-19 (work in progress), October 2007. 1275 [RFC3320] Price, R., Bormann, C., Christoffersson, J., Hannu, H., 1276 Liu, Z., and J. Rosenberg, "Signaling Compression 1277 (SigComp)", RFC 3320, January 2003. 1279 [RFC3893] Peterson, J., "Session Initiation Protocol (SIP) 1280 Authenticated Identity Body (AIB) Format", RFC 3893, 1281 September 2004. 1283 [RFC3427] Mankin, A., Bradner, S., Mahy, R., Willis, D., Ott, J., 1284 and B. Rosen, "Change Process for the Session Initiation 1285 Protocol (SIP)", BCP 67, RFC 3427, December 2002. 1287 [RFC2543] Handley, M., Schulzrinne, H., Schooler, E., and J. 1288 Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, 1289 March 1999. 1291 [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation 1292 Protocol (SIP): Locating SIP Servers", RFC 3263, 1293 June 2002. 1295 [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for 1296 specifying the location of services (DNS SRV)", RFC 2782, 1297 February 2000. 1299 [RFC2915] Mealling, M. and R. Daniel, "The Naming Authority Pointer 1300 (NAPTR) DNS Resource Record", RFC 2915, September 2000. 1302 [RFC3265] Roach, A., "Session Initiation Protocol (SIP)-Specific 1303 Event Notification", RFC 3265, June 2002. 1305 [RFC3323] Peterson, J., "A Privacy Mechanism for the Session 1306 Initiation Protocol (SIP)", RFC 3323, November 2002. 1308 [RFC3325] Jennings, C., Peterson, J., and M. Watson, "Private 1309 Extensions to the Session Initiation Protocol (SIP) for 1310 Asserted Identity within Trusted Networks", RFC 3325, 1311 November 2002. 1313 [RFC3327] Willis, D. and B. Hoeneisen, "Session Initiation Protocol 1314 (SIP) Extension Header Field for Registering Non-Adjacent 1315 Contacts", RFC 3327, December 2002. 1317 [RFC3581] Rosenberg, J. and H. Schulzrinne, "An Extension to the 1318 Session Initiation Protocol (SIP) for Symmetric Response 1319 Routing", RFC 3581, August 2003. 1321 [RFC4320] Sparks, R., "Actions Addressing Identified Issues with the 1322 Session Initiation Protocol's (SIP) Non-INVITE 1323 Transaction", RFC 4320, January 2006. 1325 [RFC4474] Peterson, J. and C. Jennings, "Enhancements for 1326 Authenticated Identity Management in the Session 1327 Initiation Protocol (SIP)", RFC 4474, August 2006. 1329 [I-D.ietf-sip-gruu] 1330 Rosenberg, J., "Obtaining and Using Globally Routable User 1331 Agent (UA) URIs (GRUU) in the Session Initiation Protocol 1332 (SIP)", draft-ietf-sip-gruu-15 (work in progress), 1333 October 2007. 1335 [I-D.ietf-sip-outbound] 1336 Jennings, C. and R. Mahy, "Managing Client Initiated 1337 Connections in the Session Initiation Protocol (SIP)", 1338 draft-ietf-sip-outbound-16 (work in progress), 1339 October 2008. 1341 [RFC2848] Petrack, S. and L. Conroy, "The PINT Service Protocol: 1342 Extensions to SIP and SDP for IP Access to Telephone Call 1343 Services", RFC 2848, June 2000. 1345 [RFC3910] Gurbani, V., Brusilovsky, A., Faynberg, I., Gato, J., Lu, 1346 H., and M. Unmehopa, "The SPIRITS (Services in PSTN 1347 requesting Internet Services) Protocol", RFC 3910, 1348 October 2004. 1350 [RFC3372] Vemuri, A. and J. Peterson, "Session Initiation Protocol 1351 for Telephones (SIP-T): Context and Architectures", 1352 BCP 63, RFC 3372, September 2002. 1354 [RFC3398] Camarillo, G., Roach, A., Peterson, J., and L. Ong, 1355 "Integrated Services Digital Network (ISDN) User Part 1356 (ISUP) to Session Initiation Protocol (SIP) Mapping", 1357 RFC 3398, December 2002. 1359 [RFC3578] Camarillo, G., Roach, A., Peterson, J., and L. Ong, 1360 "Mapping of Integrated Services Digital Network (ISDN) 1361 User Part (ISUP) Overlap Signalling to the Session 1362 Initiation Protocol (SIP)", RFC 3578, August 2003. 1364 [RFC3960] Camarillo, G. and H. Schulzrinne, "Early Media and Ringing 1365 Tone Generation in the Session Initiation Protocol (SIP)", 1366 RFC 3960, December 2004. 1368 [RFC3262] Rosenberg, J. and H. Schulzrinne, "Reliability of 1369 Provisional Responses in Session Initiation Protocol 1370 (SIP)", RFC 3262, June 2002. 1372 [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) 1373 UPDATE Method", RFC 3311, October 2002. 1375 [RFC2976] Donovan, S., "The SIP INFO Method", RFC 2976, 1376 October 2000. 1378 [RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason 1379 Header Field for the Session Initiation Protocol (SIP)", 1380 RFC 3326, December 2002. 1382 [RFC3608] Willis, D. and B. Hoeneisen, "Session Initiation Protocol 1383 (SIP) Extension Header Field for Service Route Discovery 1384 During Registration", RFC 3608, October 2003. 1386 [RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, 1387 "Indicating User Agent Capabilities in the Session 1388 Initiation Protocol (SIP)", RFC 3840, August 2004. 1390 [RFC3841] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Caller 1391 Preferences for the Session Initiation Protocol (SIP)", 1392 RFC 3841, August 2004. 1394 [RFC4028] Donovan, S. and J. Rosenberg, "Session Timers in the 1395 Session Initiation Protocol (SIP)", RFC 4028, April 2005. 1397 [RFC4168] Rosenberg, J., Schulzrinne, H., and G. Camarillo, "The 1398 Stream Control Transmission Protocol (SCTP) as a Transport 1399 for the Session Initiation Protocol (SIP)", RFC 4168, 1400 October 2005. 1402 [RFC4244] Barnes, M., "An Extension to the Session Initiation 1403 Protocol (SIP) for Request History Information", RFC 4244, 1404 November 2005. 1406 [RFC4488] Levin, O., "Suppression of Session Initiation Protocol 1407 (SIP) REFER Method Implicit Subscription", RFC 4488, 1408 May 2006. 1410 [RFC4538] Rosenberg, J., "Request Authorization through Dialog 1411 Identification in the Session Initiation Protocol (SIP)", 1412 RFC 4538, June 2006. 1414 [RFC4508] Levin, O. and A. Johnston, "Conveying Feature Tags with 1415 the Session Initiation Protocol (SIP) REFER Method", 1416 RFC 4508, May 2006. 1418 [I-D.ietf-sip-answermode] 1419 Willis, D. and A. Allen, "Requesting Answering Modes for 1420 the Session Initiation Protocol (SIP)", 1421 draft-ietf-sip-answermode-07 (work in progress), May 2008. 1423 [HGTTG] Adams, D., "The Hitchhiker's Guide to the Galaxy", 1424 September 1979. 1426 [RFC5079] Rosenberg, J., "Rejecting Anonymous Requests in the 1427 Session Initiation Protocol (SIP)", RFC 5079, 1428 December 2007. 1430 [RFC5368] Camarillo, G., Niemi, A., Isomaki, M., Garcia-Martin, M., 1431 and H. Khartabil, "Referring to Multiple Resources in the 1432 Session Initiation Protocol (SIP)", RFC 5368, 1433 October 2008. 1435 [RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer 1436 Method", RFC 3515, April 2003. 1438 [RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. 1439 Camarillo, "Best Current Practices for Third Party Call 1440 Control (3pcc) in the Session Initiation Protocol (SIP)", 1441 BCP 85, RFC 3725, April 2004. 1443 [RFC3891] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation 1444 Protocol (SIP) "Replaces" Header", RFC 3891, 1445 September 2004. 1447 [RFC3892] Sparks, R., "The Session Initiation Protocol (SIP) 1448 Referred-By Mechanism", RFC 3892, September 2004. 1450 [RFC3911] Mahy, R. and D. Petrie, "The Session Initiation Protocol 1451 (SIP) "Join" Header", RFC 3911, October 2004. 1453 [RFC4117] Camarillo, G., Burger, E., Schulzrinne, H., and A. van 1454 Wijk, "Transcoding Services Invocation in the Session 1455 Initiation Protocol (SIP) Using Third Party Call Control 1456 (3pcc)", RFC 4117, June 2005. 1458 [RFC3903] Niemi, A., "Session Initiation Protocol (SIP) Extension 1459 for Event State Publication", RFC 3903, October 2004. 1461 [RFC3680] Rosenberg, J., "A Session Initiation Protocol (SIP) Event 1462 Package for Registrations", RFC 3680, March 2004. 1464 [RFC3856] Rosenberg, J., "A Presence Event Package for the Session 1465 Initiation Protocol (SIP)", RFC 3856, August 2004. 1467 [RFC3857] Rosenberg, J., "A Watcher Information Event Template- 1468 Package for the Session Initiation Protocol (SIP)", 1469 RFC 3857, August 2004. 1471 [RFC4235] Rosenberg, J., Schulzrinne, H., and R. Mahy, "An INVITE- 1472 Initiated Dialog Event Package for the Session Initiation 1473 Protocol (SIP)", RFC 4235, November 2005. 1475 [RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, "A Session 1476 Initiation Protocol (SIP) Event Package for Conference 1477 State", RFC 4575, August 2006. 1479 [RFC4730] Burger, E. and M. Dolly, "A Session Initiation Protocol 1480 (SIP) Event Package for Key Press Stimulus (KPML)", 1481 RFC 4730, November 2006. 1483 [I-D.ietf-sipping-rtcp-summary] 1484 Clark, A., Pendleton, A., Johnston, A., and H. Sinnreich, 1485 "Session Initiation Protocol Package for Voice Quality 1486 Reporting Event", draft-ietf-sipping-rtcp-summary-05 (work 1487 in progress), October 2008. 1489 [RFC3312] Camarillo, G., Marshall, W., and J. Rosenberg, 1490 "Integration of Resource Management and Session Initiation 1491 Protocol (SIP)", RFC 3312, October 2002. 1493 [RFC4032] Camarillo, G. and P. Kyzivat, "Update to the Session 1494 Initiation Protocol (SIP) Preconditions Framework", 1495 RFC 4032, March 2005. 1497 [RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP) 1498 Extensions for Media Authorization", RFC 3313, 1499 January 2003. 1501 [I-D.ietf-sipping-config-framework] 1502 Channabasappa, S., "A Framework for Session Initiation 1503 Protocol User Agent Profile Delivery", 1504 draft-ietf-sipping-config-framework-15 (work in progress), 1505 February 2008. 1507 [RFC3486] Camarillo, G., "Compressing the Session Initiation 1508 Protocol (SIP)", RFC 3486, February 2003. 1510 [RFC3482] Foster, M., McGarry, T., and J. Yu, "Number Portability in 1511 the Global Switched Telephone Network (GSTN): An 1512 Overview", RFC 3482, February 2003. 1514 [RFC3087] Campbell, B. and R. Sparks, "Control of Service Context 1515 using SIP Request-URI", RFC 3087, April 2001. 1517 [RFC4662] Roach, A., Campbell, B., and J. Rosenberg, "A Session 1518 Initiation Protocol (SIP) Event Notification Extension for 1519 Resource Lists", RFC 4662, August 2006. 1521 [RFC5367] Camarillo, G., Roach, A., and O. Levin, "Subscriptions to 1522 Request-Contained Resource Lists in the Session Initiation 1523 Protocol (SIP)", RFC 5367, October 2008. 1525 [RFC5365] Garcia-Martin, M. and G. Camarillo, "Multiple-Recipient 1526 MESSAGE Requests in the Session Initiation Protocol 1527 (SIP)", RFC 5365, October 2008. 1529 [RFC5366] Camarillo, G. and A. Johnston, "Conference Establishment 1530 Using Request-Contained Lists in the Session Initiation 1531 Protocol (SIP)", RFC 5366, October 2008. 1533 [RFC3853] Peterson, J., "S/MIME Advanced Encryption Standard (AES) 1534 Requirement for the Session Initiation Protocol (SIP)", 1535 RFC 3853, July 2004. 1537 [RFC3329] Arkko, J., Torvinen, V., Camarillo, G., Niemi, A., and T. 1538 Haukka, "Security Mechanism Agreement for the Session 1539 Initiation Protocol (SIP)", RFC 3329, January 2003. 1541 [I-D.ietf-sip-e2m-sec] 1542 Ono, K. and S. Tachimoto, "End-to-middle Security in the 1543 Session Initiation Protocol (SIP)", 1544 draft-ietf-sip-e2m-sec-06 (work in progress), July 2007. 1546 [RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., 1547 and D. Gurle, "Session Initiation Protocol (SIP) Extension 1548 for Instant Messaging", RFC 3428, December 2002. 1550 [RFC4411] Polk, J., "Extending the Session Initiation Protocol (SIP) 1551 Reason Header for Preemption Events", RFC 4411, 1552 February 2006. 1554 [RFC4412] Schulzrinne, H. and J. Polk, "Communications Resource 1555 Priority for the Session Initiation Protocol (SIP)", 1556 RFC 4412, February 2006. 1558 [I-D.ietf-sipping-app-interaction-framework] 1559 Rosenberg, J., "A Framework for Application Interaction in 1560 the Session Initiation Protocol (SIP)", 1561 draft-ietf-sipping-app-interaction-framework-05 (work in 1562 progress), July 2005. 1564 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 1565 Description Protocol", RFC 4566, July 2006. 1567 [RFC3388] Camarillo, G., Eriksson, G., Holler, J., and H. 1568 Schulzrinne, "Grouping of Media Lines in the Session 1569 Description Protocol (SDP)", RFC 3388, December 2002. 1571 [RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute 1572 in Session Description Protocol (SDP)", RFC 3605, 1573 October 2003. 1575 [RFC4916] Elwell, J., "Connected Identity in the Session Initiation 1576 Protocol (SIP)", RFC 4916, June 2007. 1578 [I-D.ietf-sip-fork-loop-fix] 1579 Sparks, R., Lawrence, S., Hawrylyshen, A., and B. Campen, 1580 "Addressing an Amplification Vulnerability in Session 1581 Initiation Protocol (SIP) Forking Proxies", 1582 draft-ietf-sip-fork-loop-fix-08 (work in progress), 1583 October 2008. 1585 [RFC3959] Camarillo, G., "The Early Session Disposition Type for the 1586 Session Initiation Protocol (SIP)", RFC 3959, 1587 December 2004. 1589 [RFC3204] Zimmerer, E., Peterson, J., Vemuri, A., Ong, L., Audet, 1590 F., Watson, M., and M. Zonoun, "MIME media types for ISUP 1591 and QSIG Objects", RFC 3204, December 2001. 1593 [RFC3420] Sparks, R., "Internet Media Type message/sipfrag", 1594 RFC 3420, November 2002. 1596 [RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in 1597 the Session Description Protocol (SDP)", RFC 4145, 1598 September 2005. 1600 [RFC4091] Camarillo, G. and J. Rosenberg, "The Alternative Network 1601 Address Types (ANAT) Semantics for the Session Description 1602 Protocol (SDP) Grouping Framework", RFC 4091, June 2005. 1604 [I-D.ietf-mmusic-ice-tcp] 1605 Rosenberg, J., "TCP Candidates with Interactive 1606 Connectivity Establishment (ICE)", 1607 draft-ietf-mmusic-ice-tcp-07 (work in progress), 1608 July 2008. 1610 [RFC4483] Burger, E., "A Mechanism for Content Indirection in 1611 Session Initiation Protocol (SIP) Messages", RFC 4483, 1612 May 2006. 1614 [RFC3890] Westerlund, M., "A Transport Independent Bandwidth 1615 Modifier for the Session Description Protocol (SDP)", 1616 RFC 3890, September 2004. 1618 [RFC4583] Camarillo, G., "Session Description Protocol (SDP) Format 1619 for Binary Floor Control Protocol (BFCP) Streams", 1620 RFC 4583, November 2006. 1622 [RFC5027] Andreasen, F. and D. Wing, "Security Preconditions for 1623 Session Description Protocol (SDP) Media Streams", 1624 RFC 5027, October 2007. 1626 [I-D.ietf-mmusic-connectivity-precon] 1627 Andreasen, F., Camarillo, G., Oran, D., and D. Wing, 1628 "Connectivity Preconditions for Session Description 1629 Protocol Media Streams", 1630 draft-ietf-mmusic-connectivity-precon-05 (work in 1631 progress), October 2008. 1633 [RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description 1634 Protocol (SDP) Content Attribute", RFC 4796, 1635 February 2007. 1637 [RFC4574] Levin, O. and G. Camarillo, "The Session Description 1638 Protocol (SDP) Label Attribute", RFC 4574, August 2006. 1640 [I-D.ietf-sipping-policy-package] 1641 Hilt, V. and G. Camarillo, "A Session Initiation Protocol 1642 (SIP) Event Package for Session-Specific Session 1643 Policies.", draft-ietf-sipping-policy-package-05 (work in 1644 progress), July 2008. 1646 [RFC3524] Camarillo, G. and A. Monrad, "Mapping of Media Streams to 1647 Resource Reservation Flows", RFC 3524, April 2003. 1649 [RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network 1650 Media Services with SIP", RFC 4240, December 2005. 1652 [I-D.ietf-sip-certs] 1653 Jennings, C. and J. Fischl, "Certificate Management 1654 Service for The Session Initiation Protocol (SIP)", 1655 draft-ietf-sip-certs-06 (work in progress), April 2008. 1657 [RFC5360] Rosenberg, J., Camarillo, G., and D. Willis, "A Framework 1658 for Consent-Based Communications in the Session Initiation 1659 Protocol (SIP)", RFC 5360, October 2008. 1661 [I-D.ietf-sip-saml] 1662 Tschofenig, H., Hodges, J., Peterson, J., Polk, J., and D. 1664 Sicker, "SIP SAML Profile and Binding", 1665 draft-ietf-sip-saml-04 (work in progress), July 2008. 1667 [RFC5362] Camarillo, G., "The Session Initiation Protocol (SIP) 1668 Pending Additions Event Package", RFC 5362, October 2008. 1670 [RFC4572] Lennox, J., "Connection-Oriented Media Transport over the 1671 Transport Layer Security (TLS) Protocol in the Session 1672 Description Protocol (SDP)", RFC 4572, July 2006. 1674 [I-D.ietf-mmusic-sdp-capability-negotiation] 1675 Andreasen, F., "SDP Capability Negotiation", 1676 draft-ietf-mmusic-sdp-capability-negotiation-09 (work in 1677 progress), July 2008. 1679 [I-D.ietf-mmusic-sdp-media-capabilities] 1680 Gilman, R., Even, R., and F. Andreasen, "SDP media 1681 capabilities Negotiation", 1682 draft-ietf-mmusic-sdp-media-capabilities-05 (work in 1683 progress), July 2008. 1685 [I-D.ietf-mmusic-file-transfer-mech] 1686 Garcia-Martin, M., Isomaki, M., Camarillo, G., Loreto, S., 1687 and P. Kyzivat, "A Session Description Protocol (SDP) 1688 Offer/Answer Mechanism to Enable File Transfer", 1689 draft-ietf-mmusic-file-transfer-mech-08 (work in 1690 progress), May 2008. 1692 [I-D.ietf-sip-ice-option-tag] 1693 Rosenberg, J., "Indicating Support for Interactive 1694 Connectivity Establishment (ICE) in the Session 1695 Initiation Protocol (SIP)", 1696 draft-ietf-sip-ice-option-tag-02 (work in progress), 1697 June 2007. 1699 [3GPP.24.229] 1700 3GPP, "Internet Protocol (IP) multimedia call control 1701 protocol based on Session Initiation Protocol (SIP) and 1702 Session Description Protocol (SDP); Stage 3", 3GPP 1703 TS 24.229 5.22.0, September 2008. 1705 [I-D.ietf-sip-record-route-fix] 1706 Froment, T., Lebel, C., and B. Bonnaerens, "Addressing 1707 Record-Route issues in the Session Initiation Protocol 1708 (SIP)", draft-ietf-sip-record-route-fix-05 (work in 1709 progress), October 2008. 1711 [I-D.ietf-sip-subnot-etags] 1712 Niemi, A., "An Extension to Session Initiation Protocol 1713 (SIP) Events for Conditional Event Notification", 1714 draft-ietf-sip-subnot-etags-03 (work in progress), 1715 July 2008. 1717 [I-D.ietf-sip-sips] 1718 Audet, F., "The use of the SIPS URI Scheme in the Session 1719 Initiation Protocol (SIP)", draft-ietf-sip-sips-08 (work 1720 in progress), February 2008. 1722 [RFC4896] Surtees, A., West, M., and A. Roach, "Signaling 1723 Compression (SigComp) Corrections and Clarifications", 1724 RFC 4896, June 2007. 1726 [RFC5049] Bormann, C., Liu, Z., Price, R., and G. Camarillo, 1727 "Applying Signaling Compression (SigComp) to the Session 1728 Initiation Protocol (SIP)", RFC 5049, December 2007. 1730 [I-D.ietf-simple-simple] 1731 Rosenberg, J., "SIMPLE made Simple: An Overview of the 1732 IETF Specifications for Instant Messaging and Presence 1733 using the Session Initiation Protocol (SIP)", 1734 draft-ietf-simple-simple-03 (work in progress), July 2008. 1736 [RFC4960] Stewart, R., "Stream Control Transmission Protocol", 1737 RFC 4960, September 2007. 1739 [RFC4567] Arkko, J., Lindholm, F., Naslund, M., Norrman, K., and E. 1740 Carrara, "Key Management Extensions for Session 1741 Description Protocol (SDP) and Real Time Streaming 1742 Protocol (RTSP)", RFC 4567, July 2006. 1744 [RFC4568] Andreasen, F., Baugher, M., and D. Wing, "Session 1745 Description Protocol (SDP) Security Descriptions for Media 1746 Streams", RFC 4568, July 2006. 1748 [I-D.ietf-sip-dtls-srtp-framework] 1749 Fischl, J., Tschofenig, H., and E. Rescorla, "Framework 1750 for Establishing an SRTP Security Context using DTLS", 1751 draft-ietf-sip-dtls-srtp-framework-05 (work in progress), 1752 October 2008. 1754 [I-D.ietf-ecrit-framework] 1755 Rosen, B., Schulzrinne, H., Polk, J., and A. Newton, 1756 "Framework for Emergency Calling using Internet 1757 Multimedia", draft-ietf-ecrit-framework-06 (work in 1758 progress), July 2008. 1760 [RFC2833] Schulzrinne, H. and S. Petrack, "RTP Payload for DTMF 1761 Digits, Telephony Tones and Telephony Signals", RFC 2833, 1762 May 2000. 1764 [RFC4458] Jennings, C., Audet, F., and J. Elwell, "Session 1765 Initiation Protocol (SIP) URIs for Applications such as 1766 Voicemail and Interactive Voice Response (IVR)", RFC 4458, 1767 April 2006. 1769 [RFC3830] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and K. 1770 Norrman, "MIKEY: Multimedia Internet KEYing", RFC 3830, 1771 August 2004. 1773 [RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer 1774 Security", RFC 4347, April 2006. 1776 [I-D.ietf-sipping-v6-transition] 1777 Camarillo, G., "IPv6 Transition in the Session Initiation 1778 Protocol (SIP)", draft-ietf-sipping-v6-transition-07 (work 1779 in progress), August 2007. 1781 [I-D.ietf-sipping-update-pai] 1782 Elwell, J., "Updates to Asserted Identity in the Session 1783 Initiation Protocol (SIP)", 1784 draft-ietf-sipping-update-pai-07 (work in progress), 1785 October 2008. 1787 [RFC3665] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and 1788 K. Summers, "Session Initiation Protocol (SIP) Basic Call 1789 Flow Examples", BCP 75, RFC 3665, December 2003. 1791 [RFC3666] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and 1792 K. Summers, "Session Initiation Protocol (SIP) Public 1793 Switched Telephone Network (PSTN) Call Flows", BCP 76, 1794 RFC 3666, December 2003. 1796 [I-D.ietf-sip-ipv6-abnf-fix] 1797 Gurbani, V., Carpenter, B., and B. Tate, "Essential 1798 correction for IPv6 ABNF and URI comparison in RFC3261", 1799 draft-ietf-sip-ipv6-abnf-fix-02 (work in progress), 1800 May 2008. 1802 [RFC4497] Elwell, J., Derks, F., Mourot, P., and O. Rousseau, 1803 "Interworking between the Session Initiation Protocol 1804 (SIP) and QSIG", BCP 117, RFC 4497, May 2006. 1806 [I-D.ietf-sip-ua-privacy] 1807 Munakata, M., Schubert, S., and T. Ohba, "UA-Driven 1808 Privacy Mechanism for SIP", draft-ietf-sip-ua-privacy-03 1809 (work in progress), October 2008. 1811 [I-D.ietf-sip-body-handling] 1812 Camarillo, G., "Message Body Handling in the Session 1813 Initiation Protocol (SIP)", 1814 draft-ietf-sip-body-handling-04 (work in progress), 1815 October 2008. 1817 [I-D.ietf-sip-domain-certs] 1818 Gurbani, V., Lawrence, S., and B. Laboratories, "Domain 1819 Certificates in the Session Initiation Protocol (SIP)", 1820 draft-ietf-sip-domain-certs-02 (work in progress), 1821 October 2008. 1823 [I-D.ietf-sipping-gruu-reg-event] 1824 Kyzivat, P., "Registration Event Package Extension for 1825 Session Initiation Protocol (SIP) Globally Routable User 1826 Agent URIs (GRUUs)", draft-ietf-sipping-gruu-reg-event-09 1827 (work in progress), July 2007. 1829 [I-D.ietf-sip-session-policy-framework] 1830 Hilt, V., Camarillo, G., and J. Rosenberg, "A Framework 1831 for Session Initiation Protocol (SIP) Session Policies", 1832 draft-ietf-sip-session-policy-framework-04 (work in 1833 progress), August 2008. 1835 [I-D.ietf-mmusic-qos-identification] 1836 Polk, J., Dhesikan, S., and G. Camarillo, "Quality of 1837 Service (QoS) Mechanism Selection in the Session 1838 Description Protocol (SDP)", 1839 draft-ietf-mmusic-qos-identification-02 (work in 1840 progress), October 2008. 1842 [RFC5363] Camarillo, G. and A. Roach, "Framework and Security 1843 Considerations for Session Initiation Protocol (SIP) URI- 1844 List Services", RFC 5363, October 2008. 1846 [I-D.ietf-sip-connect-reuse] 1847 Gurbani, V., Mahy, R., and B. Tate, "Connection Reuse in 1848 the Session Initiation Protocol (SIP)", 1849 draft-ietf-sip-connect-reuse-12 (work in progress), 1850 October 2008. 1852 [I-D.ietf-mmusic-sdp-dtls] 1853 Fischl, J. and H. Tschofenig, "Session Description 1854 Protocol (SDP) Indicators for Datagram Transport Layer 1855 Security (DTLS)", draft-ietf-mmusic-sdp-dtls-00 (work in 1856 progress), January 2008. 1858 [RFC5361] Camarillo, G., "A Document Format for Requesting Consent", 1859 RFC 5361, October 2008. 1861 [RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol 1862 (SIP) Call Control - Conferencing for User Agents", 1863 BCP 119, RFC 4579, August 2006. 1865 [I-D.ietf-sip-location-conveyance] 1866 Polk, J. and B. Rosen, "Location Conveyance for the 1867 Session Initiation Protocol", 1868 draft-ietf-sip-location-conveyance-10 (work in progress), 1869 September 2008. 1871 [RFC3310] Niemi, A., Arkko, J., and V. Torvinen, "Hypertext Transfer 1872 Protocol (HTTP) Digest Authentication Using Authentication 1873 and Key Agreement (AKA)", RFC 3310, September 2002. 1875 [RFC4169] Torvinen, V., Arkko, J., and M. Naslund, "Hypertext 1876 Transfer Protocol (HTTP) Digest Authentication Using 1877 Authentication and Key Agreement (AKA) Version-2", 1878 RFC 4169, November 2005. 1880 Author's Address 1882 Jonathan Rosenberg 1883 Cisco 1884 Iselin, NJ 1885 US 1887 Email: jdrosen@cisco.com 1888 URI: http://www.jdrosen.net 1890 Full Copyright Statement 1892 Copyright (C) The IETF Trust (2008). 1894 This document is subject to the rights, licenses and restrictions 1895 contained in BCP 78, and except as set forth therein, the authors 1896 retain all their rights. 1898 This document and the information contained herein are provided on an 1899 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1900 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 1901 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 1902 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 1903 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1904 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1906 Intellectual Property 1908 The IETF takes no position regarding the validity or scope of any 1909 Intellectual Property Rights or other rights that might be claimed to 1910 pertain to the implementation or use of the technology described in 1911 this document or the extent to which any license under such rights 1912 might or might not be available; nor does it represent that it has 1913 made any independent effort to identify any such rights. Information 1914 on the procedures with respect to rights in RFC documents can be 1915 found in BCP 78 and BCP 79. 1917 Copies of IPR disclosures made to the IETF Secretariat and any 1918 assurances of licenses to be made available, or the result of an 1919 attempt made to obtain a general license or permission for the use of 1920 such proprietary rights by implementers or users of this 1921 specification can be obtained from the IETF on-line IPR repository at 1922 http://www.ietf.org/ipr. 1924 The IETF invites any interested party to bring to its attention any 1925 copyrights, patents or patent applications, or other proprietary 1926 rights that may cover technology that may be required to implement 1927 this standard. Please address the information to the IETF at 1928 ietf-ipr@ietf.org. 1930 Acknowledgment 1932 Funding for the RFC Editor function is provided by the IETF 1933 Administrative Support Activity (IASA).