FOP Shows lines off hook but are actually available

Ok, Here is what I am seeing. Phones are located on a separate physical network behind a NAT device (all running SIP). Extensions are set to NAT = Yes. I see this problem particularly when I am using the Intercom/Paging feature (Page Groups). System has 20 phones on it all using G729 codecs(loaded licenses from Digium). System is an Ubuntu 8.04 server running asterisk 1.6.2 and FreePBX I had been running FreePBX 2.7 but felt upgrading it might solve the problem.

I have all 20 phones in an intercom group and all phones are Snom300s running firmware 8.4.18.

I dial the paging number, 7243 in this case, from one of the Snoms in the group and all of my phones auto answer and I hear my audio clearly and without issue. I hang up and all of the phones hang up and can receive calls. This always happens.

If I dial the paging number and wait until the FOP shows all of the phones are red and busy then I do not have any problems. When I hang up, it takes a moment, but the phones all go green on the FOP.

However, if I dial the paging number and hang up before the FOP shows all of the phones are red and busy then the FOP seems to fail and the phones that did go red are stuck in that state on the FOP. Even though the phone appears red and busy on the FOP (or sometimes a phone will show it is stuck ringing) the phones are fully capable of answering further calls without issue. When I check Asterisk using a sip show channels there are no channels used by Asterisk and no calls that I can tell on going, yet the FOP seems stuck showing these phones as still engaged.

I have looked over my log files, tried different NAT devices, and upgraded my FreePBX version and still at a loss for what is causing this. Does anyone have any ideas?