SIP
Abstract from the SIP RFC 3261 (latest formatted/explained version)
This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.
SIP invitations used to create sessions carry session descriptions that allow participants to agree on a set of compatible media types. SIP makes use of elements called proxy servers to help route requests to the user's current 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 current locations for use by proxy servers. SIP runs on top of several different transport protocols.
SIP is very much like HTTP, the Web protocol, or SMTP. Messages consist of headers and a message body. SIP message bodies for phone calls are defined in SDP -the session description protocol.
- SIP is a text-based protocol that uses UTF-8 encoding
- SIP uses port 5060 both for UDP and TCP. SIP may use other transports
SIP offers all potentialities of the common Internet Telephony features like:
- call or media transfer
- call conference
- call hold
Since SIP is a flexible protocol, it is possible to add more features and keep downward interoperability.
SIP also does suffer from NAT or firewall restrictions. (Refer to NAT and VOIP)
SIP can be regarded as the enabler protocol for telephony and voice over IP (VoIP) services. The following features of SIP play a major role in the enablement of IP telephony and VoIP:
- Name Translation and User Location: Ensuring that the call reaches the called party wherever they are located. Carrying out any mapping of descriptive information to location information. Ensuring that details of the nature of the call (Session) are supported.
- Feature Negotiation: This allows the group involved in a call (this may be a multi-party call) to agree on the features supported � recognizing that not all the parties can support the same level of features. For example video may or may not be supported; as any form of MIME type is supported by SIP, there is plenty of scope for negotiation.
- Call Participant Management: During a call a participant can bring other users onto the call or cancel connections to other users. In addition, users could be transferred or placed on hold.
- Call feature changes: A user should be able to change the call characteristics during the course of the call. For example, a call may have been set up as �voice-only�, but in the course of the call, the users may need to enable a video function. A third party joining a call may require different features to be enabled in order to participate in the call
- Media negotiation: The inherent SIP mechanisms that enable negotiation of the media used in a call, enable selection of the appropriate codec for establishing a call between the various devices. This way, less advanced devices can participate in the call, provided the appropriate codec is selected.
The SIP protocol
The SIP protocol defines several methods.
SIP methods defined in the SIP RFC
- SIP method invite: Invite another UA to a session
- SIP method invite re-invite: Change a running session
- SIP method register: Register a location with a SIP Registrar server
- SIP method ack: Used to facilitate reliable message exchange for INVITEs
- SIP method cancel: Cancel an invite
- SIP method bye: Hangup a session
- SIP method options
SIP method extensions from other RFCs
- SIP method info: Extension in RFC 2976
- SIP method notify: Extension in RFC 2848 PINT
- SIP method subscribe: Extension in RFC 2848 PINT
- SIP method unsubscribe: Extension in RFC 2848 PINT
- SIP method update: Extension in RFC 3311
- SIP method message: Extension in RFC 3428
- SIP method refer: Extension in RFC 3515
- SIP method prack: Extension in RFC 3262
- SIP Specific Event Notification: Extension in RFC 3265
- SIP Message Waiting Indication: Extension in RFC 3842
- SIP method PUBLISH: Extension is RFC 3903
SIP responses
SIP terms and definitions
- SIP outbound proxy
- SIP proxy
- SIP redirect server
- SIP registrar server
- SIP URI - how to specify a SIP connection in an URL
- SIP Compression
- SIP DTMF signalling
- SIP Authentication
References
- RFC 3261 Official Main SIP RFC
- Formatted/explained version of RFC 3261 (over 250 pages!)
- RFC 3329: Security Mechanism Agreement for the Session Initiation Protocol (SIP)
- The IETF SIP Working Group - on this page, you'll find all current Internet Drafts, RFCs and standards
See also
- SIP simple: Instant messaging with SIP
- SDP: The Session Description Protocol
- SIP tools
- SIP SS7 gateways
- RTP: Real-Time Transport Protocol- the protocol most often used for voice communication
- SIP call flows: Examples of SIP call flows
- SIP security
- IAX versus SIP
- SIP-T: Session Initiation Protocol for Telephones RFC3372
- SIP Trunking: Including trunk-group information in SIP INVITE RFC4904
External SIP links
- What is SIP? from Bandwidth.com wiki
- SIP Tutorial & Resources
- IMS SIP Technology Overview
- How a SIP server can handle the NAT traversal issue in SIP ?
- Great SIP tutorial
- mini SIP registrar server and proxy server For MS-Windows platform, simple and easy!
- Columbia University SIP website — lots of diverse info here
- Open Source SIP and Media Links
- SIP FAQ: Columbia University SIP FAQ - visit it!
- SIP Introduction: ftp://ftp.berlios.de/pub/ser/latest/doc/html/sip_introduction.html
- SIP, networks and NAT : http://www.voipuser.org/forum_topic_7295.html
- The SIP Forum: http://www.sipforum.com/
- Business VoIP SIP trunking and Business VoIP service from VoIP Supply
- Doug Moeller's full day VOIP tutorial Powerpoint presentation (large 13MB zip file)
- VOIP Cookbook SIP and H.323
- The SIP Center Comprehensive information and resources on all things SIP.
- The entire list of SIP related IETF specs
- Sip providers List of SIP providers.
- Packetizer's SIP Information Site
- SIP Wiki http://www.toyz.org/cgi-bin/sipwiki.cgi
- Basic SIP call flow and SIP error codes
- Tech-invite SIP Service Examples - Good examples of the packets sent and received for various call flow senarios
- SIP FAQ - sipknowledge SIP FAQ
- SIP and H.323 Call Flow Diagrams
- free MWI routines
- What is SIP?
- SIP Server Technical Overview
- Overview of H.323-SIP Interworking
- SIP Tutorial - SIP Tutorial/eLearning - wow!
- Important thing to look at if you get one way audio problem with Asterisk 1.4.10 and FreePBX 2.3.0
- Back-to-back User Agent (B2BUA) SIP Servers Powering Next Generation Networks
home page

Page Changes

