FEC tunneling for very lossy links

The open-source project aims to be a UDP proxy which adds FEC (forward error correction) and interleaving to arbitrary UDP protocols.
This can be used for OCTOI as well, but more testing has to be done with real-life internet connections.

Usage for OCTOI

As UDPspeeder is a proxy service, you'll need to run a server instance on a machine with very stable and loss-free internet connection (like a server in a datacenter).
Ideally, you'll get close to the nearest OCTOI TDM hub (currently Berlin, Germany).

Install UDPspeeder on both machines:

git clone "" 
cd UDPspeeder
make -j 16

On the server run:

./speederv2 -s -l0.0.0.0:4096 -r -f4:1 --timeout 8 -i 10 is the OCTOI TDM hub in this example. You will need to change this to the parameters provided to you.
This will listen on the UDP port 4096 on your server.

On the client run:

./speederv2 -c -l0.0.0.0:4096 -r -f4:1 --timeout 8 -i 10 needs to be replaced with your server running UDPspeeder.

Then configure your osmo-e1d instance to connect to localhost:

octoi-client 4096

The parameters can then be tweaked to better accommodate your internet connection:

-f4:1 - send 4 redundant packets for every packet
--timeout 8 - wait up to 8ms for the packets
-i 10 - interleave 10ms of packets (order randomly on the wire), this is to help with bursty losses.

If you play around with the parameters, ensure to change both sides at the same time, otherwise very strange things will happen.

Updated by manawyrm over 1 year ago · 1 revisions

Add picture from clipboard (Maximum size: 48.8 MB)