View Single Post
Old 09-25-2012, 01:45 PM   PM User | #4
Niko68
New to the CF scene

 
Join Date: Sep 2012
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Niko68 is an unknown quantity at this point
How to build the IVR tree

I am working on building the IVR tree and I am testing an IVR example program. I am really satisfied with my library which is provided by the Ozeki VoIP SIP SDK. So here is the solution:

This IVR example is a standard softphone program with some changes in the code, therefore I had to handle calls and call states. The program automatically accepts the incoming calls. As for the call states, in case of the InCall state I had to make the proper MediaHandler connection in order to make the program work properly.

The PhoneCallAudioSender object needs to be connected to the TextToSpeech object that will read up the IVR nose messages, and the PhoneCallAudioReceiver and the SpeechToText objects need to be connected together. When both the sender and the receiver are attached to the call, the TextToSpeech object can be started and the main menu message will be read up.
You can see that there is no microphone or speaker used in this example program. This is because the program works automatically and does not need human interactions. If it was a fully featured IVR program, it would contain some call transferring for having the line given to a human operator, but this example only demonstrates how we can navigate the IVR tree with voice instructions.

1. private void call_CallStateChanged(object sender, VoIPEventArgs<CallState> e)
2. {
3. InvokeGUIThread(() => { label1.Text = e.Item.ToString(); });
4.
5. switch (e.Item)
6. {
7. case CallState.InCall:
8.
9. connector.Connect(ivrReader, mediaSender);
10. connector.Connect(mediaReceiver, navigator);
11.
12. mediaSender.AttachToCall(call);
13. mediaReceiver.AttachToCall(call);
14.
15. ivrReader.AddAndStartText(selectedNode.message);
16.
17. break;

If you wish you can read more about the topic at voip-sip-sdk com/p_412-voip-ivr-voice-navigation-voip.html.

Regards,
Niko
Niko68 is offline   Reply With Quote