No incoming audio on Raspberry Pi PBX

I have my calls being call forwarded to my cell phone from my incoming DID’s that are processed through my raspberry pi pbx (which is connected to my router). I kept getting phone calls since I set it up but when I picked up the call on my cell phone there was never a voice on the other end so I thought they were prank calls. Direct calls to my cell work fine so I finally tested calling my DIDs from another phone and it turns out the audio is not being transmitted!

Does anyone know what settings I might have wrong?

I believe you just faced an old well-known problem.
For test you can have the call first answered by IVR then forwarded to cell. This will create an outgoing UDP stream from the PBX which will open a pinhole on your NAT.
For a complete fix you need to configure a port forwarding on your router for the whole RTP range used by PBX.

Thanks, I would like a complete fix as I just want to answer from my cell phone and not have the IVR as an intermediary

I found that the default RTP port range in Settings|Asterisk SIP Settings is 10,000-20,000. So, in my router settings I went to the Port Range Forwarding section and configured that range for the choice ‘Both’, ie TCP & UDP, to the network address of my Raspberry Pi, which is Is this correct and then clicked ‘Enable’? Is this correct?

You can probably limit the RTP range first (I have 100 ports myself) then configure the port forwarding for the same range (UDP only!) and IP address of PBX.

Thanks. I got it working with the 10,000-10,100 set on both the PBX and on the router. I assume both have to be exactly the same? Why is fewer ports better? Also, why is it UDP only?

You want ‘progressinband’ enabled in SIP settings:

Thanks. With it working ok without adding the progressinband=yes line do I really need to add it?