Update with the strongest evidence yet.
Following up on my previous post (parallel client + firewall LAN/WAN capture showing identical gaps). I then got a packet capture directly from 3CX support/infrastructure side (same call, same tunnel session, port 5090, extension 1000 calling extension 2309) and compared it against my own client + firewall captures using absolute timestamps (not relative), to line up the exact same real-world moments across all three capture points.
Result: the same gap events show up within ~10ms of each other across:
- the client PC (Wireshark)
- my Endian firewall, both LAN and WAN side (tcpdump)
- the capture taken on the 3CX server/infrastructure side
Example: a gap ending at epoch 1784293112.845 on my LAN capture, 1784293112.845 on my WAN capture, and 1784293112.835 on the 3CX-side capture. Same thing repeats throughout the call, in both directions.
What stands out most: for the 3CX->client direction (audio going TO the site), the gap is already present in the capture taken on the 3CX side, i.e. before the packet even leaves 3CX's own infrastructure to cross the internet. That points to the irregularity originating within the tunnel/media relay component itself, not on the internet path, and not anywhere in my network (which I'd already ruled out with the LAN/WAN comparison).
This leaves one open question I can't answer myself: if this is happening within 3CX's own infrastructure on the tunnel side, why does it consistently and repeatedly affect only this one site, when all 5 sites of this customer share the exact same tenant/PBX (xxx.xxx.xxx.xxx)? Is there some per-session or per-worker routing internally that could explain a degradation isolated to a subset of tunnel connections even though they all hit the same public PBX endpoint? I'm planning a comparative test from one of the other (unaffected) sites, same PBX, different firewall/ISP, to see if the same pattern shows up there too or not - will report back.
Also opened a formal support ticket with these findings (LAN/WAN/3CX-side timestamp correlation) so this can be looked at server-side.
@paulodagraca - re: your point about the Windows app vs SBC connection not being "exactly the same" even on the same port - would still be very useful to understand what's actually different there (routing/handling on the 3CX cloud side, not the port/protocol itself, since both appear to use the tunnel).