Confirm that your SonicWALL is properly set up:
In Asterisk SIP Settings, confirm that Local Networks and External Address are properly set.
If you still have trouble, post a log of a failing call, including SIP trace. At the Asterisk command prompt, type
pjsip set logger on
for a pjsip trunk or
sip set debug on
for a chan_sip trunk, then make your test call.
Also, on an outbound call, report whether the remote party can hear the caller.
On an incoming call that goes to voicemail (or an IVR), does the caller hear audio?