Buying a SIP Protocol Stack: How to Kick the Tires
By Akhilesh Daniel
Marketing Manager
Trillium Digital Systems, Inc., an Intel company
Some people buy a car based on looks alone, but I'm one of those customers who lifts the hood, reads the manual, and asks a lot of questions. I go to the dealer with a list of specific demands:
- Dependability: I'm looking for reliability and safety, whether the trip is around the corner or long-distance.
- Responsiveness: Regardless of the weather, the terrain, or the load I'm carrying, the ride has to be smooth and nimble.
- Quality Construction: I want excellent fit-and-finish, inside and outside.
- Size: It has to be small enough to fit my garage, but big enough to accommodate my family.
- Gadgets and Goodies: A great sound system, climate control, and security are requirements.
- Ease of Use: The dashboard display has to be easy to read day or night, and all the ergonomics must be comfortable.
- Brand Name: I'd like to wow the neighbors, but even more, I want to sleep at night knowing that the manufacturer has a stellar track record for quality.
The Engine and Architecture
You'd insist on the best possible engine for a car. A protocol stack needs to be well-architected and designed so that its core engine will consistently deliver high performance under various load conditions. You want responsiveness under all driving conditions from your vehicle; likewise, you need responsiveness and strength to handle all call control/service applications from a protocol stack.
Trillium Session Initiation Protocol (SIP) software leverages the proven power of Trillium Advanced Portability Architecture (TAPA) architecture intelligently to deliver a uniquely powerful set of capabilities and functionalities. How does TAPA work for you?
Responsiveness
All software stacks have operating system (OS) wrappers and efficient APIs that offer a common way for writing codes-so what benefit to you is a protocol stack architecture?
It's simple: responsiveness. TAPA delivers high responsiveness without repeatedly instructing the stack on what to do next.
Trillium's SIP protocol stack leverages intelligently on TAPA's "tight" and "loose coupling" mechanisms between layers. This enables efficient inter-layer and inter-module interaction. Every time the stack is invoked, it processes all the associated tasks, generate primitives and produce a SIP message. By leveraging on TAPA intelligently, Trillium's SIP protocol stack can be implemented comprehensively in these functional blocks:
- call-control handler
- transport connection manager
- registrar server
- network server (which includes the proxy server and redirect server)
- common DNS Module
- radix tree library
- common timer module
- common ABNF encoder/decoder module
Are all SIP implementation stacks built this way? No. Unlike Trillium's, many stacks are organized as a set of libraries that require the call-control application to interact frequently with the APIs to invoke individual tasks. It's like driving in the rain and operating the wiper switch off-on, off-on by hand.
Trillium's SIP stack goes a step further by generating several SIP headers intrinsically, such as date/time stamps and accounting information. It allows the individual tasks to work without cumbersome intervention.
Database Implementation within the Protocol Layer
TAPA supports a RADIX tree library. Trillium's SIP stack uses the RADIX functionality efficiently to support a database within the protocol layer. This enables the stack to maintain a database of users registered at a "Registrar" server, which facilitates system developers who will no longer need additional database functionality for typical small LAN environments unless there is a high number of simultaneous user registrations. When they do encounter high-end applications that require a large external database, Trillium's internal database can simply be disabled, thereby enabling an upgrade path.
Management of System Resources
TAPA's elaborate, powerful stack layer management capabilities can be leveraged in the SIP implementation. While at the network periphery, SIP "proxies" are usually used by network designers to record and maintain extensive call-state information. Closer to the core, these proxies are normally stateless so that they function almost like switches.
Trillium's SIP software has the robust feature of shifting automatically from a stateful proxy to a stateless one when the system resources start becoming constricted.
Call Distribution
TAPA uses Service Access Points (SAPs), abstraction points for inter-layer communication. Because Trillium builds this capability into the core architecture, it can be used to perform call distribution.
All incoming and outgoing calls in Trillium's SIP implementation are handled in a distributed fashion using SAPs: incoming calls are distributed to the service users in a round-robin basis, while outgoing messages can be distributed across different transport servers, or even across different transport providers. Trillium SIP software's powerful core architectural capability makes it ideal for high-load service provider environments without risking stack performance degradation.
Comprehensiveness
Trillium's SIP stack can simultaneously perform different logical functions such as User Agent, Proxy, Redirect and Registrar, in the same instance of the code.
System developers can develop products quickly by leveraging the comprehensiveness of Trillium's SIP implementation and the minimal interaction it needs for call-control applications.
For example, Trillium's SIP will perform forking and recursing on its own. Barring elaborate end-user requirements, it's easy to compile Trillium's SIP code on a target platform and quickly have it ready to go with an entire Registrar implementation requiring minimal application development.
The Basics
Trillium solutions must meet stringent requirements that live up to the high quality customer expect based on the company's twelve years of leadership in communications software. Among its key strengths, Trillium SIP software features:
- high performance
- compact code size
- high quality
- rich application programming interfaces (APIs)
- powerful error handling and debugging capabilities
- tracing
- reporting of alarms, statistics and accounting
As you can see, there's more to buying software than you might see at first glance. The key to a sound decision is knowing the facts. The best products offer the best combination of features with the best reputation behind them. Always look under the hood!
About Trillium
Trillium Digital Systems, Inc., is an Intel company headquartered in Los Angeles, California. It is a leading provider of communications software solutions for the converged network infrastructure. Trillium's source code solutions are used in more than 500 projects by industry-leading suppliers of wireless, Internet, broadband and telephony products.
Trillium's high-performance, high-availability software and services reduce time, risk and cost of implementing SS7, IP, ATM, Wireless and other standards-based communications protocols. Trillium, an ISO 9001-certified software company, is the Networking Software Division of Intel's Network Processing Group which focuses on the Intel Internet Exchange Architecture. Additional information is available at http://www.trillium.com.