Marco25
No, può essere che i server del provider X lo facciano correttamente e quello del provider Y no. rport specialmente è stato aggiunto da una RFC successiva. STUN è una soluzione client-side sulla quale hai più controllo, received/rport è una soluzione server-side sulla quale non hai controllo (a meno, ovviamente, che il server SIP sia il tuo).
Poiché è complesso debuggare lato client eventuali problemi dell'ISP a mappare correttamente lato suo il NAT, STUN può essere una soluzione al problema - purché non si usi NAT simmetrico. UPnP può essere un'altra, e non richiede nemmeno l'uso di un server esterno, visto che interroga direttamente il router.
Il mio consiglio è di partire con una configurazione minima, e se non funziona aggiungere piano piano altre configurazioni più complesse finché non funziona, rimuovendo quelle in conflitto. Quindi se il keep-alive senza STUN funziona - perché dall'altra parte gestiscono correttamente received/rport - tanto meglio. Se non funziona, sai qual è la possibile soluzione.