Using Media Gateways

Introduction

Media Gateways are software agents which bridge two or more conferencing sessions and process the data streams between the sessions. Examples of such processing include transcoding between two formats, rate limiting, and the application of encryption or decryption.

One of the primary uses of such gateways is accomodating the heterogeneity inherent in Internet conferences by applying transcoding and rate limiting on the "well connected" portion of the network as the following figure shows. Furthermore, a gateway can provide user-level tunnels for bridging multicast capable islands over a non-multicast capable link.

The Media Gateway (MeGa) Architecture is an experimental deployment of an architecture which automatically deploys gateways on behalf of end users across slow speed links. The architecture attemps to make the use of the gateways as transparent and seamless as possible. As such, the architecture incorporates the use of the conventional Mbone tools: vat, sdr, and vic. The gateways themselves run on the AS1 active service platform, which handles launching and destroying gateways.

A modified version of sdr, rsdr, allows vic and vat to be started with the correct MeGa options. These tools can also be started from the command line.

Rsdr (rsdr)

Syntax

rsdr [-usemega] [-unicast forwarder address]

Command Line Arguments

User Interface

In the rsdr 'Prefs' window, you will see a 'MeGa' tab. You should configure the 'Connection Rate' of your connection to the Internet. If you don't know it -- try and guess. At this point, you don't have to worry about the 'Startup rate' entry.

Vic (vic)

This is a modified version of vic that runs a receiver-driven bandwidth allocation protocol for control of the rate-limiting performed by the gateways. In particular, all sources in the session will share 5% of the session bandwidth value, initially given by the 'Startup Rate' entry in rsdr. Clicking on the thumbnails in the vic user interface will direct the deployed gateway to allocate a fraction of 95% of the session bandwidth. This 95% of the session bandwidth is shared equally among all "clicked on" sources. If you dismiss the source window (i.e., revert it back to just thumbnail status) its allocation will revert to a proportion of the 5% of the session bandwith. In this way you can choose which sources you would like to allocate bandwith to in a very simple way.

Syntax (mega specific options)

mash vic [-usemega service instance] [-megactrl contact address] [-sspec session address] [-scuba]

Command Line Arguments

User Interface

Additional controls include a slider in the 'Control Menu' that modifies the session bandwidth. This is desirable if there are other applications sharing the link. At this point there is no coordination on the sharing of the link between multiple instances of megavic so this configuration must be done manually.

The transmission rate in scubavic is also controlled using the 5%/95% rules so you should not attempt to control the transmission rate manually as this is performed automatically.

For each active source you can view the state of the SCUBA votes by clicking on the "info..." button and choose the "Scuba Info" sub-menu. The result will be a menu which details the SCUBA votes for that source.

Caveats

This is EXTREMELY experimental software!!!

As time progresses, more features will be added. Currently, the following limitations come to mind:

  1. Layered video is not supported yet (to be added shortly).
  2. The video gateways support JPEG to H.261 and H.261 to H.261 transcoding, while the audio gateways support PCM/ADPCM to LPC or GSM transcoding. Any other combinations will be forwarded unmodified.

Vat (vat)

Syntax (mega specific options)

mash vat [-usemega service instance] [-megactrl contact address] [-sspec session address] [-scuba]

Command Line Arguments