Session Initiation Protocol (SIP) RFCs

Home      RTP resources    more VoIP resources    more SIP resources
Standards
  | Books    
             Core | PSTN | Extensions  | Minor Extensions  | Conferencing | Call Control | Events | QoS | OAM  
             Compression | Service URIs | Security  | IM  | Emergency  

SIP Introduction

SIP is an application-layer control protocol that can establish, modify, and terminate multimedia sessions such as Internet telephony calls. SIP can also invite participants to already existing sessions, such as multicast conferences. Media can be added to (and removed from) an existing session. SIP transparently supports name mapping and redirection services, which supports personal mobility - users can maintain a single externally visible identifier regardless of their network location.

SIP should be used in conjunction with other protocols in order to provide complete services to the users. These architectures will include protocols such as the Real-time Transport Protocol (RTP) for transporting real-time data and providing QoS feedback, the Real-Time streaming protocol (RTSP) for controlling delivery of streaming media, the Media Gateway Control Protocol (MEGACO) for controlling gateways to the Public Switched Telephone Network (PSTN), and the Session Description Protocol (SDP) for describing multimedia sessions.

Standards

Drafts (active+expired)      Bugs in RFC/Drafts

RFCs 

As per Rosenburg's Hitchhikers guide to SIP

Core
RFC 3261 - SIP: Session Initiation Protocol
RFC 3263 - Locating SIP Servers
RFC 3264 - An Offer/Answer Model with the Session Description Protocol
RFC 3265 - SIP-Specific Event Notification
RFC 3325 - Private Extensions to SIP for Asserted Identity
RFC 3327 - SIP Extension Header Field for Registering Non-Adjacent Contacts
RFC 3581 - An Extension to SIP for Symmetric Response Routing
RFC 3840 - Indicating User Agent Capabilities in SIP
RFC 4320 - Actions Addressing Issues Identified with Non-INVITE Transaction
RFC 4474 - Enhancements for Authenticated Identity Management in SIP
RFC 4556 - Session Description Protocol
RFC 3388 - Grouping of Media Lines in the Session Description Protocol
RFC 3605 - Real Time Control Protocol (RTCP) Attribute in the SDP
ID 19 - Interactive Connectivity Establishment (ICE)
ID 06 - Connected Identity in the Session Initiation Protocol
ID 15 - Obtaining and Using GRUU in SIP
ID 19 - Managing Client Initiated Connections through SIP
ID 09 - Addressing an Amplification Vulnerability in Forking Proxies
ID 08 - SDP Capability Negotiation
 
PSTN Interworking
RFC 2848 - The PINT Service Protocol
RFC 3910 - The SPIRITS Protocol
RFC 3372 - SIP for Telephones (SIP-T)
RFC 3398 - ISUP to SIP Mapping
RFC 3578 - Mapping of ISUP Overlap Signaling to SIP
RFC 3666 - SIP PSTN Call Flows
RFC 3960 - Early Media and Ringtone Generation in SIP
RFC 3959 - Early Session Disposition Type for the SIP
RFC 3204 - MIME Media Types for ISUP and QSIG Objects
 
General Purpose Infrastructure Extensions
RFC 3262 - Reliability of Provisional Responses in SIP
RFC 3323 - A Privacy Mechanism for the SIP
RFC 3311 - The SIP UPDATE Method
RFC 2976 - The INFO Method
RFC 3326 - The Reason header field for SIP
RFC 3420 - Internet Media Type message/sipfrag
RFC 3608 - SIP Extension Header Field for Service Route Discovery
RFC 3841 - Caller Preferences for SIP
RFC 4028 - Session Timers in SIP
RFC 4168 - SCTP as a Transport for SIP
RFC 4244 - An Extension to SIP for Request History Information
RFC 4145 - TCP-Based Media Transport in the SDP
RFC 4091 - The ANAT Semantics for the SDP Grouping Framework
ID 07 - SDP media capabilities Negotiation
 
 
NAT Traversal
ID 19 - ICE : A Methodology for NAT Traversal for Offer/Answer Protocols
ID 08 - TCP Candidates with ICE
ID 02 - Indicating Support for ICE in the SIP
RFC 3605 - RTCP attribute in SIP
ID 19 - Managing Client Initiated Connections in the SIP
RFC 3581 - An Extension to the SIP for Symmetric Response Routing
ID 13 - Obtaining and Using GRUU in the SIP
 
Minor Extensions
RFC 4488 - Suppression of the SIP REFER Implicit Subscription
RFC 4538 - Request Authorization through Dialog Identification in SIP
RFC 4508 - Conveying Feature Tags with the REFER Method in SIP
RFC 4483 - A Mechanism for Content Indirection in SIP
RFC 3890 - A Transport Independent Bandwidth Modifier for the SDP
ID 08 - Requesting Answer Modes for SIP
ID 06 - Rejecting Anonymous Requests in SIP
RFC 4583 - SDP Format for Binary Floor Control Protocol (BFCP) Streams
RFC 4796 - The SDP Content Attribute
 
Conferencing
RFC 4574 - The SDP Label Attribute
RFC 3911 - The SIP Join Header Field
RFC 4575 - A SIP Event Package for Conference State
 
Call Control Primitives
RFC 3515 - The REFER Method
RFC 3725 - Best Current Practices for Third Party Call Control (3pcc)
RFC 3911 - The SIP Join Header Field
RFC 3891 - The SIP Replaces Header
RFC 3892 - The SIP Referred-By Mechanism
RFC 4117 - Transcoding Services Invocation in SIP Using 3pcc
 
