High performance VoIP SDK for .Net developers

VoIP SIP SDK

IVR to live operator transfer and take back (IVR human cooperation)

This article is a brief introduction about transferring calls from IVR to a human operator and back in relation with Ozeki VoIP SIP SDK. After reading through this page you will be fully familiar with all the essential terms concerning call transfer in IVR systems and what you will need for creating your own solution using Ozeki VoIP SIP SDK.

Introduction

The IVR system is basically for navigating the caller customer toward the solution for their problem. In a lot of cases the customers have problems that can be solved without human interaction and in these cases the IVR spares the human resources of the company by answering these common questions automatically.


Figure 1 - VoIP IVR human cooperation

The IVR system works with a tree structured menu that can be navigated by the user with spoken words or keypad button presses. In this process the user listens to an audio played into the call and acts according to the instructions it gives. If the user's problem is one that has an answer in the IVR tree structure, the customer can navigate to the answer and get it, but in some cases there is a need for a human employee who can answer the user's question.

At the end of nearly every IVR system there is at least one human operator who gets the call transferred to them when the automated system does not have answer for the user problem occurred. In this case a special user interaction (a keyword or a special key press) transfers the call to the operator.

Ozeki VoIP SIP SDK has the background support for both IVR system implementation and call transferring that is needed to fulfill the above mentioned functions. You will only need to call some provided methods and your IVR system will be able to serve your needs directly.

The following program code uses the background support of Ozeki VoIP SIP SDK, therefore you will need to download and install the SDK on your computer before starting to use the program code. You will also need to have Visual Studio 2010 or compatible IDE and .NET Framework installed on your system, as the program code below is written in C# language.

You can find several IVR example programs on our sites and you can extend any of them with human cooperation. The following program code snippets show some example for that.

In the case of a DTMF managed IVR solution, you need to extend the DTMF signal receiving event with the case of a special DTMF signal that will indicate that the call needs to be transferred to an operator (Code 1).

private void call_DtmfReceived(object sender, VoIPEventArgs<OzTuple<VoIPMediaType, DtmfSignal>> e)
{
...
if (e.Item.Item2.Signal == 11)
   call.Transfer("100");

Code 1 - DTMF IVR navigation to an operator

In this example pressing the hashmark will indicate that the call needs to be transferred.

In the case of a voice navigated IVR program, the Speech to Text voice detection needs to be extended with a similar function (Code 2).

void SpeechToText_WordsRecognized(object sender, VoIPEventArgs<IEnumerable<string>> e)
{
foreach (string word in e.Item)
{
...
   if (word == "operator")
      call.Transfer("100");

Code 2 - Voice navigated IVR transferring to a human operator

You can find example codes for IVR solutions in the following articles:

This article introduced you the basic knowledge about call transferring in IVR systems and showed how Ozeki VoIP SIP SDK can help you to fulfill your wishes about this topic. If you have read through this page carefully, you already have all the knowledge you need to start on 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 licensing page

Related Pages