Nun, das kommt auf den Router zum Internet an...
Mal ein konkretes Beispiel:
SIP läuft per TCP von 5060/tcp des lokalen Systems an 5060/tcp des VoIP-Provider-Servers. NAT macht daraus z.B. 17228/tcp des öffentlichen Interfaces des Internet-Routers und merkt sich diese Abbildung für eine gewisse Zeit. Pakete, die über die gleiche TCP-Verbindung zurückkommen, werden korrekt von 17228/tcp am Router auf 5060/tcp an Deinem lokalen System weitergeleitet.
Will nun jemand zurückverbinden und einen eingehenden Ruf signalisieren, so erfordert dies etwas mehr. Entweder der Router kennt SIP und weiss damit, daß eingehende Verbindungen auf 17228/tcp an das entsprechende lokale System weiterzuleiten sind.
Kann das der Router nicht (einfach weiterleiten darf er nicht, da sonst jede ausgehende Verbindung auch zugleich eine eingehende erlauben würde, was ein enormes Sicherheitsrisiko wäre), so muss eine Portweiterleitung eingerichtet werden. Dazu muss jedoch bei der SIP-Registrierung schon dafür gesorgt werden, daß der richtige Zielport angegeben wird - beispielsweise 5060/tcp am Router. Damit dies funktioniert, muss man die Art des NAT testen und nicht nur die externe IP-Adresse, sondern auch die Art des Portmapping herausfinden.
Kommt nun irgendwie eine Handvoll SIP-Pakete für ein eingehendes Gespräch zu Deinem lokalen System durch, so ist die nächste Frage, wie die RTP-Pakete für die Sprachdaten es schaffen, zu Dir zu kommen.
Kennt der Router SIP/RTP, so wird er bei eingehenden SIP-Paketen und internen Antworten auch den entsprechenden Bereich für RTP freischalten. Kennt er dies nicht, so kann man beispielsweise RTP auf einen festen internen Zielport legen und dann per Portweiterleitung oder Porttrigger (eine Weiterleitung, die nur dann erfolgt, wenn zuvor auf einem anderen Port abgehender Verkehr erfolgte) dafür sorgen, daß die Sprachdaten den Weg ins lokale Netz finden.
Es gibt Router, die es einem sehr schwer machen, SIP von beliebigen Endgeräten im LAN zu betreiben (Cisco gehört dazu). Konfigurierbar ist jedoch viel...
Als Endanwender muss man daher leider mit Optionen für Outgoing Proxy und STUN etwas experimentieren, wenn man keine Gewalt über den Router hat.
--gandalf.