Context:
We use an IVR menu to route hotline calls to specific departments (IT, Engineering, ETC.) depending on the issue.
If the user selects the wrong department we then call the same hotline number, select the correct department, and then merge the phone calls together.
Problem:
Once the user is connected to the correct hotline department we cannot leave the call, as the original call is being hosted by the wrong hotline department.
Is it possible to have our hotline inbound route plunk the user into a conference room, play an IVR message (We have conference Pro) prompting the user which hotline they need, and then have the user select the hotline they are needing?
The idea is to have our FreePBX system host the hotline call, instead of the individual hotline members hosting the call.
If the agent at the ‘wrong’ department simply does an attended transfer to the hotline number, selects the correct department and hangs up, the agent will be out of the call and the caller will be connected to the queue for the correct department.
If additional explanation or coaching is required, the agent can establish a 3-way call (using the conference button or softkey on their phone). After the correct department is reached and the caller so informed, the ‘wrong’ agent can hang up. This requires the ‘transfer on hangup conference’ option to be set on the device, which is often not the default.
The users attending hotline calls receive these calls on their mobile devices (iPhone or Android) not a VOIP device. The idea is to change the workflow for end users and hotline operators as little as possible, being on the hotline is stressful enough.
Ultimately, we need a solution that we can manage internally without reinventing the hotline process for end users or hotline staff.
If it’s infeasible for agents to take calls on a mobile SIP app (they must receive normal mobile voice calls), set up their calls to go through a ‘special’ trunk that has the ‘t’ option set in Asterisk Trunk Dial Options. This will allow them to access the in-call DTMF commands such as *2 (attended transfer) or ## (blind transfer). You can change these codes in Admin->Feature Codes. The special trunk is just a copy of the regular trunk (without registration) and with the ‘t’ option. You can use a prefix to reach it, or set up the Outbound Routes to the agent numbers to select that trunk.
I also recommend setting up internal short codes, e.g., two digits, to reach the queue for each department (avoiding the IVR), so once the ‘wrong’ agent learns the correct department, they dial ## then the 2-digit code, wait 3 seconds for the number entry timeout, then hang up.