Alkit Reflex

Alkit Reflex is an RTP/SIP based audio/video reflector and mixer for multipoint teleconferencing in IP networks. All types of RTP traffic can be reflected. Audio mixing and transcoding is supported for G.711 (PCMU and PCMA), GSM, DVI and Linear PCM (8 bit or 16 bit) audio. Video can be rate-controlled for each participant by adapting the frame rate to a specified bandwidth limit.

The reflector can be used as a packet distribution server for multipoint conferences in networks that lack IP multicast support. It can also be used as a bridge (or gateway) between multicast routing domains and non-multicast capable network domains. A SIP based client application is needed to set up RTP sessions on the reflector. Each participating host signals its preferred RTP media for a particular session. The session setup signaling is performed using the Session Initiation Protocol (SIP). When using Alkit Confero as the RTP media transmitter/receiver, the SIP signaling is built into the confero application, and enabled when the conference is set up through a reflector (indicated whith a checkbox). If some other RTP client is used, a standalone session initiation application called 'refsipclient' can be used (see below), if the client program doesn't support SIP.

An RTP session is identified by a UDP port number and a textual name (such as "session1"). By using a textual name in addition to the port number to identify a session, multiple conference sessions using the same UDP port number can be active on the reflector simultaneously. To set up a conference session the participants signal their intention to participate to the reflector, indicating the UDP port number to be used, and identifying the particular conference session to join by a textual name. The RTP media types to be used are also signaled. Note that different UDP ports are to be used for audio and video RTP sessions. The port numbers that can be used for audio and video respectively, are configured in the configuration file (reflex.conf). RTP data MUST use even port numbers (as specified in RFC1889). Odd port numbers will be used for RTCP data, providing session management and control, and quality feedback.

The reflector/mixer is available for download together with a client application to signal membership for a session. The reflector/mixer executable is called 'reflex' and the client signalling application is called 'refsipclient'.

There is a plugin framework available, for adding new functionality to the reflector, such as media processing.

The reflex RTP reflector/mixer was developed by Alkit Communications as a part of the 'Alkit Confero' conferencing and collaboration software suite. To obtain a license (30-day trial, or commercial) contact support@alkit.se

For more information about Reflex, take a look at this whitepaper, or contact Alkit Communications.

(C) Copyright 2004-2014 Alkit Communications


Download (binaries)


Documentation

The Alkit Reflex Manual is avalable for download in PDF format.

Usage, reflex

usage: reflex [-h] [-v] [-d debug_level] [-p port] [-c config_file] [-l logfile] [-notimeouts] [-rtcp_timeout seconds] [-no_nat_override]
where
-c file : use 'file' as configuration file (default reflex.conf)
-d debug_level : set verbosity level 0 - 3
-h : prints this help text
-l logfile : direct all output messages to the specified logfile
-p port : set administration port number to 'port' (default 5160)
-v : print version number
-notimeouts : disables inactivity timeouts
-rtcp_timeout sec : sets inactivity timeout to 'sec' seconds
-no_nat_override : disables NAT override feature (used when clients connect through NAT firewalls).

Usage, refsipclient

usage: refsipclient [-r] [-d] [-h] -host hostname -port port -prot protocol -server servername [-sip_port port] -name groupname [-bw bandwidth] [-attr attribute] -rtptypes type1 [type2] ... [type10]
where
-h : prints this help text
-d : disconnect a client from a session (stop reflecting RTP packets to me)
-r : add a member to a conference session identified by the '-port', '-prot' and 'name' parameters.
-host hostname : The IP address or hostname of the client to join/leave the session. Note that this can also be a multicast address, to set up the reflector as a multicast gateway. It can also be the hostname/address of another reflector, in case multiple reflectors are being used.
-port portnum : The port number of the session to be used for RTP data
-prot protocol_number : The transport protocol to be reflected. Only 17 (UDP) is a valid protocol number (and is the default value).
-server server_name : The hostname or IP address of the machine running 'reflex'.
-sip_port port : The SIP port number used by reflex (defaults to 5060)
-name groupname : The textual name of the session group to join
-bw bandwidth : Bandwidth limit for the RTP data. Reflex will transcode the media to meet the desired bandwidth.
-attr attribute : attribute to include in the SDP payload ("a=..."). Can be "recvonly", "sendonly", specifying that the member to be added is only going to send (receive) RTP data, or "notimeout", specifying that the membership of the session shoud never time out.
-rtptypes type1 [type2] ... [type10] : list of RTP payload types that are to be sent/received by this client

Configuration

Configuration file options
Sample config file
Reflector interconnection


Last updated 141209 by mathias.