I'm currently developing a peer to peer VOIP application for iPhone and Android.
I have created a STUN-like + rendez-vous server.
I have tried the whole thing over WIFI (behind a domestic NAT) everything works fine.
I have to mobile ISP, one allowing everything (VOIP + P2P + MODEM) (ISP 1)
another one allowing everything but P2P. (ISP 2)
When trying over the ISP 1, it works fine also.
However, when I try with the ISP 2, udp packet doesn't go through.
I have connected my computer with the phone on ISP 2, and ran TUM NAT Analyzer.
It is a NAT Analyzer, telling me
UPnP Test (?): No UPnP device found
STUN Test (?): Symmetric NAT
UDP Binding Test (?): Endpoint depenent binding, port prediction may be hard
TCP Binding Test: Endpoint depenent binding, port prediction may be hard
UDP Mapping Test (?): local and external IP addresses were different
(NAT). Your source ports were not preserved. It may be hard to predict your external source port.
TCP Mapping Test: local and external IP addresses were different (NAT).
Your source ports were not preserved. It may be hard to predict your external source port.
SIP ALG (?): The initial SIP INVITE packet has not been modified on its way to our servers.
There is no SIP ALG involved
FTP ALG: The initial FTP PORT command has been modified.
Most probably, your NAT implements a FTP-ALG
So apparently it is using a symmetric NAT with random port affectation (no way to use port prediction apparently).
So I was wondering, an ISP that allows VOIP but not P2P (And no SIP ALG), does it expect for VOIP to use a relay server in order to work ?
Or Am I missing something...
As I understand AT&T (and probably others) uses the same kind of NAT that my ISP 2... (symmetric NAT) so that become a huge issue, I guess....
Anyone though, idea, reaction would be great.
Thank you !