z9hG4bK.org › IETF › RFC ›
Core specification of the current revision of SIP.
RFC category: Standards Track.
SIP category: Core specifications.
Obsoletes: RFC 2543.
Updated by: RFC 3265 (XXX: Check if 3265 really contains normative changes to 3261), RFC 3853, RFC 4320.
Authors: Jonathan Rosenberg, Henning Schulzrinne, Gonzalo Camarillo, Alan Johnston, Jon Peterson, Robert Sparks, Mark Handley, Eve Schooler.
Published: 2002-07-02.
Number of pages: 269.
Working Group: SIP.
Draft: draft-ietf-sip-rfc2543bis.
Definitions (see Glossary)
SIP Messages
SIP-URIs
Transport Layer
Transactions
User Agent Core
Proxy Core
Registrations
Session Establishment and Tear-down
ACK
BYE
CANCEL
INVITE
OPTIONS
REGISTER
100 Trying
180 Ringing
181 Call Is Being Forwarded
182 Queued
183 Session Progress
200 OK
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarly
305 Use Proxy
380 Alternative Service
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authorization Required
408 Request Timeout
410 Gone
413 Request Entitiy Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Unsupported URI Scheme
420 Bad Extension
421 Extension Required
423 Interval Too Brief
480 Temporarly Unavailable
481 Call/Transaction Does Not Exist
483 Loop Detected
483 Too Many Hops
484 Address Incomplete
485 Ambiguous
486 Busy Here
487 Request Terminated
488 Not Acceptable Here
491 Request Pending
493 Undecipherable
500 Server Internal Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Server Time-out
505 Version Not Supported
513 Message Too Large
600 Busy Everywhere
603 Decline
604 Does Not Exist Anywhere
606 Not Acceptable
Encryption
Hide
User-Agent
RFC 3261 references
RFC 761 ("DoD Standard Transmission Control Protocol", normative reference [15]),
RFC 768 ("User Datagram Protocol", normative reference [14]),
RFC 1123 ("Requirements for Internet Hosts - Application and Support", normative reference [20]),
RFC 1321 ("The MD5 Message-Digest Algorithm", informational reference [35]),
RFC 1750 ("Randomness Recommendations for Security", normative reference [12]),
RFC 1847 ("Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted", normative reference [22]),
RFC 1889 ("RTP: A Transport Protocol for Real-Time Applications", informational reference [28]),
RFC 2046 ("Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", normative reference [11]),
RFC 2069 ("An Extension to HTTP: Digest Access Authentication", informational reference [39]),
RFC 2076 ("Common Internet Message Headers", informational reference [38]),
RFC 2119 ("Key words for use in RFCs to Indicate Requirement Levels", normative reference [2]),
RFC 2183 ("Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field", normative reference [18]),
RFC 2234 ("Augmented BNF for Syntax Specifications: ABNF", normative reference [10]),
RFC 2246 ("The TLS Protocol Version 1.0", normative reference [25]),
RFC 2277 ("IETF Policy on Character Sets and Languages", normative reference [21]),
RFC 2279 ("UTF-8, a transformation format of ISO 10646", normative reference [7]),
RFC 2326 ("Real Time Streaming Protocol (RTSP)", informational reference [29]),
RFC 2327 ("SDP: Session Description Protocol", normative reference [1]),
RFC 2368 ("The mailto URL scheme", informational reference [32]"),
RFC 2396 ("Uniform Resource Identifiers (URI): Generic Syntax", normative reference [5]),
RFC 2401 ("Security Architecture for the Internet Protocol", normative reference [26]),
RFC 2426 ("vCard MIME Directory Profile", informational reference [36]),
RFC 2543 ("SIP: Session Initiation Protocol", informational reference [31]),
RFC 2616 ("Hypertext Transfer Protocol – HTTP/1.1", normative reference [8] and [HX.Y] with reference to sections),
RFC 2617 ("HTTP authentication: Basic and Digest Access Authentication", normative reference [17]),
RFC 2630 ("Cryptographic Message Syntax", normative reference [23]),
RFC 2633 ("S/MIME Version 3 Message Specification", normative reference [24]]),
RFC 2806 ("URLs for Telephone Calls", normative reference [9]),
RFC 2822 ("Internet Message Format", normative reference [3]),
RFC 2849 ("The LDAP Data Interchange Format (LDIF) - Technical Specification", informational reference [37]),
RFC 2914 ("Congestion Control Principles", informational reference [43]),
RFC 2960 ("Stream Control Transmission Protocol", normative reference [16]),
RFC 2976 ("The SIP INFO Method", informational reference [34]),
RFC 3015 ("Megaco Protocol Version 1.0", informational reference [30]),
RFC 3204 ("MIME media types for ISUP and QSIG Objects", normative reference [19]),
RFC 3263 ("SIP: Locating SIP Servers", normative reference [4]),
RFC 3264 ("An Offer/Answer Model with SDP", normative reference [13]),
RFC 3268 ("Advanced Encryption Standard (AES) Ciphersuites for Transport Layer Security (TLS)", normative reference [6]),
RFC 3665 ("Session Initiation Protocol (SIP) Basic Call Flow Examples", informational reference [40]),
RFC 3666 ("Session Initiation Protocol (SIP) Public Switched Telephone Network (PSTN) Call Flows", informational reference [40]),
R. Pandya, "Emerging mobile and personal communication systems," IEEE Communications Magazine, Vol. 33, pp. 44–52, June 1995 (informational reference [27]),
E. M. Schooler, "A multicast user directory service for synchronous rendezvous," Master's Thesis CS-TR-96-18, Department of Computer Science, California Institute of Technology, Pasadena, California, Aug. 1996 (informational reference [33]),
E. M. Schooler, "Case study: multimedia conference control in a packet-switched teleconferencing system," Journal of Internetworking: Research and Experience, Vol. 4, pp. 99–120, June 1993. ISI reprint series ISI/RS-93-359 (informational reference [41]),
H. Schulzrinne, "Personal mobility for multimedia services in the Internet," in European Workshop on Interactive Distributed Multimedia Systems and Services (IDMS), (Berlin, Germany), Mar. 1996 (informational reference [42])
RFC 3261 is referenced by
RFC 3325 ("Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks", normative reference [1]).
The following sections of RFC 3261 have been updated:
XXX will be done as those RFCs are processed.
See also the IETF tools' status page for draft-ietf-sip-rfc2543bis
Published: 2000-07-17.
Number of pages: 179.
Text: txt.
Changes from RFC 2543:
see draft-ietf-sip-rfc2543bis-00, appendix F
Published: 2000-08-09.
Number of pages: 177 (-2).
Text: txt, diff from -00.
Changes:
see draft-ietf-sip-rfc2543bis-01, appendix H
Published: 2000-11-30.
Number of pages: 171 (-6).
Text: id-tool, text, diff from 01.
Changes:
see draft-ietf-sip-rfc2543bis-02, appendix H
Published: 2001-05-29.
Number of pages: 190 (+19).
Text: id-tool, text, diff from 02.
Changes:
see draft-ietf-sip-rfc2543bis-03, appendix I
Published: 2001-07-24.
Number of pages: 195 (+5)
Text: id-tool, text, diff from 03.
Changes:
see draft-ietf-sip-rfc2543bis-04, appendix J
Published: 2001-10-26.
Number of pages: 221 (+26).
Text: id-tool, text, diff from 04.
Changes:
see draft-ietf-sip-rfc2543bis, section 33
Published: 2002-01-28.
Number of pages: 278 (+57).
Text: id-tool, text, diff from 05.
Changes:
see draft-ietf-sip-rfc2543bis-06, section 35
Published: 2002-02-04.
Number of pages: 261 (-17).
Text: id-tool, text, diff from 06.
Changes:
Jonathan Rosenberg on sip@ietf.org, message <3C5E63C6.1515578C@dynamicsoft.com>:
[H]ere are the changes:
1. single consolidated "changes from rfc2543" section, listing major stuff.
2. BNF converted to rfc2234, countless bugs fixed based on comments
3. new loose route text incorporated. Please read this. The text is different from what Robert had described on the list. Whilst incorporating that text, we ran into a case that didn't work. TUrns out the fix simplified the whole thing even further. Based on robert's note, a proxy that wanted to route to a strict router would need to dig up the first loose router in a route set, say A, and replace that route entry with A, target, A, where target is the current r-uri. That is not the case now; it simply appends the r-uri to the bottom-most route element. This improves the backwards compatibility story, improves proxy performance, and makes things much more self consistent. Proxy processing of route/record-route is now shrunk considerably from bis-05 and bis-06.
4. split references into normative and non-normative.
5. incorporated text on generalized offer/answer mappings to SIP requests and responses
6. Reduced usage of 70 as max-forwards value from MUST to SHOULD
7. Included fix for open issue #58. When UAS generates an offer in a 2xx to re-invite, it uses the broadest SDP possible that it belives will not be rejected by its peer.
8. Added some S/MIME error cases.
9. Fixed normative strengths of S/MIME support (MUST for signed-data and certs-only).
10. Strengthened TLS/IPSec wording (fixing nits).
11. S/MIME should now be able to reuse root CAs used to verify TLS/IPSec keys.
12. Added brief statement to start of threat model section describing threat environment.
13. Added eavesdropping to threats based on body modification.
14. clarified conditions under which multiple headers can be folded into one header with comma separated values. Also pointed out exception for the Auth headers.
15. Max-Forwards needs to be between 1 and 255.
16. Added anonymous username and password for digest.
17. Clarified usage of timestamp delay parameter.
Published: 2002-02-21.
Number of pages: 268 (+7).
Text: id-tool, text, diff from 07.
Changes:
Mentions SIPS-URIs in introduction.
Removal of mentioning of 100rel stuff in various places.
Added definiton of Address-of-Record, Core, Header Field, Header Field Value, Target Refresh Request.
Clean-up on terminoligy (eg., consequent use of header field).
Added a sentence outlining the exception from that Request-URI and To-URI SHOULD initially be the same.
Clarifications on the use of the SIPS URI scheme.
XXX continue the diff at section 8.1.1.7 Via
Published: 2002-02-28.
Number of pages: 276 (+8).
Text: id-tool, text, diff from 08.
Changes:
XXX To be done.
Published: 2002-07-08.
Number of pages: 269 (-7).
Changes:
Definition for Header Field and Header Field Value extended.
Define default charset for text media types to be UTF-8.
Specify that a stateless UAS has do always give the same response to the same request.
A missing expiration time does not imply a SHOULD of an hour any more but means the client wants the server to choose.
Mentions that there may be more than one offer/answer exchange going on for a single INVITE if there are more than one branch.
Adding a note pointing out that the Via branch will be different for every time a spiralling request passes by the same proxy.
Rephrase the conditions for matching a request to a transaction using a numbered list.
Enforce changing of Via if changing the transport protocol due to MTU.
Force isdn-subaddress and post-dial parameters to be first when turning tel-URIs into SIP- or SIPS-URIs.
Increase upper limit of Expires value from (231)-1 to (232)-1.
Give rules for comparing From header fields in section 20.20.
70 is only the recommended initial value.
Add qop parameter to Proxy-Authenticate and WWW-Authenticate examples.
Allow Retry-After with a 500 (Server Internal Error).
Remove reference to RFC 2116 for the Server header field.
Mention compact form for Supported header field.
Mention rules for a two Via being identical to section 20.42.
Use of Usupported header field in 420 (Bad Extension) upgraded to MUST.
Added To tag to 200 (OK) for registrar call flow.
ABNF:
"@" made part of userinfo.
user needs to be at least one character long.
Accept* and Allow may be empty.
ainfo, digest-cln: no more square brackets.
Timestamp: LWS before delay.
Excerpts from RFCs and Internet Drafts:
Copyright © The Internet Society. All Rights
Reserved.
All other material is copyrighted by the contributing authors
and licensed to the public under the GNU Free
Documentation License (GFDL).
For more information, please see the
Copyright page.