V současné době většinou udržování NATu obstarává ústředna. Protože SIP (až na chvályhodné výjimky) běží na UDP, posílá ústředna telefonu každých např. 45 sekund UDP paket, kterým udržuje UDP NAT port otevřený.
Pokud to ústředna neumí:
- tak buď některé telefony mají podobnou funkci (bude se to jmenovat NAT keep-alive a pod.),
- nebo lze aspoň zkrátit dobu registrace (Registration timeout) například na těch zmíněných 45 sekund (to ale zbytečně vytěžuje ústřednu a navíc může ústředna takto krátkou dobu odmítnout).
Pokud ale zavoláš úspěšně ven a hned po tom (do půl minuty) zkusíš volání dovnitř a ono nefunguje, pak není problém v udržování otevřeného NATu, ale přímo v tom NATování. To je složitější. Budeš muset najít nějaký veřejný STUN server a nastavit telefon, aby si přes něj zjišťoval aktuální "veřejnou" adresu a používal ji v signalizaci. A pak se modlit, že Tvůj NAT nebude SIP signalizaci příliš měnit a že se s ní vyrovná i ta ústředna. Pokud budeš pozorný, tak zjistíš, že ani to volání z vnitřku ven (tj. z telefonu za NATem na ústřednu) teď nefunguje úplně: například bude špatně směrován tzv. "BYE request" z ústředny k Tobě, to se projeví tak, že když ukončí hovor ústředna, tak to telefon nepozná (sice bude zticha, ale nenapíše "Hovor ukončen").
Jak jsem už psal: všechny tyhle věci může řešit (a často dnes řeší) ústředna.