If at least one party is behind NAT, it's a dead end. I wouldn't trust anyone who makes a false claim it's possible.
Please Google udp hole punching
In order to do hole punching you need a centralised STUN server.
We need a STUN server to traverse NAT and get IP addresses but it does not use server to store or share the file. Only ice candidates are gathered, discovered and a handshake is facilitated by a STUN server. If that is not possible it shows error.