I'm using a kit called tinyfecvpn, it's based on UDPSpeeder which is a UDP tunnel with forward error correction via reed-solomon encoding.
I would love to see a tunnel type that included FEC. Maybe a check box in EoIP and GRE tunnels for this.
The usefulness of FEC on tunnels is as follows, especially when combined with dynamic routing.
Redundant paths with failover. FEC can handle very slow packets and lost packets to make the failover process incredibly smooth. I've tested this with clients on either side of mikrotik's with a WAN and an LTE path using OSPF and BFD (EoIP tunnels) and tinyfecvpn. Pull the WAN, LTE takes over within a second or so and tinyfecvpn re-assembles the lost-in-transit packets for a zero downtime transition.
This is a feature other products are built around (think peplink).
Another mode is simple WAN smoothing. Maybe you have a lossy link that drops 5% of packets or has latency spikes. tinyfecvpn can be configured for virtually any amount of redundancy up to your latency ceiling. lost packets are re-assembled, but late packets are also reassembled by specifying max jitter. Setting it at 8ms would rebuild any packet that is 8ms behind the last instead of waiting. I've tested this with 100% redundancy and you really can have 50-60% packet loss completely absorbed into the tunnel.
Anyone with hosted VoIP could use this. I'm using GCE for 3CX and FreePBX installs and a raspberry pi with tinyfecvpn on-site linking up to a GCE hosted server. I route the local subnet to the PBX subnet over tinyfecvpn and have rock solid links. No more choppy VoIP from a little packet loss or jitter, it's gone.