I cannot get the outbound or inbound audio to work until I put the hold music.
Here’s my current setup details:
Raspberry Pi, FreePBX 14.0.2.10
Sophos UTM with SIP Helper and NAT UDP 5060 > FreePBX Box.
1 x iPhone 7, Zoiper Free, logged in as Test
1 x Samsung Galaxy S9, Zoiper Free, logged in as User1
Dial (Using 4G Cell network) Test > User1 =GOOD
Dial (Using 4G cell network) Test > Landline = No two way audio (cannot hear either party) until HOLD button pressed on Zoiper, then audio works.
Dial (Using internal wifi network with Freepbx on Subnet) Test > User1 = GOOD
Dial (Using internal wifi network with Freepbx on Subnet) Test > Landline = GOOD
Anything I should be trying next? Why would putting the call on hold allow the voice to work?
My experience with this specific problem was a codec problem. The hold music was “wav” and everything else was GSM. For some reason, once the ‘wav’ files started, the system was able to switch back to the GSM codec and successfully worked after that. Of course, it could have also been a coincidence, since we know that not having the RTP ports set up to point at the server from the firewall will cause this as well.
The theory on that is that the hold music starts a new session with the router (from the server this time), which can then return the audio to the server (since the NAT path through the router is working correctly.).
“Asterisk is currently using chan_sip for SIP Traffic.” Everything looks standard, no big changes other than the external IP and local networks listed all look good.
Seems this issue is on Zopiper’s end. Have you tried using a PC solution such as x-lite, or just having the call forwarded to your cell phone number? Otherwise you could try using a different softphone app on your phone.
A SIP trace will tell you where the loss is occurring. We’ve seen scenarios with Zoiper like this in the past. Make sure the NAT settings are correct everywhere. Zoiper, the extension, everywhere.
You could also use google voice and set that up with Freepbx. As long as you setup the Outbound routes and Inbound routes that should work on your phone using zoiper. This also makes it much cheaper than paying for service, unless of course google voice is unavailable to you.