[cancellato] Vero, e l'ho scritto, ma quando hai davanti un dispositivo che fa NAPT la devi considerare come tale
Abbiamo temo un concetto diverso di "connessione" - forse io la vedo troppo come lo stato dei socket associati.
[cancellato] Se fai port forwarding apri a tutte le sorgenti verso l'host mascherato e fissi la porta lato WAN
Dipende dal router - sul Draytek c'è l'opzione anche di indicare la sorgente. Anche con il NAT cosa è effettivamente aperto dipende dal tipo di NAT. Se sei in Full Cone qualsiasi host può inviare pacchetti ad un determinato mapping. I Restricted Cone, come dice il nome, sono più restrittivi.
Poi anche SIP per essere un po' più firewall friendly ti permette di indicare le porte da usare, non le sceglie completamente caso.
[cancellato] Non è vero, l'ALG va anche a modificare i messaggi SIP
Sì, intendevo a livello di network.
[cancellato] STUN è usato per scoprire l'IP pubblico, non per aprire la connessione o porta
UPnP può essere usato anche per individuare l'IP esterno (via IGDP, se supportato). e semplifica di gran lunga il NAT Traversal perché puoi sia individuare l'IP esterno e i mapping senza l'aiuto di un server esterno, e poi puoi anche aprire ciò che ti serve. IMHO un ATA con supporto UPnP funzionerebbe in modo automatico dietro ad un NAT senza il bisogno che un ALG metta le mani nei pacchetti.