
![]()
RTP -The Real-Time Transport Protocol (RTP) is a networking protocol that is used to transport real-time media data streams such as voice and video over packet networks. This protocol is an industry standard that is defined by IETF RFC 3550.
RTP is available in transportable “C” source code format as well as in library object format on all the Texas Instruments TMS320™ DSPs
Adaptive Digital Technologies’ Real Time Protocol (RTP) software provides transport layer functionality for real-time applications communicating over an IP network. This product also contains a built in, configurable, jitter buffer to compensate for network delays, out-of-order packets, and lost packets.
Adaptive Digital’s implementation of the RTP protocol is designed to provide fully re-entrant modules to allow multiple RTP streams to be processed concurrently. User supplied callback and support routines are used to allow the RTP software to be easily adapted to the application environment. Memory allocation for the packets stored within the jitter buffer is dynamic and is accomplished via a call to a user definable memory allocation support routine. To allow flexibility in interfacing with differing network stack mechanisms, the mechanism to send data over the network is accomplished via a user definable callback routine.
The built-in jitter buffer provides a storage mechanism for inbound packets. The RTP module stores incoming packets into the jitter buffer at the time of reception. The jitter buffer uses the RTP header timestamp and sequence number to position out-of-order packets correctly within the jitter buffer. Packets remain stored in the jitter buffer until they are ready for delivery to the receiving application.
RTP, RTCP, RTCP-XR, AND THEIR SECURE COUNTERPARTS
The successful transport of real-time voice and video data necessitates the use of transport protocols that are different from the traditional protocols, such as TCP and UDP, that are typically used for the transport of non-real-time data. There are three primary differences:
Voice and Video need to be “played out” in a continuous fashion in spite of the bursty nature of packet networks.
When a packet is lost, late, or received in error, there is no time to request a retransmission.
Packets that are received out of sequence must be re-sequenced so that they can be played out in the correct order.
RTP is specifically designed to handle the play-out requirements of real-time media streams through the use of time stamps and jitter buffering. Due to the real-time nature of the data streams, where requesting retransmissions is too costly in time, RTP is typically used in conjunction with UDP to provide low-overhead network communications between two end-points.
RFC 3550 identifies two components to the real-time transport: data transport and control. Data transport is handled by RTP while control is handled by Real Time Control Protocol (RTCP). RTCP, which can be used to help scale the network traffic to the available bandwidth, is optional.
An RTP packet identifies the media payload type (format) and its source. It also includes time stamps and sequence numbers that are used by the play-out side to handle lost or out of sequence packets. RTP provides for the use of multiple streams as in the case of a system that transmits both voice and video. The payload in an RTP payload contains the encoded voice or video information. The use of dynamically defined payload types allows RTP packets to carry virtually any type of media format.
RTCP* is used to keep track of packet reception statistics and to provide supplementary information (user and domain name, e-mail address, phone number, etc.) about the source of the media data stream. It also assists with the synchronization of multiple RTP streams. While RTP packets are sent at high rates to handle the real-time media streams, RTCP packets can normally be sent much less often – a typical rate being every few seconds.
RTCP – Extended Report (RTCP-XR) is an extension to RTCP that enables a node to provide voice quality measurements (lost/dropped packet rates, signal levels, etc.) in a VoIP network.This extension is defined in IETF RFC 3611.
A secure transmission feature, as defined in IETF RFC 3711 is also available for these protocols. When security is used, the acronyms are prefaced by an “S”: SRTP, SRTCP, SRTCP-XR. When security is being used, the packet payloads are encrypted.
* Adaptive Digital currently does not support RTCP.
Functions are C-callable.
Multi-channel capable.
Support of RTP version 2 protocol as defined in RFC 3550
Independence from underlying protocol stack.
Minimum count of consecutively increasing sequence numbers prior to playout.
Built in jitter buffer
Secure variants include support for:
Authentication Types: HMAC-SHA and MD5
Key Definition Schemes: PSK, MKI, and FT
Encryption types: CM, F8
Encryption Types: CM, F8
Automatic timestamp synchronization.
Multiple independent RTP streams
Re-entrant routines callable by multiple processing threads
eXpressDSP™ Algorithm Interoperability Standard (xDIAS) Compliant
CPU Utilization
Peak CPU utilization occurs when a new master encryption key is required. Normal voice over IP applications require only a single key for the duration of a conversation; in this case, the peak occurs only at the start of an RTP stream.
C64x & C64x+ MIPS
| Processor | Direction | Frame Rate (ms) | |||||
| Average | Peak | ||||||
| 10 | 20 | 30 | 10 | 20 | 30 | ||
| C64x | Rx | .26 | .14 | .10 | .43 | .22 | .15 |
| C64x | Tx | .2 | .1 | .07 | .2 | .1 | .07 |
| C64x+ | Rx | .18 | .09 | .05 | .54 | .27 | .26 |
| C64x+ | Tx | .11 | .06 | .04 | .21 | .11 | .07 |
Memory Utilization
C64x & C64x+ - All Memory usage is given in units of byte.
| Processor Type | Memory (bytes) | |
| Program | Instance | |
| C64x | 9312 | 168 |
| C64x+ | 8064 | 168 |
RTP - Real-time Transport Protocol
SRTP - Secure Real-time Transport Protocol
AES CM - Advanced Encryption Standard counter mode
AES-f8 - AES in f8-mode, Universal Mobile Telecommunications System (UMTS) 3G mobile networks use AES-f8.
MKI - Master key identifier
HMAC - Hashed message authentication
MD5 - Message Digest 5 is a widely used cryptographic hash function with a 128-bit hash value
For complete information and C6xx specifications, please contact sales. Tel: 1-800-340-2066 x120
SITE LINKS
HOMEPROTOCOL STACKS
AES SIP / STUN RTP SRTP Protocol Stack IndexRELATED LINKS
PRODUCT INDEX BROCHURE.pdf INDEX ECHO CANCELLATION CONFERENCING G.PAK FRAMEWORK EC INDEX TELEPHONY INDEX VOCODER INDEX AUDIO INDEX MODEM INDEX SOLUTIONS INDEX DSP RESOURCE WIZARD