The only 3CX supported scenario with STUN is to have port forwarding per the notes at the end of this document:
I've mostly dispensed with that as a red herring. It's kind of like going to the auto parts store to get a light bulb, but the employee at the store needs to know if you have 2-wheel drive or 4-wheel drive to look up the part. I've been doing VoIP at least part-time for >15 years (although mostly on Asterisk) and I have never had a port forwarding\NAT issue that didn't manifest itself as you later described. I am new (1 year) to 3CX, so maybe it's a new shortcoming I need to learn.
I'm wondering if this is a new customer and possibly a training issue? It will still show as a missed call on any phones in the ring group that didn't answer the call even thought it was answered by a ring group member. Is there any evidence of a call being completely missed such as going to the ring group no answer destination?
It is a new customer, but I wouldn't think customer training would need to go down to the "This is what a ringing phone sounds like. When it rings, put this gadget to your face and talk. Then again, some people..." level.
The customer complained of calls going to the no-answer destination, which prompted the investigation. The first thought was that the phones weren't online, but they showed up fine in the management console. I sent someone on-site and they verified that the phones recorded a missed call. I took this to mean that the handset did receive a call, it wasn't answered, and then 3CX moved the call to the no answer destination.
From what I understood in my Googling, RingAll would only display a missed call if no one anywhere answered, but that Hunt Prioritization would display a missed call for every call that you personally missed. I understand the behavior changed in v15 SP1. I couldn't find official documentation that said that, so I could be wrong, but that's what I came up with.
I am assuming that if the phone wasn't connected to the PBX to have received the call in the first place that it also wouldn't have a missed call. Maybe that's some different signaling that I'm not used to. FWIW: E-mail notifications aren't flagging any unregistrations\registrations from this location (only mobile clients), so the connection must be at least that much stable.