This didn’t get much traction the last time around:
And there are other threads that trail off without a solution:
It’s absolutely horrible now.
I just listened to one call recording from a customer talking with an office manager. The office manager was only able to get one or two words out before the call would drop to hold music and be parked. The office manager would hit the parking button on her phone, pick up the call again, get one or two words out, and then it would go back on park again. It happened 5 or 6 times during one 3-minute call.
I’m wracking my brain as to what might be going on, but it’s happening at all of their 27 offices to varying degrees. Some offices have a call randomly park once or twice per hour and some are parking every few minutes or seconds.
I started out by rebooting all the phones. That didn’t fix it.
Every site has around a 45 msec ping time to the phone server and monitoring tools show a perfect connection with 0% packet loss over the previous 3 hours. One office had 0.1% packet loss, but that office is one that has the issue only a few times per day.
After listening to a few call recordings and doing some testing, I found out it occurs much more frequently when calls go through our call center and are parked by the call center before being transferred to the office.
The flow is this:
-
Call comes in from one of our SIP trunk providers and they are presented with a menu (press 1 if you are a new patient, 2 if you are an existing patient).
-
When they press 1 they are routed to the call center queue and one of the agents answers. The agent talks with the caller and realizes they need to transfer them to one of the offices, so they park the call in their private lot.
-
The agent calls the ring group for the office and the manager picks up. They let the manager know what’s going on and that they will send them the call. They hang up.
-
The agent unparks the call, says “I’ll transfer you now”, hits the transfer button on their phone and dials the ring group for the office and disconnects.
-
The office answers the calls and that’s when the trouble starts. The caller gets parked in the offices private park group randomly, without warning, and without anyone hitting a button on their phone.
Here’s a snippet of the logs for one particular call:
[2022-08-31 15:07:11] VERBOSE[3911][C-00001474] app_queue.c: Local/2105@from-queue-00004253;1 answered PJSIP/Twilio-00003ccf
[2022-08-31 15:07:11] VERBOSE[14714][C-00001474] bridge_channel.c: Channel PJSIP/2105-00003d1b joined 'simple_bridge' basic-bridge <b7878a06-9107-4918-853d-608fcb6767bf>
[2022-08-31 15:07:11] VERBOSE[3911][C-00001474] res_musiconhold.c: Stopped music on hold on PJSIP/Twilio-00003ccf
[2022-08-31 15:07:11] VERBOSE[14425][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;2 joined 'simple_bridge' basic-bridge <b7878a06-9107-4918-853d-608fcb6767bf>
[2022-08-31 15:07:11] VERBOSE[14715][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;1 joined 'simple_bridge' basic-bridge <cd3c5569-f7af-40d0-80bb-32f0c3901621>
[2022-08-31 15:07:11] VERBOSE[3911][C-00001474] bridge_channel.c: Channel PJSIP/Twilio-00003ccf joined 'simple_bridge' basic-bridge <cd3c5569-f7af-40d0-80bb-32f0c3901621>
[2022-08-31 15:08:14] VERBOSE[14425][C-00001474] res_musiconhold.c: Started music on hold, class 'default', on channel 'Local/2105@from-queue-00004253;2'
[2022-08-31 15:10:53] VERBOSE[14425][C-00001474] res_musiconhold.c: Stopped music on hold on Local/2105@from-queue-00004253;2
[2022-08-31 15:10:53] VERBOSE[14714][C-00001474] bridge_channel.c: Channel PJSIP/2105-00003d1b left 'simple_bridge' basic-bridge <b7878a06-9107-4918-853d-608fcb6767bf>
[2022-08-31 15:10:54] VERBOSE[14425][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;2 left 'simple_bridge' basic-bridge <d10cfdd5-c41e-402b-9c16-dc88fdacd422>
[2022-08-31 15:10:54] VERBOSE[14425][C-00001474] parking/parking_bridge.c: Parking 'Local/2105@from-queue-00004253;2' in 'parkinglot_21' at space 3351
[2022-08-31 15:10:54] VERBOSE[14425][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;2 joined 'holding_bridge' parking-bridge <f2f9ae7c-6c00-4ec7-98e4-28801dd389ed>
[2022-08-31 15:10:54] VERBOSE[14425][C-00001474] res_musiconhold.c: Started music on hold, class 'default', on channel 'Local/2105@from-queue-00004253;2'
[2022-08-31 15:10:57] VERBOSE[14425][C-00001474] file.c: <Local/2105@from-queue-00004253;2> Playing 'beep.ulaw' (language 'en')
[2022-08-31 15:11:07] VERBOSE[14425][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;2 left 'simple_bridge' basic-bridge <8bdc6b9e-c118-4928-82de-f3b8d309bc57>
[2022-08-31 15:11:07] VERBOSE[14425][C-00001474] parking/parking_bridge.c: Parking 'Local/2105@from-queue-00004253;2' in 'parkinglot_21' at space 3351
[2022-08-31 15:11:07] VERBOSE[14425][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;2 joined 'holding_bridge' parking-bridge <f2f9ae7c-6c00-4ec7-98e4-28801dd389ed>
[2022-08-31 15:11:07] VERBOSE[14425][C-00001474] res_musiconhold.c: Started music on hold, class 'default', on channel 'Local/2105@from-queue-00004253;2'
[2022-08-31 15:11:09] VERBOSE[14425][C-00001474] file.c: <Local/2105@from-queue-00004253;2> Playing 'beep.ulaw' (language 'en')
[2022-08-31 15:11:20] VERBOSE[14425][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;2 left 'simple_bridge' basic-bridge <78c8b3e7-fa4e-457c-9f68-8af399996727>
[2022-08-31 15:11:20] VERBOSE[14425][C-00001474] parking/parking_bridge.c: Parking 'Local/2105@from-queue-00004253;2' in 'parkinglot_21' at space 3351
[2022-08-31 15:11:20] VERBOSE[14425][C-00001474] bridge_channel.c: Channel Local/2105@from-queue-00004253;2 joined 'holding_bridge' parking-bridge <f2f9ae7c-6c00-4ec7-98e4-28801dd389ed>
[2022-08-31 15:11:20] VERBOSE[14425][C-00001474] res_musiconhold.c: Started music on hold, class 'default', on channel 'Local/2105@from-queue-00004253;2'
[2022-08-31 15:11:22] VERBOSE[14425][C-00001474] file.c: <Local/2105@from-queue-00004253;2> Playing 'beep.ulaw' (language 'en')
You can see it parking the call and the office manager un-parking the call every few seconds.
Every phone throughout the company is a Digum D60 running the latest firmware (1.50 although the issue has occurred for ~3 years now).
I just enabled syslogging on all the phones and I’m going to watch and see if there’s any clue in the debug output.
I can provide a log of the call from /var/log/asterisk/full if necessary, but I do have to redact the phone numbers.
Any other ideas?