Rfc3261

157
Network Dictionary http://www.javvin.com/networkdiction- ary.html Network Protocols Map http://www.javvin.com/map.html Network Security Map http://www.javvin.com/securitymap. html Wireless Communications Technology Map http://www.javvin.com/wirelessmap. html Network Protocols Hand- book http://www.javvin.com/model.html TCP/IP Quick Guide http://www.javvin.com/tcpipguide.html Ethernet Quick Guide http://www.javvin.com/ethernetguide. html Packet Analyzer http://www.javvin.com/packet.html DiskShare http://www.javvin.com/diskshare.html DiskAccess http://www.javvin.com/diskaccess.html LANsurveyor http://www.javvin.com/LANsurveyor. html CyberGauge http://www.javvin.com/CyberGauge. html Easy Network Service Monitor http://www.javvin.com/easy.html Business Card Scanner http://www.javvin.com/businesscard- scanner.html Color Cards and Picture Scanner http://www.javvin.com/colorcardscan- ner.html Portable Document Scan- ner http://www.javvin.com/portablescan- ner.html www.javvin.com www.networkdictionary. com SIP: Session Initiation Protocol June 2002 [ Page ] RFC: 3261 Network Working Group J. Rosenberg Request for Comments: 326 dynamicsoft Obsoletes: 2543 H. Schulzrinne Category: Standards Track Columbia U. G. Camarillo Ericsson A. Johnston WorldCom J. Peterson Neustar R. Sparks dynamicsoft M. Handley ICIR E. Schooler AT&T June 2002 SIP: Session Initiation Protocol

