Incomming call rings, can answer then dropped, no sound

I’ve got a bit of a weird problem.

I have my trunks set up. One for outgoing and one for incomming. (Two different providers)
I can call out just fine.
When calling in from my cell it rings through to my softphone (X-lite) on my PC (IP static). I answer but there is no sound. and then the connection from my cell drops after about 2 seconds. x-lite stays connected until hung up or 30 seconds expire (The default drop).

Here’s the technical info.
incomming trunk. Trunk name: voipin
User Context: ipin
User detials:

the asterisk server is sitting at behind my router at .1. Port forwarding for 5060-2,5070-2, 10001-20000 is enabled from the router to the server open .50

Does anyone have any ideas? I can watch things in the asterisk command line and everything looks good.

Thanks Paris

BTW I also added externip=
localnet= to the sip_nat.conf trying to solve this.
Also, I am on a dynamic IP from my provider. I have been checking to make sure the IP has not changed. The SIP account is tied to the current IP for the moment.

Apache 2.4
PHP 5.2
Trixbox (So I can still use the true FREEPBX!)
freepbx 2.4.1

I am running an Elastix PBX version 1.5 with a 30 channel E1 connected to it. I can make an outgoing call successfully but the call drops at irregular intervals. The same is happening to incoming calls. At times the call can last even for about 5 minutes. Any one with an idea of how to solve this problem? Please help.