This article is a brief introduction about multichannel IVR servers
in relation with Ozeki VoIP SIP SDK. After reading through this page you will be
fully familiar with all the essential terms concerning multichannel IVR server solutions
and what you will need for creating your own solution using Ozeki VoIP SIP SDK.
Interactive Voice Response (IVR) systems are used in telecommunication for
getting interaction from human callers by using DTMF signals or spoken words.
The IVR system basically uses a tree structured menu system that can be navigated in
with voice or pressing the telephone buttons.
The IVR systems are usually used by big companies where a lot of clients can have
the same problem that can be answered mechanically without the need of an actual human agent to talk with.
Figure 1 - VoIP multichanel IVR
When implementing an IVR server, you need to consider the most possible fields the
IVR tree should contain and you need to sort them into a hierarchical structure. This tree
structure has to be implemented and the navigation in it needs the background support
for DTMF and/or voice recognition.
Ozeki VoIP SIP SDK grants all the support you will need to create an IVR system and for
implementing any navigation method you need.
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 extend an IVR solution with multiple call support in a simple way. First of all you need
to have an SDK license that has multiple call support than you can simply use the
pervious example codes with some extensions.
You can find example codes for IVR solutions in the following articles:
You can manage multiple calls like in the example program of the article Windows Forms DTMF IVR.
That solution uses a List called activeCalls and when a call pops in and is accepted
it is put into the List (Code 1).
void softPhone_IncomingCall(object sender, VoIPEventArgs<IPhoneCall> e)
CustomerCall call = new CustomerCall(e.Item, menuBuilder.GetRootMenu());
call.NotifyAction += new EventHandler<GenericEventArgs<string>>(call_NotifyAction);
call.Closing += new EventHandler(call_Closing);
Code 1 - Adding an automatically accepted call to the active calls list
When a call is ended it is removed from the activeCalls List like it is shown in Code 2.
Code 2 - Removing a call from the active calls list
You can also extend these solutions with human operator support. In that case the calls
can be transferred to an operator from the call center server.
For solutions of this purpose please check IVR human cooperation page.
This article introduced you the basic knowledge about building multichannel IVR server solutions 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.