well I think we are talking about two sets of bugginess.
You are correct that if you forward external ports other than 5060 to phone ports 5060, then assuming the proxy honors the contact header this should work.
You are also right that many home routers don’t have good port forwarding, only forward to the same number. It isn’t as flexible but it is useful, ie make a web server work, forward * ports, etc. It just doesn’t rewrite the port number when rewriting the NAT.
So now assume you have a dumb router, and it only has one to one port forwarding, no port rewriting. In that case AAstra phones become near-unusable, as you can set the SIP NAT PORT to be port 5061 but the phone won’t listen on 5061 and packets won’t come from 5061.
The result is that for it to work as it is currently, you need to 1. have a router that supports port number rewrite forwarding, 2. configure the router to do so, 3. set that phone to use that forwarded port, and 4. hope your sip proxy is smart enough to recognize the contact header instead of just returning the packet from whence it came.
Now OTOH lets assume SIP NAT PORT does what i think it should- make the phone listen on that port, send packets from it, etc generally use it as the local sip port. This makes things far easier.
- dumb routers do not even need configuration (at all), as each phone will make its own nat mapping with a unique external port. use qualify= to keep the mapping alive and you are done- no user configuration of router required.
- even if the proxy is dumb and just returns the packet, thats fine
- the only lost functionality is dial by IP- you can no longer dial the phone by IP because it won’t be listening on 5060 anymore.
So I guess you could argue that it’s not so much a bug as missing functionality, as both use cases would work. However IMHO, one setup makes far more sense than the other…