Event Framework and Packages
RFC 3903 - SIP Extension for Event State Publication
RFC 4662 - A SIP Event Notification Extension for Resource Lists
RFC 3680 - A SIP Event Package for Registrations
RFC 3842 - A Message Summary and MWI Event Package for SIP
RFC 3856 - A Presence Event Package for SIP
RFC 3857 - A Watcher Information Event Template Package for SIP
RFC 4235 - An INVITE Initiated Dialog Event Package for SIP
RFC 4575 - A SIP Event Package for Conference State
RFC 4730 - A SIP Event Package for Keypress Stimulus (KPML)
ID 02 - SIP Event Package for Voice Quality Reporting
ID 05 - A SIP Event Package for Session-Specific Session Policies
 
Quality of Service
RFC 3312 - Integration of Resource Management and SIP
RFC 3313 - Private SIP Extensions for Media Authorization
RFC 3524 - Mapping of Media Streams to Resource Reservation Flows
 
Operations and Management
ID 15 - A Framework for SIP UA Profile Delivery
ID 06 - SIP Event Package for Voice Quality Reporting
 
 
SIP Compression
RFC 3486 - Compressing SIP
 
SIP Service URIs
RFC 3087 - Control of Service Context using Request URI
RFC 4662 - A SIP Event Notification Extension for Resource Lists
RFC 4240 - Basic Network Media Services with SIP
ID 03 - Subscriptions to Request-Contained Resource Lists in the SIP
ID 04 - Multiple-Recipient MESSAGE Requests in the SIP
ID 03 - Conference Establishment Using Request-Contained Lists in the SIP
 
Security Mechanisms
RFC 3853 - S/MIME AES Requirement for SIP
RFC 3893 - SIP Authenticated Identity Body (AIB) Format
RFC 3329 - Security Mechanism Agreement for SIP
RFC 4572 - Connection-Oriented Media Transport over TLS in the SDP
ID 07 - Certificate Management Service for The SIP
ID 01 - A Framework for Consent-Based Communications in the SIP
ID 06 - SIP Pending Additions Event Package
ID 03 - Security Preconditions for SDP Media Streams
RFC 4189 - End-to-Middle Security in SIP
 
Instant Messaging and Presence
RFC 3428 - SIP Extension for Instant Messaging
RFC 3856 - A Presence Event Package for SIP
RFC 3857 - A Watcher Information Event Template Package for SIP
ID 03 - SDP Offer/Answer Mechanism to Enable File Transfer
 
Emergency Services
RFC 4411 - Extending the SIP Reason Header for Preemption Events
RFC 4412 - Communications Resource Priority for SIP

Books

1. SIP by Alan B. Johnston
2. SIP Demystified by Gonzalo Camarillo
3. Internet Communications Using SIP by Henry Sinnreich, Alan B. Johnston
4. SIP Beyond VoIP by Henry Sinnreich, Alan B. Johnston
 

Maintained by Anil Edathara

Last Modified: September 07, 2009

 

Internet Communications Using SIP by Henry Sinnreich, Alan B. Johnston     SIP by Alan B. Johnston     SIP Beyond VoIP by Henry Sinnreich, Alan B. Johnston

Carrier Grade Voice Over IP by Daniel Collins     SIP Demystified by Gonzalo Camarillo      Internet Communications Using SIP by Henry Sinnreich, Alan B. Johnston          

SIP Methods RFC
ACK Acknowledge final response to Invite 3261
BYE Terminate a session 3261
CANCEL Cancel a previous request 3261
INFO Mid-session signaling 2976
INVITE Initiate a session 3261
MESSAGE Allows the transfer of IMs 3428
NOTIFY Event notification 3265
OPTIONS Query to find the capabilities 3261
PRACK Acknowledgement  for Provisional responses 3262
PUBLISH Publish event state 3903
REFER Transfer user to a 3rd party 3515
REGISTER Register with a SIP network 3261
SUBSCRIBE Request asynchronous event notification 3265
UPDATE Update parameters of a session 3311
 
Response Codes
    Provisional 1xx
    100 Trying
    180 Ringing
    181 Call Is Being Forwarded
    182 Queued
    183 Session Progress
 
 
  Successful 2xx
    200 OK
    202 Accepted
 
 
  Redirection 3xx
    300 Multiple Choices
    301 Moved Permanently
    302 Moved Temporarily
    305 Use Proxy
    380 Alternative Service
 
 
  Request Failure 4xx
    400 Bad Request
    401 Unauthorized
    402 Payment Required
    403 Forbidden
    404 Not Found
    405 Method Not Allowed
    406 Not Acceptable
    407 Proxy Authentication Required
    408 Request Timeout
    410 Gone
    412 Conditional Request Failed
    413 Request Entity Too Large
    414 Request-URI Too Long
    415 Unsupported Media Type
    416 Unsupported URI Scheme
    417 Unknown Resource-Priority
    420 Bad Extension
    421 Extension Required
    422 Session Interval Too Small
    423 Interval Too Brief
    428 Use Identity Header
    429 Provide Referrer Identity
    436 Bad Identity-Info
    437 Unsupported Certificate
    438 Invalid Identity Header
    480 Temporarily Unavailable
    481 Call/Transaction Does Not Exist
    482 Loop Detected
    483 Too Many Hops
    484 Address Incomplete
    485 Ambiguous
    486 Busy Here
    487 Request Terminated
    488 Not Acceptable Here
    489 Bad Event
    491 Request Pending
    493 Undecipherable
    494 Security Agreement Required
 
 
  Server Failure 5xx
    500 Server Internal Error
    501 Not Implemented
    502 Bad Gateway
    503 Service Unavailable
    504 Server Time-out
    505 Version Not Supported
    513 Message Too Large
    580 Precondition Failure
 
  
  Global Failures 6xx
    600 Busy Everywhere
    603 Decline
    604 Does Not Exist Anywhere
    606 Not Acceptable