Are you sending SIP OPTIONS from the phone? Your router opens a "hole" in the router for the outbound SIP Registration packet. That hole will only remain open for a while. However, if you keep sending traffic from the phone to the pbx, it keeps the hole open. If it closes during a call, the inbound packets don't know where to go, or get blocked by the router. SIP OPTIONS is essentially a PING for SIP. Most phones will call the option SIP OPTIONS, but it can also be called ping. If you don't have that option, set the registration timeout very short (like 30 seconds). You can set the qualify=true option in the Extension settings in the PBX; when you do that, Asterisk will send SIP OPTIONS packets to the phone on a regular basis. One of the other of these options will solve your problem. BTW, my PIAF is hosted, and I have 8 SIP Phones connected from the same source IP/router, and everything works nicely. BTW, 5060 is where the PBX is listening. When you are behind NAT, your phone sends a registration packet saying it is at privateIP:5060; NAT translation converts that to publicIP:somePort, where someport can be any open port number, and is usually in the high range. It's not a problem because the SIP messages will contain the proper NAT routing IPs and ports.