Multiple SIP phones behind NAT to external asterisk

As the title suggests, I am trying to use several SIP phones behind a NAT router to connect to asterisk on an external network, i.e. all the phones have the same external IP address. Individually, the phones work fine, I can make and receive calls. However, they can’t call each other, or rather they can, but there is no audio. On the asterisk side, I have set NAT=yes in sip.conf (I have tried other values, but it makes no difference) and I have set the phones to use different RTP port ranges. RTP debug output from asterisk suggests that asterisk is using the correct IP address, but only two RTP ports - I would have thought that four were necessary, two for each phone:

Got RTP packet from 99.145.91.37:13000 (type 00, seq 026986, ts 003840, len 000160)
Sent RTP packet to 99.145.91.37:16422 (type 00, seq 001408, ts 003840, len 000160)
Got RTP packet from 99.145.91.37:13000 (type 00, seq 026987, ts 004000, len 000160)
Sent RTP packet to 99.145.91.37:16422 (type 00, seq 001409, ts 004000, len 000160)
Got RTP packet from 99.145.91.37:16422 (type 00, seq 011237, ts 466542103, l en 000160)
Sent RTP packet to 99.145.91.37:13000 (type 00, seq 058280, ts 466542096, l en 000160)

‘sip show peers’ for the two phones in question:
60/60 99.145.91.37 D N 6060 OK (342 ms)
41/41 99.145.91.37 D N 5060 OK (147 ms)

Any suggestions?
Thanks,
Ian.

Please do not double post. Have a look at my response at your other post at: forums.digium.com/viewtopic.php?t=21820