NAT omogoča, da naprave v lokalnih omrežjih uporabljajo lokalne naslove IP, ki pa niso uporabni na internetu. Brez javnega naslova IP uporabniki IoChat med sabo ne bi mogli komunicirati. Da se izognemo temu problemu, IoChat uporablja STUN in TURN.

IoChat poskusi vzpostaviti neposredno komunikacijo med vrstniki preko protokola UDP z uporabo STUN. Če mu to ne uspe, poskusi s protokolom TCP. Če tudi to ni dovolj, pa uporabi TURN strežnik, ki posreduje podatke med uporabniki.

stunturn

Strežnik STUN mora biti dostopen na javnem internetu in ima preprosto nalogo: preveri naslov IP in omrežna vrata prihajajočega zahtevka poslanega s strani aplikacije IoChat, ki se nahaja za NAT-om ter ga pošlje nazaj. Če povzamemo, IoChat uporablja STUN, da ugotovi svoj javni IP naslov in omrežna vrata. Tako odjemalec pozna svoj javni naslov, ki ga potem posreduje svojemu vrstniku preko signalizacijske komponente in z njim vzpostavi povezavo. Strežnik STUN skupno nima veliko dela, zato strežnik na katerem deluje STUN, lahko že z relativno nizkimi specifikacijami upravlja z velikim številom zahtevkov.