3
1
I have the following situation: A radio transmission studio is located in a town and the FM transmitter on the top of a hill 2km away with perfect vision.
Currently the studio sends an RTP audio stream to the top of the hill using a pair of 5GHz Ubiquiti NanoBeams, and in the top of the hill the RTP stream is converted to audio and sent to the FM transmitter:
Sometimes the radio connection hangs up, the 5GHz radio gets a DFS (radar signal) and changes its frequency or magic happens and the link is cut.
After moving the radio bandwitdh to 10MHz the link has imporved a lot, but I want to design a duplicated transmission system.
What I want
I want to add a second 2.4GHz radio in parallel with the 5GHz link and send the same data duplicated in the both links, and discard the repeated packets on the other side.
I could do failsafe swithover with OSPF or with ethernet link bonding, or MPLS traffic engineering, but as far as I know (maybe I'm wrong), I will always have a switchover delay.
So what I want is to send the data duplicated from the studio to the top of the hill, like this:
This way, if thee are lost packets on one of the links, shut it down completely or have a DFS trigger on the 5GHz link, but all the packets would arrive to the destination.
It would be awesome if I could do this with MikroTik routers, but it would be also okay if I could implements it on OpenWRT or any other embedded Linux/Unix system.
I've been looking for a solution to an analogous problem for a long time with little by way of answers (see https://superuser.com/questions/1271989/linux-can-i-duplicate-send-then-and-deduplicate-udp-packets). In your case though, I wonder if its possible to use something like OSPF and have a large streaming buffer. This would mean people receive the actual broadcast slightly later which might or might no matter depending on how time sensitive the broadcast is.
– davidgo – 2019-11-25T21:07:33.567I've not tried it, but it occurs to me that it might be be able to channel bond the 2 connections and then use something like the UDPspeeder tool (never used it) to create enough redundancy that some pass through each link you might get a good part of the way there. – davidgo – 2019-11-25T21:12:05.920