We have a callflow that works most of the time. The extensions have no endpoint, instead they all have the users cell phone (1NXXNXXX#) in FMFM as the only destination. Call confirm is turned on the extension to avoid company calls going to personal voicemail. All calls are received through a FreePBX queue that the extensions are dynamically a part of.
Sporadically when a known working individual gets a FreePBX calls, then presses 1 to connect, instead of connecting, they are immediately disconnected. It all routes out through the same carrier, and the user could be back to working on the next call. This impacts all queues setup this way (FMFM users). Sangoma Connect is not currently an option.
Any ideas on what it could be? I sngreped the calls and they do appear to be different. Maybe the fails are getting an incorrect SIP message back?
Assuming the agent is on the right, I don’t see how they could have sent a 1 as they never answered. It looks like you have a very short (10 seconds) timeout, which is a particularly bad idea, as cell calls can take some time to even get to ringing.
For sporadic problems, I start up a tcpdump with a command like tcpdump -s 0 -C 100 -W 100 -w rbuf -Z root &
This writes all network activity to a ring buffer of files rbuf0, rbuf1, …, rbuf99, 100 MB each. Obviously, you need 10 GB free disk space. You let this run 24/7 until someone reports trouble. Using the timestamps on the files, you locate the one with the problematic call, copy it to your desktop and analyze it with Wireshark. Occasionally you are unlucky and the call spans two files, in which case you load them both in.
This is all a bit much for troubleshooting. If the FM destination is on the right then the PBX canceled the call. Since this is coming from a queue, another agent could have picked up the call or the agent timer expired.
Followme, when using call confirmation, will do the confirmation in the early media stages before the call is connected/bridge.