Почему UDP Hole Punching не всегда обходит NAT?
Во первых NAT бывает разный, и не со всеми видами этот фокус прокатит.Во вторых зачастую клиенты сидят за двойным NAT'ом -  провайдера и свой  на роутере.В  третьих банальный файервол может резать.
Насколько я помню есть так называемый симметричный NAT, и Hole Punching через него не работает. А так если в 1 случае работает то единственное что может мешать в другом это провайдер или firewall