VoIP and Skype
VoIP and Skype fast are becoming essential elements of successful products for telecommunications. Find out how DOSCH AND AMAND Research can help you meet the challenge.Learn more
The Session Initiation Protocol (SIP) is a signaling protocol for real-time communication applications such as voice over IP (VoIP) and Instant Messaging (IM). Based on ubiquitous and accepted Internet protocols such as SMTP and HTTP, SIP is text encoded and well suited for the Internet and other IP environments. SIP provides the mechanisms to implement a broad range of features including
- call control services
- next-generation service creation
- interoperability with existing telephony systems mobility
SIP signaling functionality is divided into the following entities:
- User Agents for SIP endpoint functionality
- SIP Proxy for routing SIP messages to their appropriate destinations
- SIP Redirect Servers for re-directing clients to contact an alternate set of URIs
- SIP Registrar for managing user location information
- SIP Back-to-Back User Agent (B2BUA) for routing and connecting calls
- SIP Presence Server - handles presence subscription requests from watchers and notifies them about changes in presence status
2 typical SIP Calls
a)Redirect Mode

b)Proxy Mode

Enhanced Features
TLS
TLS is a security protocol which is typically layered on top of connection-oriented transports such as TCP. TLS allows client/server applications to communicate over TCP in a way that is designed to prevent eavesdropping, tampering, or message forgery. TLS provides a solution for many of the security issues SIP applications face and ties in well with the existing SSL/TLS infrastructure that serves HTTP applications. SIP uses SIPS: URL scheme for TLS addresses.
Persistent Connection
In many cases, a single TCP connection may be reused for different messages/transactions/dialogs. Opening and closing TCP connections often is not desirable because of the extra messaging overhead of the TCP handshake (and even more so in TLS connections).
General URL Scheme Support
SIP defines and uses different URL schemes such as SIP, IM,TEL. In addition, some implementations define proprietary URL schemes. A general framework in the SIP Stack provides support for sending and receiving any type of URL scheme.
REFER (Transfer) Extension Support
REFER is a SIP method defined by RFC 3515. The REFER method indicates that the recipient of the REFER request should contact a third party using the contact information provided in the REFER request. RFC 3515 provides a mechanism allowing the party that is sending the REFER to be notified of the outcome of the referenced request with a NOTIFY request. This implementation uses subscription objects for REFER implementation.
High Availability (HA) Support
The SIP Toolkit provides the necessary building blocks for implementing Highly Available systems that can recover from machine failure without losing call state. The SIP stack enables creation of one or more replicated/ redundant network entities (for standby or parallel operation) and seamless switching between them.
SIP-T (Interworking with ISUP/QSIG) Support
SIP-T is an IETF umbrella specification that utilizes different SIP extensions and advanced capabilities (such as PRACK, 183, INFO, Multi-Part MIME, Server Features) in order to interwork SIP with SS7/ISUP or QSIG networks. The SIP Toolkit provides the entire feature set and simplifies enabling SIP-T functionality in any application rapidly.
Primitives Compilation Flag
The primitives compilation flag removes the dialog layer, allowing the application to work directly above the transaction layer. Additionally, it removes specific support of certain headers. The application can still use these headers by adding specific support in the application level. Multi-Part MIME Bodies Support Multi-Part MIME is a generic mechanism, commonly used for Web-based applications and email, which allows encapsulation and transfer of arbitrary chunks of text and binary data within SIP messages. Multi-Part MIME is necessary for features such as ISUP message tunneling through SIP (which is part of SIP-T), applet and script uploading, and more.
PRACK (RFC 3262)
Extension Support
PRACK (PRovisional ACKnowledgment) is an IETF SIP extension for sending provisional responses reliably. PRACK is useful for opening one-way media sessions before call establishment and for QoS negotiation before completing the INVITE transaction.
IPv6 Support
The SIP Stack fully supports both IPv4 and IPv6 as underlying protocols and can be used seamlessly with either type of network simultaneously.
Advanced DNS Queries
RFC 3263 (Locating SIP Servers) defines procedures for using advanced SRV and NAPTR DNS queries to determine the transport protocol, IP address and port at which a specific SIP server is available. These procedures can be used to dynamically update server location and to implement redundancy among servers for fault tolerance or load balancing.
SUBSCRIBE-NOTIFY (SIP Events)
RFC 3265 (SIP Specific Event Notification) is a SIP extension that allows for subscription and event notifications using SIP. SIP Events is an important infrastructure for services such as Presence and Message Waiting Indication.
Enhanced Parser Functionality
Enables the application to accept or fix bad message syntax. This provides ability to handle corrupted message parts and interwork with proprietary implementations.
