High performance VoIP SDK for .Net developers

VoIP SIP SDK

How to create and manage call queues

When you decide to use Ozeki VoIP SIP SDK for building your call center, you will also have the great option to create and manage call queues to make your system more efficient. This article presents how you can create and handle call queues with Ozeki SIP SDK.

Introduction

Call centers usually receive more incoming calls than the number of call center agents who can accept them. It means that without a complex system several calls can be missed because of lack of resources. The solution for this situation is a system that ensures the call center server can handle all incoming calls in a queued system. Incoming calls are queued on the basis of the routing type that is used by the server for distributing calls.


Figure 1 - VoIP call queuing

If the server uses simple call distribution, there is no need to have more than one calling queue. The incoming calls are put at the end of the queue and when a call center agent gets available, the first call in the queue is transferred to that agent.

If the call center server uses skill based call routing, however, more call queues need to be used. In this case there can be a queue for all field of expertise or even for every single agent. This way the skill based routing procedure decides which group of agents should receive the actual call and it puts the call to the appropriate queue. If the call queue belongs to more than one call center agents, the call will be distributed by a simple call routing within the group.

Assuming that you have a call center solution, that is basically an advanced multichannel softphone, you can easily define a call queue in the server code. The call queue can be a simple List object from that you can choose the next call to transfer to an operator. Code 1 shows the definition of a possible call queue.

List<IPhoneCall> CallQueue = new List<IPhoneCall>();

Code 1 - Call queue definition

When a call cannot be transferred to an agent - for example when there is no available agents - the call is set to hold and put into the call queue. In this case the call center plays a message to the customer about the waiting time (Code 2).

if (AvailableOperators.Count == 0)
{
   Reader.AddAndStartText("All our operators are busy at the moment, please wait, your call will be redirected to an operator soon");
   call.Hold();
   CallQueue.Add(call);
}

Code 2 - Adding a call to a call queue

When an operator becomes available, the first call in the queue will be transferred to that operator. For this purpose, you can define an event handler that notifies the call center when an operator is got back from the BusyOperators list to the AvailableOperators list.

Summary

This article shares how to manage call queues using Ozeki VoIP SIP SDK. If you have read through this page carefully, you already have all the knowledge you need to start your own solution.

As you are now familiar with all the terms concerning this topic, now it is time to take a step further and explore what other extraordinary solution Ozeki VoIP SIP SDK can provide to you.

If you have any questions or need assistance, please contact us at info@voip-sip-sdk.com

You can select a suitable Ozeki VoIP SIP SDK license for your project on Pricing and licensing information page

Related Pages