Go Search
Share/Save/Bookmark

Real-time Transport Protocol & Real-time Transport Control Protocol (RTP/RTCP)

Fully compliant with the latest IETF RFCs 3550 and 3551 and backward compatible with RFCs 1889 and 1890, the Aricent Real-time Transport Protocol/Real Time Control Protocol (RTP/RTCP) stack gives application developers the flexibility to add new media profiles to the stack. In addition, the RTP/RTCP stack is designed for high performance and provides application developers an interface for easy integration to other applications.

Available as source-code technology in ANSI C, Aricent’s RTP/RTCP stack can be used to build applications such as 3G user terminals/handsets, IP phones, gateways, midcom media proxies and ALGs, mixers, IVRs, and conference bridges. The RTP/RTCP stack comes with a set of test stubs and reference applications that help developers reduce time to market.

Aricent’s Companion Lifecycle Services

The majority of Aricent’s products are delivered with tailored combinations of our Lifecycle Services, including Global Innovation and Design, Product Development, Testing and Certification, Network Engineering, Maintenance and Support, and Business Operations and Systems Integration. Aricent’s engineers and consultants have successfully completed thousands of services engagements globally using flexible delivery models ranging from on-site to off-shore. Aricent’s services offer deep communications domain expertise, cost and time efficiencies, quick ramp up and contemporary commercial engagement models including end-to-end commitments.

 

Architecture

Aricent RTP/RTCP stack has a modular architecture for easy interface with other applications. This unique offering from Aricent is highly scalable with a rich set of APIs for dynamic configuration and runtime monitoring of transmission, enabling a wide variety of applications to be built upon the stack. The architecture of the Aricent RTP/RTCP product can be customized to run as a separate process with the application, or it can be coupled with an application as a function-based interface, thus enabling easy integration of the product in both distributed and monolithic system environments.

A separate client library module has been created for easy integration of the stack with the application if a message-based approach is used. Any number of other profiles can easily be plugged in with the Aricent RTP/RTCP stack without any changes in the original status. Aricent also offers a set of test stubs with the stack, which enable the user to test all its functional aspects. These stubs also guide developers in creating value-added applications over the stack. Aricent also provides several reference implementations along with the test stubs that can be re-used by the end application, reducing time-to-market.

The RTP/RTCP stack from Aricent is agnostic to and can be used with any third party voice and video codec, whether standard or proprietary. The stack conforms to the Aricent Protocol Stack Development Framework, which makes it product feature-intensive. In addition, the RTP/RTCP stack adds flexibility, allowing the application to associate custom information to further enhance stack capabilities.

Features

  • Built-in generation and sending of RTCP packets
  • Validation of RTP packets for packet loss with allowed sequence number per session
  • Simultaneous support for multiple payload types along with audio
  • Runtime changing of payload type
  • SSRC generation algorithm
  • Support for IPv4 and IPv6
  • Support for sending RTCP APP messages
  • Support for SSRC Collision Detection
  • Support for SSRC Loop Detection
  • Support for G.711, G723.1, G728, and G729a audio profiles
  • Support for H.261 and H.263 video profiles
  • Extensible encryption interface supporting DES and 3DES
  • Support for custom audio and video profiles
  • Built-in jitter calculation algorithm
  • Built-in generation of timestamps
  • Support for RTP Mixers and Translators
  • Support for CSRC, listing all the contributing sources in a mixed RTP stream
  • Support for blocking all RTP/RTCP packets from a particular member in a conference

Architecture Features

  • Modular architecture with easily replaceable modules
  • Supports both monolithic as well as distributed system architectures
  • Highly scalable from small enterprise to carrier-grade applications
  • Portable on any platform with well-defined porting layer
  • Well-defined operating system interface layer
  • Rich set of APIs catering to a vast variety of applications
  • Support for sending media to only selected participants in a conference
  • Support for sending different SDES items at different frequencies to save bandwidth
  • Support for multithread applications
  • Support for user-defined data with each logical block for reverse mappings with application
  • Error-Level based reporting
  • Easy debugging with trace levels
  • Statistics for monitoring performance
  • Configuration APIs for dynamic operation
  • Well-defined interface for integration of new profiles
  • Architecture customizable to function-based or message based approach
  • Well-defined stack buffer management to enable applications control stack buffers

APIs

  • The Event Handler API: Provides an interface to handle events from application and peers
  • Notification APIs: Notifies the application from the stack on receipt of RTP and RTCP packets
  • Indication APIs: Indicate member creation/deletion and detect SSRC collision
  • Management APIs
  • Session APIs: Create/Delete a session and start/stop RTP/RTCP for a session
  • Protocol Parameters Control APIs: Configure the MTU limit of packets, payload, sampling rate, frame interval, RTCP bandwidth, and user/ member information, to specify SDES fields
  • Member APIs: Block/unblock members from receiving RTP/RTCP
  • Profile APIs: Create and register new customized profile with the stack
  • Statistics Control APIs: Set/get statistics
  • Debug Control APIs: Set/get Trace level
  • Error Report Control: Set/get Error level indication from the stack

OS Ports available:

  • Solaris
  • Windows NT/98
  • Linux
  • VxWorks

Porting on any other operating system can be made available on request. Alternatively, the application developer can port the stack to any other operating system, using the well-defined operating system interface layer.

Deliverables

  • RTP stack source code
  • User manual
  • Test stubs
  • Feature and performance test stubs along with the stack
  • Well-defined user manual and API documents
  • All API usage demonstration with sample applications including sample application for load