External extensions strange sound issues

HI All, this is my first post, very new to freepbx though I am quite a pro at networking.

I created an extension, have created a trunk and both inbound and outbound routes, when testing extensions internally (inside local network) all calls (extension to extension, extension receiving external calls, and placing external calls) work with decent sound quality, problem starts once I register a sip phone from outside the local network, sip registration works, extension to extension calls are perfect, but this external extension has no sound when receiving incoming or placing outgoing calls.

Can someone please point me in the right direction as to why this is? I have even tried setting router DMZ to freepbx running on virtualbox.