Transcript of Rfc3261

  1. 1. SIP: Session Initiation Protocol June 2002 RFC: 3261 Network Dictionary http://www.javvin.com/networkdiction- ary.html Network Protocols MapNetwork Working Group J. Rosenberg http://www.javvin.com/map.htmlRequest for Comments: 326 dynamicsoft Network Security MapObsoletes: 2543 H. Schulzrinne http://www.javvin.com/securitymap.Category: Standards TrackColumbia U. html G. CamarilloWireless Communications EricssonTechnology Map A. Johnston http://www.javvin.com/wirelessmap. html WorldCom Network Protocols Hand-J. Peterson bookNeustarhttp://www.javvin.com/model.html R. Sparks TCP/IP Quick Guide dynamicsoft http://www.javvin.com/tcpipguide.html M. HandleyICIR Ethernet Quick Guide E. Schooler http://www.javvin.com/ethernetguide. ATThtml June 2002 Packet Analyzer http://www.javvin.com/packet.html DiskShare http://www.javvin.com/diskshare.html SIP: Session Initiation Protocol DiskAccess http://www.javvin.com/diskaccess.html LANsurveyor http://www.javvin.com/LANsurveyor. html CyberGauge http://www.javvin.com/CyberGauge. html Easy Network Service Monitor http://www.javvin.com/easy.html Business Card Scanner http://www.javvin.com/businesscard- scanner.html Color Cards and Picture Scanner http://www.javvin.com/colorcardscan- ner.html Portable Document Scan- ner http://www.javvin.com/portablescan- ner.html www.javvin.com www.networkdictionary. com [ Page]
  2. 2. SIP: Session Initiation ProtocolJune 2002Status of this Memo Network Dictionaryhttp://www.javvin.com/networkdiction-This document specifies an Internet standards track protocol for the Internet community, and requests ary.htmldiscussion and suggestions for improvements. Please refer to the current edition of the Internet OfficialProtocol Standards (STD ) for the standardization state and status of this protocol. Distribution of this Network Protocols Mapmemo is unlimited.http://www.javvin.com/map.htmlNetwork Security MapCopyright Noticehttp://www.javvin.com/securitymap.htmlCopyright (C) The Internet Society (2002). All Rights Reserved. Wireless CommunicationsTechnology MapAbstracthttp://www.javvin.com/wirelessmap.htmlThis document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocolNetwork Protocols Hand-for creating, modifying, and terminating sessions with one or more participants. These sessions include bookInternet telephone calls, multimedia distribution, and multimedia conferences.http://www.javvin.com/model.htmlSIP invitations used to create sessions carry session descriptions that allow participants to agree on a set of TCP/IP Quick Guidecompatible media types. SIP makes use of elements called proxy servers to help route requests to the users http://www.javvin.com/tcpipguide.htmlcurrent location, authenticate and authorize users for services, implement provider call-routing policies,and provide features to users. SIP also provides a registration function that allows users to upload their cur-rent locations for use by proxy servers. SIP runs on top of several different transport protocols.Ethernet Quick Guidehttp://www.javvin.com/ethernetguide.htmlPacket Analyzerhttp://www.javvin.com/packet.htmlDiskSharehttp://www.javvin.com/diskshare.htmlDiskAccesshttp://www.javvin.com/diskaccess.htmlLANsurveyorhttp://www.javvin.com/LANsurveyor.htmlCyberGaugehttp://www.javvin.com/CyberGauge.htmlEasy Network ServiceMonitorhttp://www.javvin.com/easy.htmlBusiness Card Scannerhttp://www.javvin.com/businesscard-scanner.htmlColor Cards and PictureScannerhttp://www.javvin.com/colorcardscan-ner.htmlPortable Document Scan-nerhttp://www.javvin.com/portablescan-ner.htmlwww.javvin.comwww.networkdictionary.com[ Page 2 ]
  3. 3. SIP: Session Initiation Protocol June 2002Table of ContentsNetwork Dictionary http://www.javvin.com/networkdiction- ary.html Introduction ..................................................................................................0 Network Protocols Map http://www.javvin.com/map.html2 Overview of SIP Functionality ....................................................................0 Network Security Map3 Terminology .................................................................................................http://www.javvin.com/securitymap. html4 Overview of Operation ................................................................................ Wireless Communications Technology Map5 Structure of the Protocol ..............................................................................5 http://www.javvin.com/wirelessmap. html6 Definitions ....................................................................................................6 Network Protocols Hand- book http://www.javvin.com/model.html7 SIP Messages ...............................................................................................9 7. Requests ...............................................................................................20TCP/IP Quick Guide http://www.javvin.com/tcpipguide.html 7.2 Responses .............................................................................................20 7.3 Header Fields .......................................................................................2 7.3. Header Field Format .........................................................................2 Ethernet Quick Guide http://www.javvin.com/ethernetguide. 7.3.2 Header Field Classification ...............................................................23 html 7.3.3 Compact Form ...................................................................................23 7.4 Bodies ...................................................................................................23Packet Analyzer http://www.javvin.com/packet.html 7.4. Message Body Type ..........................................................................23 7.4.2 Message Body Length .......................................................................23 DiskShare 7.5 Framing SIP Messages .........................................................................23http://www.javvin.com/diskshare.html8 General User Agent Behavior ......................................................................24 DiskAccess http://www.javvin.com/diskaccess.html 8. UAC Behavior ......................................................................................24 8.. Generating the Request .....................................................................24 LANsurveyor 8... Request-URI ...................................................................................24 http://www.javvin.com/LANsurveyor. 8...2 To ....................................................................................................24 html 8...3 From ...............................................................................................25 CyberGauge 8...4 Call-ID ............................................................................................25http://www.javvin.com/CyberGauge. 8...5 CSeq ...............................................................................................26html 8...6 Max-Forwards ................................................................................26 Easy Network Service 8...7 Via ..................................................................................................26 Monitor 8...8 Contact ...........................................................................................27 http://www.javvin.com/easy.html 8...9 Supported and Require ...................................................................27 Business Card Scanner 8...0 Additional Message Components .................................................27http://www.javvin.com/businesscard- 8..2 Sending the Request ..........................................................................27scanner.html 8..3 Processing Responses ........................................................................28 Color Cards and Picture 8..3. Transaction Layer Errors ................................................................28 Scanner http://www.javvin.com/colorcardscan- 8..3.2 Unrecognized Responses ...............................................................28 ner.html 8..3.3 Vias .................................................................................................28 Portable Document Scan- 8..3.4 Processing 3xx Responses ..............................................................28 ner 8..3.5 Processing 4xx Responses ..............................................................29 http://www.javvin.com/portablescan- 8.2 UAS Behavior ......................................................................................30 ner.html 8.2. Method Inspection .............................................................................30 www.javvin.com 8.2.2 Header Inspection ..............................................................................30 8.2.2. To and Request-URI .......................................................................30www.networkdictionary. com [ Page 3 ]
  4. 4. SIP: Session Initiation Protocol June 20028.2.2.2 Merged Requests ............................................................................3 Network Dictionary8.2.2.3 Require ...........................................................................................3http://www.javvin.com/networkdiction- ary.html8.2.3 Content Processing ............................................................................38.2.4 Applying Extensions .........................................................................32Network Protocols Map8.2.5 Processing the Request ......................................................................32http://www.javvin.com/map.html8.2.6 Generating the Response ...................................................................32 Network Security Map8.2.6. Sending a Provisional Response ....................................................32http://www.javvin.com/securitymap.8.2.6.2 Headers and Tags ...........................................................................32 html8.2.7 Stateless UAS Behavior ....................................................................32Wireless Communications8.3 Redirect Servers ...................................................................................33 Technology Map http://www.javvin.com/wirelessmap. html9 Canceling a Request .....................................................................................34 9. Client Behavior ....................................................................................34Network Protocols Hand- 9.2 Server Behavior ....................................................................................35book http://www.javvin.com/model.html0 Registrations ..............................................................................................35TCP/IP Quick Guide http://www.javvin.com/tcpipguide.html 0. Overview ............................................................................................35 0.2 Constructing the REGISTER Request ...............................................36 0.2. Adding Bindings ..............................................................................37 Ethernet Quick Guide http://www.javvin.com/ethernetguide. 0.2.. Setting the Expiration Interval of Contact Addresses ..................38html 0.2..2 Preferences among Contact Addresses .........................................38 0.2.2 Removing Bindings .........................................................................38Packet Analyzer http://www.javvin.com/packet.html 0.2.3 Fetching Bindings ...........................................................................38 0.2.4 Refreshing Bindings ........................................................................38 DiskShare 0.2.5 Setting the Internal Clock ................................................................39http://www.javvin.com/diskshare.html 0.2.6 Discovering a Registrar ...................................................................39 0.2.7 Transmitting a Request ....................................................................39DiskAccess http://www.javvin.com/diskaccess.html 0.2.8 Error Responses ..............................................................................39 0.3 Processing REGISTER Requests .......................................................39 LANsurveyor http://www.javvin.com/LANsurveyor. Querying for Capabilities ...........................................................................4 html . Construction of OPTIONS Request ...................................................4CyberGauge .2 Processing of OPTIONS Request ......................................................42 http://www.javvin.com/CyberGauge. html2 Dialogs .......................................................................................................42 Easy Network Service 2. Creation of a Dialog ...........................................................................43 Monitor 2.. UAS behavior ..................................................................................43http://www.javvin.com/easy.html 2..2 UAC Behavior .................................................................................44 Business Card Scanner 2.2 Requests within a Dialog ...................................................................44 http://www.javvin.com/businesscard- 2.2. UAC Behavior .................................................................................44 scanner.html 2.2.. Generating the Request ................................................................44Color Cards and Picture 2.2..2 Processing the Responses .............................................................46 Scanner http://www.javvin.com/colorcardscan- 2.2.2 UAS Behavior .................................................................................46 ner.html 2.3 Termination of a Dialog .....................................................................47Portable Document Scan- ner3 Initiating a Session .....................................................................................47http://www.javvin.com/portablescan- 3. Overview ............................................................................................47ner.html 3.2 UAC Processing .................................................................................47 www.javvin.com 3.2. Creating the Initial INVITE ............................................................47 3.2.2 Processing INVITE Responses .......................................................49www.networkdictionary. com [ Page 4 ]
  5. 5. SIP: Session Initiation Protocol June 20023.2.2. xx Responses ..............................................................................49 Network Dictionary3.2.2.2 3xx Responses ..............................................................................49 http://www.javvin.com/networkdiction-ary.html13.2.2.3 4xx, 5xx and 6xx Responses ........................................................493.2.2.4 2xx Responses ..............................................................................49 Network Protocols Map3.3 UAS Processing .................................................................................50 http://www.javvin.com/map.html3.3. Processing of the INVITE ...............................................................50Network Security Map3.3.. Progress ........................................................................................50http://www.javvin.com/securitymap.3.3..2 The INVITE is Redirected ...........................................................5 html3.3..3 The INVITE is Rejected ...............................................................5 Wireless Communications3.3..4 The INVITE is Accepted ..............................................................5Technology Maphttp://www.javvin.com/wirelessmap.html4 Modifying an Existing Session ..................................................................5 4. UAC Behavior ....................................................................................52 Network Protocols Hand- 4.2 UAS Behavior ....................................................................................53 bookhttp://www.javvin.com/model.html5 Terminating a Session ................................................................................53 TCP/IP Quick Guidehttp://www.javvin.com/tcpipguide.html 5. Terminating a Session with a BYE Request .......................................54 5.. UAC Behavior .................................................................................54 5..2 UAS Behavior .................................................................................54Ethernet Quick Guidehttp://www.javvin.com/ethernetguide.html6 Proxy Behavior ..........................................................................................54 6. Overview ............................................................................................54 Packet Analyzerhttp://www.javvin.com/packet.html 6.2 Stateful Proxy .....................................................................................55 6.3 Request Validation .............................................................................56DiskShare 6.4 Route Information Preprocessing .......................................................57 http://www.javvin.com/diskshare.html 6.5 Determining Request Targets .............................................................58 6.6 Request Forwarding ...........................................................................59DiskAccesshttp://www.javvin.com/diskaccess.html 6.7 Response Processing ..........................................................................63 6.8 Processing Timer C ............................................................................67 LANsurveyor 6.9 Handling Transport Errors ..................................................................67http://www.javvin.com/LANsurveyor. 6.0 CANCEL Processing ........................................................................67 html 6. Stateless Proxy .................................................................................67CyberGauge 6.2 Summary of Proxy Route Processing ..............................................68 http://www.javvin.com/CyberGauge. 6.2. Examples .......................................................................................69 html 6.2.. Basic SIP Trapezoid ...................................................................69Easy Network Service 6.2..2 Traversing a Strict-Routing Proxy ..............................................70 Monitor 6.2..3 Rewriting Record-Route Header Field Values ............................7http://www.javvin.com/easy.htmlBusiness Card Scanner7 Transactions ...............................................................................................7 http://www.javvin.com/businesscard- 7. Client Transaction ..............................................................................72 scanner.html 7.. INVITE Client Transaction .............................................................72 Color Cards and Picture 7... Overview of INVITE Transaction ................................................73 Scannerhttp://www.javvin.com/colorcardscan- 7...2 Formal Description .......................................................................73ner.html 7...3 Construction of the ACK Request ................................................74Portable Document Scan- 7..2 Non-INVITE Client Transaction .....................................................75 ner 7..2. Overview of the non-INVITE Transaction ..................................75 http://www.javvin.com/portablescan- 7..2.2 Formal Description .......................................................................75ner.html 7..3 Matching Responses to Client Transactions ...................................76 www.javvin.com 7..4 Handling Transport Errors................................................................76 7.2 Server Transaction ..............................................................................77 www.networkdictionary.com [ Page 5 ]
  6. 6. SIP: Session Initiation ProtocolJune 20027.2. INVITE Server Transaction ............................................................77 Network Dictionary7.2.2 Non-INVITE Server Transaction ....................................................79 http://www.javvin.com/networkdiction-ary.html7.2.3 Matching Requests to Server Transactions .....................................807.2.4 Handling Transport Errors ...............................................................8Network Protocols Maphttp://www.javvin.com/map.html8 Transport ....................................................................................................8 8. Clients ................................................................................................82Network Security Maphttp://www.javvin.com/securitymap. 8.. Sending Requests ............................................................................82 html 8..2 Receiving Responses .......................................................................83 Wireless Communications 8.2 Servers ................................................................................................83Technology Map 8.2. Receiving Requests .........................................................................83http://www.javvin.com/wirelessmap.html 8.2.2 Sending Responses ..........................................................................84 8.3 Framing ..............................................................................................84Network Protocols Hand- 8.4 Error Handling ...................................................................................84bookhttp://www.javvin.com/model.html9 Common Message Components ................................................................85 TCP/IP Quick Guidehttp://www.javvin.com/tcpipguide.html 9. SIP and SIPS Uniform Resource Indicators .......................................85 9.. SIP and SIPS URI Components ......................................................85 9..2 Character Escaping Requirements ..................................................87Ethernet Quick Guidehttp://www.javvin.com/ethernetguide. 9..3 Example SIP and SIPS URIs ...........................................................88 html 9..4 URI Comparison .............................................................................88 9..5 Forming Requests from a URI ........................................................89Packet Analyzerhttp://www.javvin.com/packet.html 9..6 Relating SIP URIs and tel URLs .....................................................90 9.2 Option Tags ........................................................................................9DiskShare 9.3 Tags ....................................................................................................9 http://www.javvin.com/diskshare.html20 Header Fields .............................................................................................92DiskAccesshttp://www.javvin.com/diskaccess.html 20. Accept .................................................................................................93 20.2 Accept-Encoding ................................................................................94LANsurveyor 20.3 Accept-Language ................................................................................94http://www.javvin.com/LANsurveyor. 20.4 Alert-Info ............................................................................................94 html 20.5 Allow ..................................................................................................95CyberGauge 20.6 Authentication-Info ............................................................................95http://www.javvin.com/CyberGauge. 20.7 Authorization ......................................................................................95html 20.8 Call-ID ................................................................................................95Easy Network Service 20.9 Call-Info .............................................................................................96 Monitor 20.0 Contact .............................................................................................96http://www.javvin.com/easy.html 20. Content-Disposition .........................................................................97Business Card Scanner 20.2 Content-Encoding ............................................................................97http://www.javvin.com/businesscard- 20.3 Content-Language ............................................................................97scanner.html 20.4 Content-Length ................................................................................98Color Cards and Picture 20.5 Content-Type ....................................................................................98Scannerhttp://www.javvin.com/colorcardscan- 20.6 CSeq .................................................................................................98 ner.html 20.7 Date ..................................................................................................98Portable Document Scan- 20.8 Error-Info .........................................................................................98 ner 20.9 Expires ..............................................................................................99 http://www.javvin.com/portablescan- 20.20 From .................................................................................................99 ner.html 20.2 In-Reply-To ......................................................................................99 www.javvin.com 20.22 Max-Forwards ................................................................................00www.networkdictionary. 20.23 Min-Expires ....................................................................................00com[ Page 6 ]
  7. 7. SIP: Session Initiation Protocol June 200220.24 MIME-Version ...............................................................................00Network Dictionary20.25 Organization ...................................................................................00http://www.javvin.com/networkdiction- ary.html20.26 Priority ............................................................................................0020.27 Proxy-Authenticate ........................................................................0 Network Protocols Map20.28 Proxy-Authorization .......................................................................0 http://www.javvin.com/map.html20.29 Proxy-Require ................................................................................0 Network Security Map20.30 Record-Route .................................................................................0http://www.javvin.com/securitymap.20.3 Reply-To .........................................................................................0html20.32 Require ...........................................................................................02 Wireless Communications20.33 Retry-After .....................................................................................02 Technology Map20.34 Route ..............................................................................................02http://www.javvin.com/wirelessmap. html20.35 Server .............................................................................................02 Network Protocols Hand-20.36 Subject ............................................................................................03 book20.37 Supported .......................................................................................03 http://www.javvin.com/model.html20.38 Timestamp ......................................................................................03 TCP/IP Quick Guide20.39 To ....................................................................................................03 http://www.javvin.com/tcpipguide.html20.40 Unsupported ...................................................................................0320.4 User-Agent .....................................................................................04 Ethernet Quick Guide20.42 Via ..................................................................................................04http://www.javvin.com/ethernetguide.20.43 Warning ..........................................................................................04html20.44 WWW-Authenticate .......................................................................05 Packet Analyzer http://www.javvin.com/packet.html2 Response Codes .......................................................................................06 2. Provisional xx .................................................................................06 DiskShare 2.. 00 Trying .....................................................................................06http://www.javvin.com/diskshare.html 2..2 80 Ringing ...................................................................................06 2..3 8 Call Is Being Forwarded ........................................................06DiskAccess http://www.javvin.com/diskaccess.html 2..4 82 Queued ...................................................................................06 2..5 83 Session Progress .....................................................................06LANsurveyor 2.2 Successful 2xx ..................................................................................06 http://www.javvin.com/LANsurveyor. html 2.2. 200 OK ..........................................................................................06 2.3 Redirection 3xx ................................................................................06CyberGauge 2.3. 300 Multiple Choices ....................................................................06 http://www.javvin.com/CyberGauge. html 2.3.2 30 Moved Permanently ...............................................................07 2.3.3 302 Moved Temporarily ................................................................07Easy Network Service 2.3.4 305 Use Proxy ...............................................................................07 Monitor 2.3.5 380 Alternative Service .................................................................07 http://www.javvin.com/easy.html 2.4 Request Failure 4xx ..........................................................................07Business Card Scanner 2.4. 400 Bad Request ...........................................................................07 http://www.javvin.com/businesscard- scanner.html 2.4.2 40 Unauthorized ..........................................................................08 2.4.3 402 Payment Required ..................................................................08 Color Cards and Picture 2.4.4 403 Forbidden ...............................................................................08 Scanner http://www.javvin.com/colorcardscan- 2.4.5 404 Not Found ...............................................................................08 ner.html 2.4.6 405 Method Not Allowed ..............................................................08 Portable Document Scan- 2.4.7 406 Not Acceptable .......................................................................08ner 2.4.8 407 Proxy Authentication Required ..............................................08http://www.javvin.com/portablescan- ner.html 2.4.9 408 Request Timeout .....................................................................08 2.4.0 40 Gone .....................................................................................08 www.javvin.com 2.4. 43 Request Entity Too Large .....................................................08 www.networkdictionary. 2.4.2 44 Request-URI Too Long ........................................................09com[ Page 7 ]
  8. 8. SIP: Session Initiation Protocol June 20022.4.3 45 Unsupported Media Type .....................................................09 Network Dictionary2.4.4 46 Unsupported URI Scheme ....................................................09http://www.javvin.com/networkdiction-ary.html2.4.5 420 Bad Extension ......................................................................092.4.6 42 Extension Required ..............................................................09Network Protocols Map2.4.7 423 Interval Too Brief .................................................................09 http://www.javvin.com/map.html2.4.8 480 Temporarily Unavailable ......................................................09Network Security Map2.4.9 48 Call/Transaction Does Not Exist ..........................................09 http://www.javvin.com/securitymap.2.4.20 482 Loop Detected ......................................................................09 html2.4.2 483 Too Many Hops ....................................................................0 Wireless Communications2.4.22 484 Address Incomplete ..............................................................0Technology Map2.4.23 485 Ambiguous ...........................................................................0http://www.javvin.com/wirelessmap.html2.4.24 486 Busy Here .............................................................................0Network Protocols Hand-2.4.25 487 Request Terminated ..............................................................0book2.4.26 488 Not Acceptable Here ............................................................0 http://www.javvin.com/model.html2.4.27 49 Request Pending ...................................................................0TCP/IP Quick Guide2.4.28 493 Undecipherable ....................................................................http://www.javvin.com/tcpipguide.html2.5 Server Failure 5xx ............................................................................2.5. 500 Server Internal Error ..............................................................Ethernet Quick Guide2.5.2 50 Not Implemented ....................................................................http://www.javvin.com/ethernetguide.2.5.3 502 Bad Gateway ..........................................................................html2.5.4 503 Service Unavailable ...............................................................Packet Analyzer2.5.5 504 Server Time-out ......................................................................http://www.javvin.com/packet.html2.5.6 505 Version Not Supported ...........................................................2.5.7 53 Message Too Large ................................................................DiskShare2.6 Global Failures 6xx ..........................................................................2http://www.javvin.com/diskshare.html2.6. 600 Busy Everywhere ...................................................................2DiskAccess2.6.2 603 Decline ...................................................................................2 http://www.javvin.com/diskaccess.html2.6.3 604 Does Not Exist Anywhere ......................................................22.6.4 606 Not Acceptable .......................................................................2LANsurveyorhttp://www.javvin.com/LANsurveyor.html22 Usage of HTTP Authentication ................................................................2 22. Framework .......................................................................................2CyberGauge 22.2 User-to-User Authentication ............................................................4 http://www.javvin.com/CyberGauge.html 22.3 Proxy-to-User Authentication ..........................................................4 22.4 The Digest Authentication Scheme ..................................................6Easy Network ServiceMonitor23 S/MIME ...................................................................................................7http://www.javvin.com/easy.html 23.1 S/MIME Certificates ........................................................................7 Business Card Scanner 23.2 S/MIME Key Exchange ...................................................................8http://www.javvin.com/businesscard- 23.3 Securing MIME bodies ....................................................................9scanner.html 23.4 SIP Header Privacy and Integrity using S/MIME: Tunneling SIP ...20 Color Cards and Picture 23.4.1 Integrity and Confidentiality Properties of SIP Headers ...............2Scannerhttp://www.javvin.com/colorcardscan- 23.4.. Integrity ......................................................................................2 ner.html 23.4.1.2 Confidentiality ............................................................................2 Portable Document Scan- 23.4.2 Tunneling Integrity and Authentication ........................................2ner 23.4.3 Tunneling Encryption ....................................................................23http://www.javvin.com/portablescan-ner.html24 Examples ..................................................................................................24 www.javvin.com 24. Registration ......................................................................................24www.networkdictionary. 24.2 Session Setup ...................................................................................25com [ Page 8 ]
  9. 9. SIP: Session Initiation Protocol June 200225 Augmented BNF for the SIP Protocol ......................................................28Network Dictionary 25. Basic Rules .......................................................................................28 http://www.javvin.com/networkdiction- ary.html26 Security Considerations: Threat Model and Security Usage Recommenda-Network Protocols Map http://www.javvin.com/map.htmltions ...............................................................................................................37 26. Attacks and Threat Models ...............................................................37 Network Security Map http://www.javvin.com/securitymap. 26.. Registration Hijacking ..................................................................38 html 26..2 Impersonating a Server .................................................................38Wireless Communications 26..3 Tampering with Message Bodies ..................................................38Technology Map 26..4 Tearing Down Sessions .................................................................39 http://www.javvin.com/wirelessmap. 26.1.5 Denial of Service and Amplification .............................................39 html 26.2 Security Mechanisms .......................................................................39 Network Protocols Hand- 26.2. Transport and Network Layer Security .........................................40book http://www.javvin.com/model.html 26.2.2 SIPS URI Scheme .........................................................................4 26.2.3 HTTP Authentication ....................................................................4TCP/IP Quick Guide http://www.javvin.com/tcpipguide.html 26.2.4 S/MIME .........................................................................................4 26.3 Implementing Security Mechanisms ................................................4 26.3. Requirements for Implementers of SIP .........................................4Ethernet Quick Guide http://www.javvin.com/ethernetguide. 26.3.2 Security Solutions .........................................................................42html 26.3.2. Registration ................................................................................42 26.3.2.2 Interdomain Requests .................................................................43Packet Analyzer http://www.javvin.com/packet.html 26.3.2.3 Peer-to-Peer Requests ................................................................44 26.3.2.4 DoS Protection ...........................................................................44DiskShare 26.4 Limitations .......................................................................................45 http://www.javvin.com/diskshare.html 26.4. HTTP Digest .................................................................................45 26.4.2 S/MIME .........................................................................................45DiskAccess http://www.javvin.com/diskaccess.html 26.4.3 TLS ................................................................................................46 26.4.4 SIPS URIs .....................................................................................46 LANsurveyor 26.5 Privacy ..............................................................................................47http://www.javvin.com/LANsurveyor. html27 IANA Considerations ...............................................................................47CyberGauge 27. Option Tags ......................................................................................47http://www.javvin.com/CyberGauge. 27.2 Warn-Codes ......................................................................................48 html 27.3 Header Field Names .........................................................................48Easy Network Service 27.4 Method and Response Codes ...........................................................48 Monitor 27.5 The message/sip MIME type. .......................................................49http://www.javvin.com/easy.html 27.6 New Content-Disposition Parameter Registrations .........................49 Business Card Scanner http://www.javvin.com/businesscard-28 Changes From RFC 2543 .........................................................................49scanner.html 28. Major Functional Changes ...............................................................49Color Cards and Picture 28.2 Minor Functional Changes ...............................................................5Scanner http://www.javvin.com/colorcardscan- ner.html29 Normative References ..............................................................................52 Portable Document Scan- ner30 Informative References ............................................................................53http://www.javvin.com/portablescan- ner.htmlA Table of Timer Values.................................................................................54www.javvin.comAcknowledgments .........................................................................................54 www.networkdictionary. com [ Page 9 ]
  10. 10. SIP: Session Initiation Protocol June 2002Authors Addresses .........................................................................................55 Network Dictionaryhttp://www.javvin.com/networkdiction-ary.htmlFull Copyright Statement ..............................................................................56Network Protocols MapAcknowledgement ........................................................................................56 http://www.javvin.com/map.htmlNetwork Security Maphttp://www.javvin.com/securitymap.htmlWireless CommunicationsTechnology Maphttp://www.javvin.com/wirelessmap.htmlNetwork Protocols Hand-bookhttp://www.javvin.com/model.htmlTCP/IP Quick Guidehttp://www.javvin.com/tcpipguide.htmlEthernet Quick Guidehttp://www.javvin.com/ethernetguide.htmlPacket Analyzerhttp://www.javvin.com/packet.htmlDiskSharehttp://www.javvin.com/diskshare.htmlDiskAccesshttp://www.javvin.com/diskaccess.htmlLANsurveyorhttp://www.javvin.com/LANsurveyor.htmlCyberGaugehttp://www.javvin.com/CyberGauge.htmlEasy Network ServiceMonitorhttp://www.javvin.com/easy.htmlBusiness Card Scannerhttp://www.javvin.com/businesscard-scanner.htmlColor Cards and PictureScannerhttp://www.javvin.com/colorcardscan-ner.htmlPortable Document Scan-nerhttp://www.javvin.com/portablescan-ner.htmlwww.javvin.comwww.networkdictionary.com[ Page 0 ]
  11. 11. SIP: Session Initiation ProtocolJune 20021 IntroductionNetwork Dictionaryhttp://www.javvin.com/networkdiction-There are many applications of the Internet that require the creation and management of a session, whereary.htmla session is considered an exchange of data between an association of participants. The implementation ofthese applications is complicated by the practices of participants: users may move between endpoints, theyNetwork Protocols Mapmay be addressable by multiple names, and they may communicate in several different media - sometimes http://www.javvin.com/map.htmlsimultaneously. Numerous protocols have been authored that carry various forms of real-time multimediasession data such as voice, video, or text messages. The Session Initiation Protocol (SIP) works in concert Network Security Mapwith these protocols by enabling Internet endpoints (called user agents) to discover one another and to http://www.javvin.com/securitymap.agree on a characterization of a session they would like to share. For locating prospective session partici-htmlpants, and for other functions, SIP enables the creation of an infrastructure of network hosts (called proxyWireless Communicationsservers) to which user agents can send registrations, invitations to sessions, and other requests. SIP is anagile, general-purpose tool for creating, modifying, and terminating sessions that works independently of Technology Mapunderlying transport protocols and without dependency on the type of session that is being established. http://www.javvin.com/wirelessmap.htmlNetwork Protocols Hand-2 Overview of SIP Functionality bookhttp://www.javvin.com/model.htmlSIP is an application-layer control protocol that can establish, modify, and terminate multimedia sessions(conferences) such as Internet telephony calls. SIP can also invite participants to already existing sessions,TCP/IP Quick Guidesuch as multicast conferences. Media can be added to (and removed from) an existing session. SIP transpar-http://www.javvin.com/tcpipguide.htmlently supports name mapping and redirection services, which supports personal mobility [27] - users canmaintain a single externally visible identifier regardless of their network location.Ethernet Quick GuideSIP supports five facets of establishing and terminating multimedia communications: http://www.javvin.com/ethernetguide.html User location: determination of the end system to be used for communication;Packet Analyzer User availability: determination of the willingness of the called party to engage in communications; http://www.javvin.com/packet.html User capabilities: determination of the media and media parameters to be used; DiskSharehttp://www.javvin.com/diskshare.html Session setup: ringing, establishment of session parameters at both called and calling party; Session management: including transfer and termination of sessions, modifying session parameters,DiskAccess and invoking services. http://www.javvin.com/diskaccess.htmlSIP is not a vertically integrated communications system. SIP is rather a component that can be used with LANsurveyorother IETF protocols to build a complete multimedia architecture. Typically, these architectures will in- http://www.javvin.com/LANsurveyor.clude protocols such as the Real-time Transport Protocol (RTP) (RFC 889 [28]) for transporting real-time htmldata and providing QoS feedback, the Real-Time streaming protocol (RTSP) (RFC 2326 [29]) for control-ling delivery of streaming media, the Media Gateway Control Protocol (MEGACO) (RFC 3015 [30]) for CyberGaugecontrolling gateways to the Public Switched Telephone Network (PSTN), and the Session Description http://www.javvin.com/CyberGauge.Protocol (SDP) (RFC 2327 [1]) for describing multimedia sessions. Therefore, SIP should be used inhtmlconjunction with other protocols in order to provide complete services to the users. However, the basicfunctionality and operation of SIP does not depend on any of these protocols. Easy Network ServiceMonitorSIP does not provide services. Rather, SIP provides primitives that can be used to implement differenthttp://www.javvin.com/easy.htmlservices. For example, SIP can locate a user and deliver an opaque object to his current location. If thisprimitive is used to deliver a session description written in SDP, for instance, the endpoints can agree on the Business Card Scannerparameters of a session. If the same primitive is used to deliver a photo of the caller as well as the sessionhttp://www.javvin.com/businesscard-description, a caller ID service can be easily implemented. As this example shows, a single primitive isscanner.htmltypically used to provide several different services. Color Cards and PictureSIP does not offer conference control services such as floor control or voting and does not prescribe how a Scannerconference is to be managed. SIP can be used to initiate a session that uses some other conference controlhttp://www.javvin.com/colorcardscan-protocol. Since SIP messages and the sessions they establish can pass through entirely different networks,ner.htmlSIP cannot, and does not, provide any kind of network resource reservation capabilities.Portable Document Scan-nerThe nature of the services provided make security particularly important. To that end, SIP provides a http://www.javvin.com/portablescan-suite of security services, which include denial-of-service prevention, authentication (both user to user and ner.htmlproxy to user), integrity protection, and encryption and privacy services.www.javvin.comSIP works with both IPv4 and IPv6.www.networkdictionary.com [ Page]
  12. 12. SIP: Session Initiation ProtocolJune 20023 Terminology Network Dictionaryhttp://www.javvin.com/networkdiction-In this document, the key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, ary.htmlSHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OP-TIONAL are to be interpreted as described in BCP 14, RFC 2119 [2] and indicate requirement levels forNetwork Protocols Mapcompliant SIP implementations.http://www.javvin.com/map.htmlNetwork Security Map4 Overview of Operation http://www.javvin.com/securitymap.htmlThis section introduces the basic operations of SIP using simple examples. This section is tutorial in nature Wireless Communicationsand does not contain any normative statements.Technology MapThe first example shows the basic functions of SIP: location of an end point, signal of a desire to com-http://www.javvin.com/wirelessmap.municate, negotiation of session parameters to establish the session, and teardown of the session oncehtmlestablished.Network Protocols Hand-bookFigure 1 shows a typical example of a SIP message exchange between two users, Alice and Bob. (Eachhttp://www.javvin.com/model.htmlmessage is labeled with the letter F and a number for reference by the text.) In this example, Alice uses aSIP application on her PC (referred to as a softphone) to call Bob on his SIP phone over the Internet. Also TCP/IP Quick Guideshown are two SIP proxy servers that act on behalf of Alice and Bob to facilitate the session establishment.http://www.javvin.com/tcpipguide.htmlThis typical arrangement is often referred to as the SIP trapezoid as shown by the geometric shape of thedotted lines in Figure .Ethernet Quick GuideAlice calls Bob using his SIP identity, a type of Uniform Resource Identifier (URI) called a SIP URI. http://www.javvin.com/ethernetguide.SIP URIs are defined in Section 19.1. It has a similar form to an email address, typically containing a htmlusername and a host name. In this case, it is sip:[email protected], where biloxi.com is the domain of BobsSIP service provider. Alice has a SIP URI of sip:[email protected]. Alice might have typed in Bobs URI Packet Analyzeror perhaps clicked on a hyperlink or an entry in an address book. SIP also provides a secure URI, called ahttp://www.javvin.com/packet.htmlSIPS URI. An example would be sips:[email protected]. A call made to a SIPS URI guarantees that secure,encrypted transport (namely TLS) is used to carry all SIP messages from the caller to the domain of the DiskSharecallee. From there, the request is sent securely to the callee, but with security mechanisms that depend on http://www.javvin.com/diskshare.htmlthe policy of the domain of the callee.SIP is based on an HTTP-like request/response transaction model. Each transaction consists of a request DiskAccessthat invokes a particular method, or function, on the server and at least one response. In this example, thehttp://www.javvin.com/diskaccess.htmltransaction begins with Alices softphone sending an INVITE request addressed to Bobs SIP URI. INVITEis an example of a SIP method that specifies the action that the requestor (Alice) wants the server (Bob) LANsurveyorto take. The INVITE request contains a number of header fields. Header fields are named attributes that http://www.javvin.com/LANsurveyor.provide additional information about a message. The ones present in an INVITE include a unique identifier htmlfor the call, the destination address, Alices address, and information about the type of session that Alicewishes to establish with Bob. The INVITE (message F in Figure ) might look like this: CyberGaugehttp://www.javvin.com/CyberGauge.htmlEasy Network ServiceMonitorhttp://www.javvin.com/easy.htmlBusiness Card Scannerhttp://www.javvin.com/businesscard-scanner.htmlColor Cards and PictureScannerhttp://www.javvin.com/colorcardscan-ner.htmlPortable Document Scan-nerhttp://www.javvin.com/portablescan-ner.htmlwww.javvin.comwww.networkdictionary.com[ Page 2 ]
  13. 13. SIP: Session Initiation ProtocolJune 2002Network Dictionaryhttp://www.javvin.com/networkdiction-ary.htmlNetwork Protocols Maphttp://www.javvin.com/map.htmlNetwork Security Maphttp://www.javvin.com/securitymap.htmlWireless CommunicationsTechnology Maphttp://www.javvin.com/wirelessmap.htmlNetwork Protocols Hand-bookhttp://www.javvin.com/model.htmlTCP/IP Quick Guidehttp://www.javvin.com/tcpipguide.htmlFigure : SIP session setup example with SIP trapezoidEthernet Quick Guidehttp://www.javvin.com/ethernetguide. INVITE sip:[email protected] SIP/2.0html Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forwards: 70 Packet Analyzer To: Bob sip:[email protected] http://www.javvin.com/packet.html From: Alice sip:[email protected];tag=1928301774 Call-ID: [email protected] DiskShare CSeq: 3459 INVITEhttp://www.javvin.com/diskshare.html Contact: sip:[email protected] Content-Type: application/sdpDiskAccess Content-Length: 42http://www.javvin.com/diskaccess.html (Alices SDP not shown)LANsurveyorThe first line of the text-encoded message contains the method name (INVITE). The lines that follow are a http://www.javvin.com/LANsurveyor.list of header fields. This example contains a minimum required set. The header fields are briefly describedhtmlbelow:CyberGaugeVia contains the address (pc33.atlanta.com) at which Alice is expecting to receive responses to this request. http://www.javvin.com/CyberGauge.It also contains a branch parameter that identifies this transaction. htmlTo contains a display name (Bob) and a SIP or SIPS URI (sip:[email protected]) towards which the request Easy Network Servicewas originally directed. Display names are described in RFC 2822 [3]. Monitorhttp://www.javvin.com/easy.htmlFrom also contains a display name (Alice) and a SIP or SIPS URI (sip:[email protected]) that indicate theoriginator of the request. This header field also has a tag parameter containing a random string (1928301774) Business Card Scannerthat was added to the URI by the softphone. It is used for identification purposes. http://www.javvin.com/businesscard-scanner.htmlCall-ID contains a globally unique identifier for this call, generated by the combination of a random stringColor Cards and Pictureand the softphones host name or IP address. The combination of the To tag, From tag, and Call-ID com-Scannerpletely defines a peer-to-peer SIP relationship between Alice and Bob and is referred to as a dialog. http://www.javvin.com/colorcardscan-ner.htmlCSeq or Command Sequence contains an integer and a method name. The CSeq number is incremented foreach new request within a dialog and is a traditional sequence number.Portable Document Scan-nerContact contains a SIP or SIPS URI that represents a direct route to contact Alice, usually composed of a http://www.javvin.com/portablescan-username at a fully qualified domain name (FQDN). While an FQDN is preferred, many end systems do ner.htmlnot have registered domain names, so IP addresses are permitted. While the Via header field tells other www.javvin.comelements where to send the response, the Contact header field tells other elements where to send futurerequests.www.networkdictionary.Max-Forwards serves to limit the number of hops a request can make on the way to its destination. It con- com[ Page 3 ]