UDP died on the first mile

Morning of match day six: the international partner writes that the picture is breaking up, and pulls the match off air. The match fee is gone. Semifinals start in two hours.

Six days ago I wrote that SRT lost to RTMP on the long international leg: transit toward Moscow degrades UDP, TCP passes clean. The lesson seemed learned — one route, one weak link.

Today it turned out this route has two zones where UDP gets cut. The second one sits on the first mile, in the tournament's host country: backbone operators filter UDP on non-standard ports. The venue signal was falling apart before it ever reached international transit. We already know this filtering signature from the other leg: tens of thousands of lost packets and retransmissions in single digits. A protocol built to repair loss never gets the chance — its control packets die in the same filter.

What we did before noon:

→ venue contribution moved to RTMP: TCP passes where UDP dies → the local provider ran diagnostics, upgraded the route and brought dark fiber straight to the equipment → a permanent ingest node went up in Amsterdam: SRT terminates near Europe's transit exit, then the signal rides TCP into Moscow. Container creation to verified end-to-end run — 25 minutes, because every rake from previous deployments had been written down

The relay from the last post was temporary and never went live. The new node is not a standby — it's a permanent entry point: verified with a real run, documented, keys in the vault.

The honest part. In that last post I wrote the rule myself: you don't switch transport during an event, you decide before the first whistle. Today we switched during the event — because there was nothing to decide from. We had no map of which transport passes where. Memory of past events is not a map.

Now the map is coming: a registry of observations by country and city — where UDP gets cut, where the last mile is thin, which protocol and which entry point actually worked. Before an event you open the country's record and pick transport from data, not from hope.

→ one route can carry several independent filtering zones — fixing one tells you nothing about the rest → the UDP-filtering signature in your stats: thousands of losses, single-digit retransmissions. Losses like that don't happen, they are made → a venue's network conditions are as much a part of event prep as cameras and light

Related reading