Italiano English
Modifica History Actions

ObampDocsEnglish

OBAMP

Overlay Borůvka Based Ad-hoc Multicast Protocol

Project home page: http://netgroup.uniroma2.it/Andrea_Detti/obamp/

The source code of OBAMP cross-layer version for OLSR (named OBAMPxP) is on our SVN server https://svn.ninux.org/svn/ninuxdeveloping/

You can use the nice Trac interface https://svn.ninux.org/ninuxdeveloping/browser/OBAMPxP/trunk

Download Binary Distribution

Here is a zip file with the binary distribution: OBAMPxP.zip Please read the README file inside the archive! :)

Or you can grab it directly from the SVN

Download the folder with the OBAMPxP.jar file, and just use it! Please read the README file! :)

svn co http://svn.ninux.org/svn/ninuxdeveloping/OBAMPxP/trunk/dist OBAMPxP

Compile the sources with Apache Ant

Checkout the code

svn co http://svn.ninux.org/svn/ninuxdeveloping/OBAMPxP/trunk

Download the last version of Ant at the following URL: http://ant.apache.org/bindownload.cgi Untar the file somewhere in your file system. Export the ANT_HOME variable and update your PATH variable. We assume you have already installed a JDK and correctly exported the JAVA_HOME variable

For example, if ant_home is the directory where you untarred Apache Ant and java_home is the directory where is your Java JDK:

1) On a Linux Box:

export ANT_HOME=/usr/local/ant_home
export JAVA_HOME=/usr/local/jdk_home
export PATH=${PATH}:${ANT_HOME}/bin:${JAVA_HOME}/bin

2) On a Windows PC:

set ANT_HOME=C:\ant_home
set JAVA_HOME=C:\jdk_home
set PATH=%PATH%;%ANT_HOME%\bin;%JAVA_HOME%\bin

At this point go with your shell into the trunk directory of the source code  OBAMPxP\trunk  and execute

ant dist

to compile automatically all the sources

When the compiling process is finished you will find a bin directory with all the compiled classes and a dist directory with the binary distribution OBAMPxP.jar and the needed configuration files.

Compile on Gentoo Quick Guide

As root emerge the Apache Ant ebuild

emerge dev-java/ant

Now with your normal user you can compile and execute!

cd
svn co http://svn.ninux.org/svn/ninuxdeveloping/OBAMPxP/trunk/ obamp
cd obamp
ant dist
cd dist
chmod 755 obamp.sh
./obamp.sh

Gentoo specific guidelines are over... follow the rest of the documentation!

Using OBAMPxP proxy

Before starting the proxy, you must edit the following files:

obamp.cfg
obamp_nodes.txt

In the first file insert the IP address of your machine, and the operating system you are using. Currently only ipv4 is supported Currently only Windows and Linux are supported. Mac OS X and BSD support is coming soon.

<local_address> 
<Operative_System>

In the second file we have to write the list of the IP addresses that are running OBAMP on the network This file must be exactly the same on every PC partecipating to the multicast session, so it could be a good idea to place it on a web server on a RSS feed stuff.

I know this sounds stupid, but a patch is on the way to avoid this step.

Once parameters are set correcty you can execute the OBAMPxP.jar . Click on it with the mouse or open a shell and type

java -jar OBAMPxP.jar

on Unix/Linux. Are just use the shellscript wrapper:

chmod 755 obamp.sh
./obamp.sh

On Windows double click the OBAMPxP.jar or run:

java -jar OBAMPxP.jar

or just start the script wrapper by executing:

obamp.bat

To start the OBAMP session click on the Join button on the GUI.

Sending and receiving multicast data

Local ports for sending and receiving on the multicast overlay tree are

sending 9000

receiving 9002

For example if you want to trasmit data with VLC to the multicast group you have to set VLC so that it trasmits to current IP address on port 9000

To receive data we have to set VLC to listen on current IP address on port 9002

Of course ALL ports mentioned are UDP

OBAMPxP and log4j

The current svn version of OBAMPxP uses log4j for logging. log4j init is done the following way:

  1. read log4j settings from $PWD/log4j.properties
  2. if the above fails, then read log4j setting from inside the OBAMPxP.jar
  3. if the above fails, then init log4j using calling BasicConfigurator.configure()

The code to do this, is in Log4Init.java and is called by CollabTool.main(String[]) .

Quick Howto for Eclipse Users

Just a few notes on using Eclipse IDE to edit the OBAMPxP source code:

  • use the subclipse svn plugin to check out the source code from the SVN:

  • Tell eclipse to use java 1.5 for code and source
  • Close eclipse
  • In your project directory do the following:
    • Copy eclipse.classpath to .classpath
    • Create a directory called eclipse-bin (to prevent eclipse from messing around with the ant build)
  • Start eclipse
  • Delete any output folders created by eclipse
  • You can use ant / build.xml to build the project
  • If you just want to run OBAMPxP from inside eclipse, select CollabTool.java (it is in the it.radiolabs.obampxp package) and choose "Run as Java Application"

    • Set to working directory to "dist" or create a seperate directory containing the obamp.cfg etc.
    • If you want to do some debuging you should set "-ea" to enable assertions (currently there are not many assertions, but that's going to change soon...)