Session Initiation Protocol (SIP) is used to signal and control interactive communication sessions. The uses for such sessions include voice, video, chat and instant messaging, as well as interactive games and virtual reality. The SIP protocol is increasingly being used to provide Voice over IP, Presence and Instant Messaging in Next Generation Networks, and being mandated for many new applications, including 3G telephony.
SIP is a protocol developed primarily by the SIPCORE working group of the IETF (see the SIPCORE Charter) and is an alternative to the ITU Recommendation H.323, but is a more lightweight and general-purpose, text-based protocol based on HTTP.
SIP can be used to control Internet multimedia conferences, Internet telephone calls and multimedia distribution, in both the core and the periphery of the communications network.
To address the requirements of carrier-grade equipment manufacturers for SIP protocol software with high reliability, performance and scalability, Metaswitch has developed DC-SIP, a robust, high-function, flexible and portable SIP software implementation.
The SIP protocol includes the following features.
- SIP invitations are used to create sessions and carry session descriptions that allow participants to agree on a set of compatible media types. In this way, SIP is not restricted to any particular media type, and can therefore handle the expanding range of media technologies.
- SIP enables user mobility through a mechanism that allows requests to be proxied or redirected to the user's current location. Users can register their current location with their home server.
- SIP supports end-to-end and hop-by-hop authentication, as well as end-to-end encryption using S/MIME.
- Members in a SIP session can communicate using multicast or unicast relations, or a combination of these. In addition, SIP is independent of the lower-layer transport protocol, which allows it to take advantage of new transport protocols.
- Software implementing the basic SIP protocol can be extended with additional capabilities and is actively being exploited for many media applications.
A SIP entity may operate in one of the following modes, all of which are implemented by Metaswitch's SIP software, DC-SIP.
- A User Agent is the end-point of a SIP call. It initiates SIP requests as instructed by the user and, on receipt of a SIP request, contacts the user and responds to the request on their behalf.
- A Proxy is used to route requests and enforce policy or firewalls. It accepts requests on behalf of a user and passes them on, modified as necessary, to the user.
- A Redirector (Redirect server) may be used to provide user mobility. A Redirector accepts SIP requests and returns zero or more new addresses that should be contacted to fulfil the request. A redirector does not initiate SIP requests or accept SIP calls.
- A Registrar accepts registration requests. These enable users to update their location and policy information as may be used to provide user mobility.