Odin TeleSystems, OTX, RTP Bridge, RTP Streamer, Alvis-CSI, Alvis-PBX, Alvis-PCIe, Alvis-ASM, the Odin
Logo, are trademarks of Odin TeleSystems Inc., which may be registered in some jurisdictions. Other trademarks
are the property of their respective companies.
Changes
The material in this document is for information only and is subject to change without notice. While reasonable
efforts have been made in the preparation of this document to assure its accuracy, Odin TeleSystems Inc., assumes
no liability resulting from errors or omissions in this document, or from the use of the information contained herein.
Odin TeleSystems Inc. reserves the right to make changes in the product design without reservation and notification
to its users.
Warranties
THE PRODUCT AND ITS DOCUMENTATION ARE PROVIDED “AS IS” AND WITHOUT WARRANTY OF
ANY KIND. ODIN TELESYSTEMS EXPRESSLY DISCLAIMS ALL THE WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR PARTICULAR PURPOSE. ODIN TELESYSTEMS DOES NOT WARRANT THAT THE
FUNCTIONALITY OF THE PRODUCT WILL MEET ANY REQUIREMENTS, OR THAT THE OPERATIONS
OF THE PRODUCT WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS WILL BE
CORRECTED. FURTHERMORE, ODIN TELESYSTEMS DOES NOT WARRANT OR MAKE ANY
REPRESENTATIONS REGARDING THE USE OF THE PRODUCT OR ITS DOCUMENTATION IN TERMS
OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. NO ORAL OR WRITTEN
INFORMATION OR ADVISE GIVEN BY ODIN TELESYSTEMS OR ODIN TELESYSTEMS’ AUTHORIZED
REPRESENTATIVE SHALL CREATE A WARRANTY. SOME JURISDICTIONS DO NOT ALLOW THE
EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY.
UNDER NO CIRCUMSTANCE SHALL ODIN TELESYSTEMS INC., ITS OFFICERS, EMPLOYEES, OR
AGENTS BE LIABLE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES (INCLUDING
DAMAGES FOR LOSS OF BUSINESS, PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THE PRODUCT AND ITS DOCUMENTATION, EVEN IF ODIN TELESYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. IN NO EVENT WILL ODIN TELESYSTEMS’ LIABILITY FOR ANY REASON EXCEED THE
ACTUAL PRICE PAID FOR THE PRODUCT AND ITS DOCUMENTATION. SOME JURISDICTIONS DO
NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL AND CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY.
The RTP Bridge is a universal streaming media gateway application running on the top of
TDM (E1/T1) and RTP media streams designed for the industry's award-winning Odin
Telecom frameworX (OTX) hardware. This document provides detailed information
about the RTP Bridge product.
1.1 Description
The RTP Bridge solution provides data transfer between various E1/T1 timeslots and
RTP end-points in simplex or duplex directions. Voice data could be additionally
transcoded between each of G.711 (a-law, u-law) / G.711.1 / G.711.2 E1/T1 timeslots
and RTP end-points (G.711, G.723, G.726, G.729, GSM-FR, G.722 / G.722.1 / G.722.2
(AMR-WB)) in any order. (See Figure 1)
It is also possible to use the
case the RTP Bridge connects data from one IP-Address:Port to another IP-Address:Port,
with transcoding options.
RTP Bridge product without E1/T1 TDM streams. In that
Figure 1 The universal streaming media gateway on the OTX Hardware
The RTP Bridge is targeted to use DaVinci™-enabled products of Odin TeleSystems like
Alvis-CSI, Alvis-PBX, Alvis-PCIe, Alvis-ASM. It runs on the embedded TI DM64XX
SoC processors.
The RTP Bridge uses the OtxRtp Library on the DM6443 SoC ARM core. Also there are
Win32/64 and Linux versions of the OtxRtp Library available.
The RTP Bridge application could be remotely controlled in real-time by the Telnet
interface; it is possible to make connect / disconnect, status monitoring, etc. Connections
could be also taken from the configuration file at startup.
Multi-party conferences support. (According to RFC 3550/3551 each RTP
session (listened port) could be connected to some other remote systems. I.e. we
could stream one E1/T1 timeslot to different remote locations at the same time.)
N64 Streaming support (The RTP Bridge allows to send E1 super channels over
UDP to PC, and backwards, to receive UDP packets with E1 data and to send
them to E1 as super channels).
Integrated SNMP monitoring
LED Alarms indication.
Possibility to send OTX Events over UDP.
DSP C64+ powered built-in configurable jitter buffer of incoming RTP packets.
TDM Passive monitoring provides the ability to stream E1/T1 spans to the RTP
end-points in a non-intrusive mode.
Optimized data processing using multi-core DaVinci™ architecture with
offloading of all real-time operations on the powerful C64+ DSP core.
Compatible with the OTX DaVinci driver.
Compatible with the OTX XDM SDK API.
Multi-session mode; the user can create any numbers of listening ports on one
system.
Real-time statistics for RTP sessions is available.
Customizable RTP streams parameters: packetizing time, packet size, adjustable
codec parameters, etc.)
Optimized RTP monitoring mode allows to listen RTP streams coming with
different IP-addresses and ports.
Supports IETF RFC 3550, RFC 3551 RTP/RTCP Transport protocols.
A variety of optional decoding / encoding Plugins are available (ATM/AAL5,
HDLC/SS7, TRAU, H.324M).
1
using the OtxSNMP Library (SNMP Layer1) and
1
For more detailed information on SNMP monitoring settings please refer to Alvis-CSI Technical
The T1/E1 channels configuration before running the RTP Bridge is optional. It is set in
“OtxHwLayer.conf” file in a case of RTP Bridge uses T1/E1 streams.
The structure of the OtxHwLayer configuration file should be composed from the
parameters provided by line. Each parameter is initialized with the name and the value
represented on a single line through any number of spaces.
Example: T1E1LiMode E1
The configuration file can also contain comments. The comment line begins with ‘#’
character and ends with the end of line. If you need to allocate a few lines for comment,
you should put a ‘#’ character at the beginning of each line.
Example: # Line termination mode
Most of the parameters are set by default; all you need is to define a number of key
parameters: the type of board (BoardType), the index of board (BoardNo), etc.
Please see the full list of configuration file parameters in Table 1.
It is recommended to install the RTP Bridge on Alvis-4-CSI board with firmware
package version 2.11.12 or later. For more information of firmware upgrade, please refer
to Alvis-CSI Firmware Upgrade HOW TO
1.1).
To install the OTX RTP Bridge from rpm repository please follow these steps:
1. Update the rpm repository packets list:
apt-get update
2. Install RTP Bridge package with a command:
apt-get install rtpbridge
(Odin document #1712-1-HCA-1020-1.0-
3. Reboot the board (Alvis-CSI):
sync & reboot
The RTP Bridge will automatically start at system start-up (daemon mode). You can
connect it via Telnet. If you want to start with CLI, then issue the commands:
service rtpbridge stop
/opt/rtpbridge/rtpbridge
If you will get a “No license found” message please follow the instructions in Chapter 9 The RTP Bridge License.
This command establish a simplex cross-connect between an incoming and outgoing
stream. To do a duplex connection, one more connection needs to be done separately.
The abbreviations are: src is source, dst - destination, li - span, ts – timeslot, codec codec name, ip – IP-address, r_port – remote port number, l_port – local port number.
For span and timeslot parameters several formats are supported; you can skip li, ts
abbreviations and specify only span and timeslot numbers.
E.g.: li0:ts5 or 0:5.
Below there are several examples of the CONNECT command with some description:
src_li, dst_li: source/destination E1/T1 span
src_ip, dst_ip: source/destination IP-address
src_remote_port, dst_remote_port: source/destination
src_local_port, dst_local_port: source/destination local port number
format - defines which timeslots to send/receive; can take following values:
number from 1 to 32 (32 connects 0-31 timeslots, 31 connects 1-31 timeslots, 30
connects 2-31 timeslots, etc)
string ‘raw’ (connects 0-31 timeslots)
mask [ts1,ts2,ts3,…] (defines the list of timeslots to connect)
num_of_conn: number of connections
src_ip, dst_ip: source/destination IP-address
src_remote_port, dst_remote_port: source/destination remote port number
src_local_port, dst_local_port: source/destination local port number
shift: port’s shift
src_codec: source/destination voice codec used for the specified stream end, e.g. alaw (or
g711a), ulaw (or g711u), g723, g726, g729.
Note:
You can use this command only in the case of RTP Bridge commands run from a
configuration file (Refer to Chapter 5.1).
If src_codec and dst_codec para
meters are not specified, they take the default value.
Currently the default codec is alaw.
For the incoming RTP data src_codec can be overridden by the payload type of RTP
Note: This command can be run only from console. This command is deprecated. It is
applicable in non Core-2-Core mode of RTP Bridge only.
To display channel statistics (is channel incoming or outgoing, TDM or RTP, payload
type, Jitter statistics for RTP connections) use the command (See Figure 6):
CONS
TAT <connection_number>
To set the jitter blocks parameters (size and delay) use the following command:
5.1 Running RTP Bridge Commands from a Configuration File
To run the RTP Bridge commands from a configuration file please input appropriate
commands in a ‘cfg’ file and place it in a /root directory. The commands will run at RTP
Bridge start-up.
Also to read the commands from the configuration file you can type in Telnet:
READCONFIG <file_name>
5.2 Running RTP Bridge Commands from a Command Line
The RTP Bridge commands can be run from a command line (CLI). Type the appropriate
commands after running of RTP Bridge.
5.3 Running RTP Bridge Commands via Telnet Interface
If the RTP Bridge is already running, you can use the Telnet Interface for dynamic
configuration (real-time control commands). The default port is 10000.
You can restrict access to RTP Bridge via the Telnet interface using White List feature.
For this please create ‘allow.conf’ file in /opt/rtpbridge directory at Alvis board. Specify
the list of allowed IP addresses there. If this file is empty, no one address is allowed. If
‘allow.conf’ does not exist, any IP address has permission to connect to the RTP Bridge.
Note that it is possible any combination between these codecs as in RTP channels so in
TDM channels.
The transcoding operations are offloaded to powerful C64+ DSP core (4700 MIPS) of the
TI DM64XX SoC processors without increasing the load of ARM core. So the total
number of transcoding channels can be determined by resource-intensiveness of encoding
/ decoding algorithms in accordance with the selected pair of codecs. Below are the
benchmark results to judge the availability and number of channels and CPU. (See Table
2, Table 3)
Table 3 Overall testing results with account of incoming and outgoing RTP connections and jitter6
The Alvis powered by the RTP Bridge can successfully offload x86 servers increasing
the compactness of solution. This makes possible to create low power-consumption
devices as a breeze. (See Table 4)
Codec
name
Number of
encoding
channels
G.723 63318
G.726 3239
G.729 63188
Table 4 Number of encoding / decoding channels
Number of
decoding
channels
5
The number of voice channels that can handle the codec.
6
The testing was performed with 20ms RTP packets stream.
The RTP Bridge supports a multi-conference mode. It is possible to create any number of
conference participants. The number of conferences is unlimited and mixing operations
are offloaded on the DSP C64x+ core simultaneously with transcoding and RTP
packetizing.
Conference connections are created by several usual connects (conference input and
output). The syntax of the commands is similar to common RTP Bridge commands
syntax with adding the conference identifier. Please see the commands of conference
connection below.
For RTP: Port number (local/remote), for TDM: Timeslot
opt:
Usually src_codec, dst_codec are voice codec used for the specified stream end, e.g.
alaw (or g711a), ulaw (or g711u), g729, g723, g726, etc.
conf_id:
Conference identifier (any string to identify the conference)
The abbreviations are: src is source, dst - destination, li - span, ts – timeslot, codec codec name, ip – IP-address, r_port – remote port number, l_port – local port number.
Note:
If src_codec and dst_codec parameters are not specified, they take the default value.
Currently the default codec is alaw.
For the incoming RTP data src_codec can be overridden by the payload type of RTP
packet.
Various conference connection schemes are available. Please see some examples below.
where 10.0.1.100 is the IP-address of the Alvis Board #2.
13. Run the RTP Streamer with the command:
/opt/rtpstreamer/OtxRtpStreamer /TD /ME /P128
The arguments can be one of the following:
/T[D|K|X|Q|A] - Board Type used for the demo, where
D – use Alvis-4-CSI board,
K – use Alvis-4M-CSI board,
X – use Alvis-8-CSI board,
Q – use Alvis-8M-CSI board,
A – use Alvis-DMP (hosted on ASM or PCIe).
/ME – use E1 Li mode,
/MT – use T1 Li mode.
/P<bytes> – set RTP packets payload size (in bytes).
14. Run the T1/E1 Analyzer. Play the file alaw.bin with T1/E1 Analyzer on TS1.
So:
a. The RTP Streamer should get TDM data from Li0:TS1 and send RTP packets
with G.711 (a-law) payload to the RTP Bridge.
b. The RTP Bridge should decode this G.711 (a-law) encoded data and return it in
RTP packets with G.711 (u-law) payload to the RTP Streamer.
c. The RTP Streamer should put u-law data to Li0:TS1 that you can listen with the
To successfully run the OTX RTP Bridge you should have a license (.lic file) in the
“/opt/rtpbridge” directory of installed software. Please perform these steps:
1. Get a board serial number. To do this, run the RTP Bridge with a key:
rtpbridge --getsn
The “sn.txt” file in the “/tmp” folder will be generated.
2. Send by the email the "sn.txt” file to Odin's Distributor to acquire the license. A
list of Distributors is available on http://odints.com/pages/dist/distfs.htm
3. After valid license receiving, put the “RtpBridge.lic” file in “/opt/rtpbridge”
directory on the Alvis-CSI and run the RTP Bridge. See Chapter 3 The RTP
Bridge Installation and Ru
Legend:
[+] New features
[–] Removed functionality
[*] Bugs fixed
[. ] Other things
15/11/2010 V.1.9.1 Internal Beta release
[+] Added initial support for N64 Streaming (31 timeslots, no headers).
[. ] Changed DSP implementation of GSM-FR codec (was trial).
19/10/2010 V.1.9.0
[-] SNMP monitoring support disabled for this release.
[. ] libOtxHw.so is used instead of static library.
[+] Added partial support of GSM-FR codec.
[*] Fixed false error signaling that was possible for simple connections
when payload change event occurs without actual change of payload.
[*] Fixed alignment issues in ARM<->DSP data exchange.
[+] DSP firmware is embedded into application.
[+] Added RTP aggregation support. -u (--udpagg) command line argument turns
UDP-based aggregation on. -e (--ethagg) command line argument turns
Eth-based aggregation on. Aggregation must be supported by libOtxRtp.so
to work properly.
[+] Added -t (--testrtp) command line argument that turns on check for RTP
sequences (for debug purposes).
[+] Added dummy connection point ("null[:codec]").
[+] Added partial support of Alvis-ASM. Host(x86)-based application is
necessary for TDM to work properly.
[. ] Improved ARM<->DSP interconnection.
[. ] Unified command handling for console, telnet interfaces and config file (/root/cfg).
[*] Fixed "mconnect" command handling in console interface.
[. ] Max amount of RTP connections increased to 512.
[+] Added support of Alvis-2-CSI.
09/08/2010 V.1.8.0 Internal beta release
[+] Added support of SNMP monitoring.
[+] Added -s <num> (--packetsize <num>) command line argument and
"packet size <num>" command that controls the packetization (set in ms).
[*] Fixed false error signaling for the conferences that have no outputs
(all outputs have been disconnected or have not been connected yet).
[*] Fixed attenuation of signal in TDM-to-TDM connections.
[. ] Changed default pid file name to /var/run/rtpbridge.pid
(was /var/run/rtpstreamer.pid).
24/06/2010 V.1.7.0 Internal release
[*] Fixed several alignment traps.
[. ] Used OTX XdmLink Layer API v.1.7.0.
[+] Added command "constat <num>" that prints information about connection.
[+] Added command "jitter blocks:<max>:<min>" that sets jitter time and jitter delay in 10ms blocks.
11/06/2010 V.1.6.1 Internal release
[. ] Used OTX XdmLink Layer API v.1.6.0
[. ] Some internal changes.
04/06/2010 V.1.6.0 Internal release
[+] Added handling of "Disconnect by timeout" event from OTX RTP Library.
[+] Added command "traces on|off" that turns DSP traces on/off.
[+] Added -b (--burst) command line argument parameters that disables DSP Core-to-Core optimization
and uses traditional burst events instead.
[. ] Improved quality of conference mode.
27/05/2010 V.1.5.1 Internal release
[.] Increased amount of DSP logical devices that could be created in runtime.
24/05/2010 V.1.5.0 Internal release
[+] RTP-to-TDM functionality is added.
[+] TDM-to-RTP functionality is added.
[+] TDM-to-TDM functionality is added.
20/04/2010 V.1.4.1 Internal release
[+] Buffers handling in asynchronous transcoding are enhanced.
[. ] DSP jitter is enhanced.
[*] Timestamps are fixed.
[*] Source clock frequency for some RTP payload types is fixed.
06/04/2010 V.1.4.0 Internal release
[+] Multi-party conferences support is added.
18/03/2010 V.1.3.1 Internal release
[+] New Telnet interface is added.
[+] Some internal changes and stability fixes.
05/03/2010 V.1.3.0 Internal release
[+] DSP jitter functionality is added.
[+] Many internal improvements are added.
16/02/2010 V.1.2.1 Internal release
[+] Buffering in asynchronous transcoding is changed.
[+] Performance gains and several stability fixes.
Added new Board Types in Chapter 2 T1/E1 Channels Configuration.
Added new commands (BENCH, TRACES, EVENTS, CONSOLE, CORE) in
Chapter 5 The RTP Bridge Commands. Updated some commands.
Updated Chapter 8 Testing Verification Procedure.
Added V.1.9.1 in Chapter 11 Product Version History.
Rev. 1.8 December, 6, 2010
Added new features - GSM-FR codec and N64 Streaming support - in Chapter
1.2 Features.
Updated Chapter 3 The RTP Bridge Installation and Running.
Added connect command format - N64 Streaming.
Added benchmark table “TI C64+ DSP Core Load Tests in various
Encoding/Decoding Scenarios”.
Added V.1.8.0, V.1.9.0 description in Chapter 11 Product Versions History.
Rev. 1.7 July, 22, 2010
Added Chapter 4 Command Line Arguments.
Added a note on SNMP monitoring feature.
Added a ‘SHOW LICENSE’ and ‘PACKET SIZE’ commands.
Product Versions History was moved down to the Chapter 10.
Rev. 1.6 July, 1, 2010
Updated Product Revisions History (changed history order, added V.1.6.1 and
V.1.7.0 descriptions).
Updated Figure 1.
Updated list of features in Chapter 1.2.
Updated Chapter 2 (edited Table 1 and example of configuration file).
Added Chapter 3 The RTP Bridge Installation and Running..
Updated Chapter 4 The RTP Bridge Commands (added Commands Quick
Reference, added JITTER BLOCKS command).
Added Chapter 8 The RTP Bridge Commands.
Rev. 1.5 June, 23, 2010
Added command line screenshots.
Added an example of how to see board serial number in the case of RTP
Streamer.
Rev. 1.4 June, 18, 2010
Added ‘constat’ command description in Chapter 3 The RTP Bridge Commands.
Added a note about license generating in Chapter 6 Testing Procedure.
Added documents links in Chapter 7 References.
Rev. 1.3 June, 9, 2010
Added RTP Bridge versions 1.5.0, 1.5.1, 1.6.0 in Product Versions History.