Call queuing is required to process inbound calls to PBX or contact center, callers are put into queues where they wait for a free operator and listening to some music. IVR usually notifies a caller about his position in a queue and about estimated waiting time. Operators have controls to set their availability, because some time is required to put data about the previous call before answering the next one. VoxImplant has all the capabilities required to build contact center functionality including ACD (Automatic call distributor) that can be controlled using the ACD Module. In this tutorial, we will build a simple queue that is being processed by operators.
The following steps are required to build our contact center:
- Create VoxImplant application (let's call it callcenter)
- Create application users (they will be our call center operators)
- Create Queue (in Settings menu) for the application and attach users to it
- Create VoxEngine Scenario that will handle inbound calls and put them in a queue
- Create application Rule to use the scenario to process calls
- Create operator's web interface using Web SDK
Open the Applications section of the control panel and create a new application, call it "callcenter". Full name will look like callcenter.your_account_name.voximplant.com
Switch to the Users section of the application and create a few users, call them operator1, operator2, etc. Assign them to the application we created earlier.
Open the Queues tab of an application and create a new queue with the following parameters, and attach users to it:
Creating VoxEngine Scenario
Switch to Scenarios tab and create a new scenario:
Call it 'ACD' and save. Now we need to connect the scenario to our application and connect some phone number to the application.
Buying Phone Number
After that you will need to attach the phone number to our application – go to the application's Numbers tab, open the Available numbers, select a number and click Attach:
Now we need to forward calls from the phone number to our ACD scenario.
Creating Application Rule
Edit our callcenter application – open the Routing tab and click the New rule button, let's call it InboundCalls and put our phone number into the Pattern input field, then choose the ACD scenario in the Available scenarios list:
Click Create rule and you will see the new rule in the application rules list:
Building Web Client for Operators using Web SDK
The last thing we need to finish our simple contact center is to build simple web interface for operators. VoxImplant Web SDK has all required capabilities for that. To specify current operator status we will be using setOperatorACDStatus function, where we should pass one of the statuses from VoxImplant.OperatorACDStatuses. When ACD status set to VoxImplant.OperatorACDStatuses.Ready incoming calls from a queue will be forwarded to the operator. Here is the UI of our simple call center user agent app:
You can download the code of the web app from our GitHub account. Don't forget to specify your account name in the code of the app (see ACCNAME variable).