I would like to have calls to our number ring at several extensions at our premises and then ring my mobile number after around 3-4 rings in case I am not in the house. I have this set up as two Ring Groups, one that rings all the extensions, and then if there is no answer, it goes to a separate Ring Group that comprises just my mobile number. I find that calls that very often when I pick up on my mobile I cannot actually connect with the call for some reason; the phone says I'm connected but nothing is audible.
Is this the best way to set up the FreePBX system to accomplish this, or is there a better way?
I would suggest that you grab a packet capture (including RTP) and see if FreePBX is recieving/sending RTP streams in the call forward scenario... do a "normal" call and then a "call forward" call - compare the pair (including which RTP is sent and when).
Something I have seen, this may or may not be what's happening in your case, is that SIP trunks will often wait for audio before sending any to the PBX; this is usually enabled to workaround NAT; however in a call forwarding scenario, many PBXs will also wait for audio. This creates a Mexican stand-off in the call forwarding scenario, and means no audio either way. Normal calls work fine because the PBX starts sending audio right away (and the SIP trunk reciprocates) but call forwards will get no audio.
If this looks like what's happening from your capture, 2Talk should be able to disable the feature (on our platform it's called "symmetric latching") or you may be able to adjust a setting in FreePBX to stop it waiting for audio on external call transfers.
Edit: By the way, if it all seems too hard, and you want a turnkey solution, I can vouch for Igor and his company Vadacom... they've been doing this stuff for ages and with much success. All the best!
I am fairly certian your Pi is not sitting out on the net. It is behind a router and therefore behind NAT.
This is actually a fault I have seen recently with another system. At night it would need to divert to an outside number but no audio was heard. Yet making everyday calls was fine. Didn't get to the point of doing a packet capture but watching the asterisk debug everything seemed to go fine which was really weird.
Anyway, rather than send the call directly to a ring group with 0212345678# I sent it through a 'transparent' IVR. So at night calls would go to this IVR which had no announcement and a timeout of 1. The failover destination is the ring group with the external number. Seemed to fix the issue. But yea need to try and replicate it on the work bench and figure out what was going on.
If you are behind a NAT, then you can somewhat workaround the NAT situation by forwarding all UDP ports that your FreePBX uses for RTP to it from the external interface. The IVR option suggested may well resolve the situation, unless you want to have individual users using follow-me etc.