The excellent Ozeki VoIP SIP SDK provides you all the tools and background to
implement blind transfer functionality into your softphone.
Once you read through this page you will be
fully familiar with all the essential terms concerning blind transfer
and what you will need for creating your own solution using Ozeki SIP SDK.
When the called user is not the desired end-point for a communication, for example in
case of a call center, the call is transferred to another VoIP client. This transfer can be made
by intentionally choosing a callee (attended call transfer)
or by using blind transfer. Blind transfer means that
the call will be transferred to a randomly chosen end-point, basically the first
available agent (Figure 1).
Figure 1 - Transferring an incoming call with blind transfer
The call transfer can be done automatically by a call center server application or
it can be coordinated by a human operator. In case of a blind transfer the first
option is the most usual.
In the following sections you can find a simple programming solution for blind
transfer implementation. Ozeki VOIP SIP SDK will do the hardest part and
you only need to set some parameters and call some extra methods.
The following program code uses the background support of Ozeki VoIP SIP SDK,
therefore you will need to download and install Ozeki SIP 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.
Figure 2 shows the user interface of the softphone application that is capable for
Figure 2 - The user interface for the example program
The following example code shows how you can implement blind call transfer with the
existing tools and support of Ozeki VoIP SIP SDK. The blind transfer is a really easy
task, it can be done with a simple method call and giving the phone number as parameter.
In this sample program the call is transferred to a hardcoded number as the program is only for demonstrational
purposes. You can, of course implement a more sophisticated solution that fulfils your needs.
The whole softphone functionality and the initialization is the same as in the case of any softphone application.
The only change is the addition of the Transfer button and the event handler that
performs the actual transferring.
Code 1 shows the event handler method for the Transfer button. You can see that blind transferring a call only means
that you specify the number you transfer the call to and call the transfer method of the call object.
During the transfer the call state will be Transferring and when the transfer is
successful, the softphone exits the call and the other two parties can communicate with each other.
As for the remote party, during the transfer, it is set to hold and it gets back to the call when the transfer is
completed - in that case the communication will be continued with the third party - or
when the transfer cannot be done - in that case the communication will be set back with the
original communication peer.
Any other part of the softphone is exactly the same as in the case of a simple softphone,
you can use any of the previously written softphone examples for this purpose and extend it with the transfer
This article introduced you how to achieve blind transfer functionality using Ozeki VoIP SIP SDK.
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.