VoCAL Print Logo
 SIP

SIP Communications Software Protocol

There are many applications of the Internet that require the creation and management of a session, where a session is considered an exchange of data between an association of participants. The implementation of these applications is complicated by the practices of participants: users may move between endpoints, they may be addressable by multiple names, and they may communicate in several different media - sometimes simultaneously.

Numerous protocols have been authored that carry various forms of real-time multimedia session data such as voice, video, or text messages. The Session Initiation Protocol (SIP) works in concert with these protocols by enabling Internet endpoints (called user agents) to discover one another and to agree on a characterization of a session they would like to share.

SIP 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, 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.

For locating prospective session participants, and for other functions, SIP enables the creation of an infrastructure of network hosts (called proxy servers) to which user agents can send registrations, invitations to sessions, and other requests. SIP is an agile, general-purpose tool for creating, modifying, and terminating sessions that works independently of underlying transport protocols and without dependency on the type of session that is being established.

SIP supports five facets of establishing and terminating multimedia communications:
  • User location: determination of the end system to be used for communication
  • User availability: determination of the willingness of the called party to engage in communications
  • User capabilities: determination of the media and media parameters to be used
  • Session setup: "ringing", establishment of session parameters at both called and calling party
  • Session management: including transfer and termination of sessions, modifying session parameters, and invoking services

The nature of the services provided make security particularly important. To that end, SIP provides a suite of security services, which include denial-of-service prevention, authentication (both user to user and proxy to user), integrity protection, and encryption and privacy services.

SIP is not a vertically integrated communications system. SIP is rather a component that can be used with other IETF protocols to build a complete multimedia architecture. Typically, 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. Therefore, SIP should be used in conjunction with other protocols in order to provide complete services to the users. However, the basic functionality and operation of SIP does not depend on any of these protocols.

SIP does not provide services. Rather, SIP provides primitives that can be used to implement different services. For example, SIP can locate a user and deliver an opaque object to his current location. If this primitive is used to deliver a session description written in SDP, for instance, the endpoints can agree on the parameters of a session. If the same primitive is used to deliver a photo of the caller as well as the session description, a "caller ID" service can be easily implemented. As this example shows, a single primitive is typically used to provide several different services.

SIP does not offer conference control services such as floor control or voting and does not prescribe how a conference is to be managed. SIP can be used to initiate a session that uses some other conference control protocol. Since SIP messages and the sessions they establish can pass through entirely different networks, SIP cannot, and does not, provide any kind of network resource reservation capabilities.

VOCAL's embedded software libraries include a complete range of ETSI / ITU / IEEE compliant algorithms, in addition to many other standard and proprietary algorithms. Our software is optimized for execution on ANSI C and leading DSP architectures (TI, ADI, AMD, ARM, MIPS, CEVA, LSI Logic ZSP, etc.). These libraries are modular and can be executed as a single task under a variety of operating systems or standalone with its own microkernel.

Features

  • Compliant with RFC 3261 SIP v.2
  • SIP works with both IPv4 and IPv6
  • SIP invitations are used to create sessions and carry session descriptions that allow participants to agree on a set of compatible media types.
  • 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 SIP protocol can be extended with additional capabilities and is actively being developed.

Applications

  • WIFI phones VoWLAN
  • Wireless GPRS EDGE systems
  • Personal Communications
  • Wideband IP telephony
  • Audio and Video Conferencing

SIP Calling

SIP Conferencing

SIP Call Forwarding

SIP Call Transferring

Locating SIP Servers

SIP Message Routing

SIP PRACK

SIP Presence and Instant Messaging

SIP Registration

Secure SIP

SIP Session Timers

SIP Datasheet

RFC 3261 Standard