I suppose this is less of a trick, and more of a technique. Use an asterisk box to register against another asterisk box as the extension devices.
The Issabel CC system needs to be able to handle remote agents using their landline or mobile phone device.
At time of writing this (2019) Issabel CC system has some problems with this. This issues isn't with asterisk application itself (remote PSTN agent in an asterisk queue has been a feature for 2 decades), but Issabel Call Center application does some custom code to make "at home" agents work
When using Issabel Call Center to send calls to remote agents over PSTN lines, I encountered login issues and call control issues with the calls through their interface. I tried a variety of different techniques using call forwarding, follow-me, along with a variety of configuration tricks. Some worked, but all seemed to require admins to manually modifying dialplan code, not something I wanted avoid if possible.
I needed something relatively easy to implement, easy to administer, wouldn't confuse call reporting in the Call Center and would allow all agent desktops at home or at the office to continue to show screen pops and allow updated customer information.
In order to satisfy the (current) needs of the CC system and the PSTN requirement we needed to deliver a call (no voip), a way is needed for Issabel Call Center queue to send a call to a PSTN user that would ensure the call was always in control. Normally asterisk can handle a remote agent, but with some of the designs of the ISSABEL contact center system, it can't handle the remote agent on a PSTN connection very well (at time of writing)
I came up with a method to have a second asterisk box that acted as a register service for the at home agents, and then itself would register against the issabel cc, appear as if its a full softphone connecting. The "register" server tricks the issable that actual sip phones are registered, even though the at home agent is fullying using their landline/mobile phone. I registered an individual trunk connection for each extension from PBX02 to the CC asterisk system. This gave the appearance to the CC's Asterisk that a SIP hardset/softset extensions were now registered.
When an agent is "ready" in the GUI, the CC would send the call to this SIP connection as it normally would.
On regiseter pbx, the call arrives as a DID being their 4 digit extension. I send each DID to a unique MISC DESTINATION, which had their PSTN number in it. This would cause PBX02 to place a call to the agents device.
When the agent answers, this get passed by PBX02 to the CC system (PBX01) and the customer was connected to the agent. Metrics were proper and the screen information was still delivered.
Configuration:
Assumptions, 2 Issabel asterisk box'es installed and functional, one configured as the call center, the other one going to be this pstn 'gateway' of sorts. This document revolves around Issabel, but the concepts apply to asterisk in general. I wont' be getting into the details of setting up a CC in this document, i'll have to assume you already know how to do that.
Trunk
Each trunk on PBX02 has a name that reflected the 4 digit extension number that we'll register against on PBX01, but the outgoing/incoming context is left blank. On each trunk, in the incoming section at the bottom there is a registration string. The syntax is as follows:
Trunk Name (description): 4 digit extension number
Trunk Name (PEER Details): 4 digit extension number|
PEER DETAILS and USER DETAIL - Completely blank
Register String
extension:password@CallCenterServerIP/extension
Example:
1009:password@10.1.100.50/1009
Submit and Apply the changes
This registration is what PBX01 is expecting from a softphone device authenticate it and be able to handle call flow with it.
The log in the Issabel Call Center computer will show something like the following, showing PBX01 responding to PBX02's registration as Extension 1001
Now, on PBX02 server, go to MISCELLANEOUS DESTINATIONS
Create a MD for each extension, and put in the destination number you want to have for that user
This example is the mobile number for Extension 1001
Save your changes
Go to
INBOUND ROUTES
Create an inbound route
DESCRIPTION and DID Number are the extensions number you are using
Set the MISC Destination to the same extension
Submit and Apply your changes.
Make sure you have the appropriate outbound and trunks configured for calls leaving this server to get out to the PSTN network. Depending on your setup, you can send the calls BACK to the CC server to go out your PSTN connection
Now login to your Call Center user
We'll logon our AGENT "Maria Jones" with agent #9500 on Extension 1001 on the GUI
When we attempt to logon, the system will call "SIP/1001"
Here you'll see the system has called SIP 1001, which is sent to the IP registration on PBX02
Now PBX02 the extension 1001 call comes in
PBX02 receives the call and then dials the PSTN/MOBILE number of the agent
Agent answers, puts in their agent ID password. They are now logged in and hearing music in their device.
Here's PBX02 showing call out PSTN network to agent
I've placed a call to the QUEUE 7777, agent 9500 on SIP/1001 belongs to, with their call being done on their mobile device
Here's their GUI showing the call from "1002" (my test extension)
Agent stats work perfectly
OTHER USES:
Whats cool about this, is this isn't limited to agents at home. This feature can utilized to merge call centers together under a single umbrella. As long as the Issabel CC can dial a remote device, it can (mostly) know that state of that phone.