Voicent Gateway C# Simple
Interface For IVR Applications
In addition to the basic Voicent C# Simple Interface class, the extended API contains the following functions.
The C# interface source code is
included at the end of this section.
SYNOPSIS
- string
CallIvr(string phoneno, string appname, bool selfdelete)
DESCRIPTION
- Make a phone call to the specified number and use the IVR
application to interact and control the phone call.
- The options are:
-
phoneno |
The phone number to call |
appname |
The name of the deployed IVR application |
selfdelete |
Ask the gateway to automatically delete the
call request after the call is made if it is set to '1' |
The return value is the call request id <reqId>.
EXAMPLE
- string reqId = CallIvr("123-4567", "reminderApp", 0);
- Make a call to phone number '123-4567' and use 'reminderApp'
on the gateway for call interaction. You can use
CallStatus to get the call status and responses, or use
CallRemove to remove the call record.
-
SYNOPSIS
- string
CallStatus(string reqId, Dictionary<string, string> responses)
DESCRIPTION
- Check the call status and responses of the call with reqId. The second parameter is a reference to a dictionary and is used to collect responses. So if you have an element named
AttendMeeting, the response
can be accessed as responses["AttendMeeting"]. Please note
that you can have multiple IVR elements that collect responses.
EXAMPLE
- string status =
CallStatus("11234035434", responses);
-
Voicent class that contains additional API for interfacing with IVR Studio.
----------------
File Voicent.cs:
----------------
using System;
using System.Net;
using System.IO;
namespace Voicent
{
...
public class Voicent
{
...
public string CallIvr(string
phoneno, string appname, bool selfdelete)
{
// call request url
string urlstr = "/ocall/callreqHandler.jsp";
// setting the http post string
string poststr = "info=Simple Text Call " +
phoneno;
poststr += "&phoneno=" + phoneno;
poststr += "&firstocc=10";
poststr += "&selfdelete=";
poststr += (selfdelete ? "1" : "0");
poststr += "&startapp=" + appname;
// Send Call Request
String rcstr = PostToGateway(urlstr, poststr);
return GetRequestID(rcstr);
}
public string CallStatus(string
reqID, Dictionary<string, string> responses)
{
// call status url
string urlstr = "/ocall/callstatusHandler.jsp";
string poststr = "reqid=" + reqID;
// Send Call Request
string rcstr = PostToGateway(urlstr, poststr); string[] rcarr = rcstr.Split("^");
// call responses is the 9th field string[] resparr = rcarr[8].Split("|"); for (int i = 0; i < resparr.length; i++) { // each is a name value pair string[] nvarr = resparr[i].Split("="); $responses.Add(nvarr[0], nvarr[1]); } // call status is the 3rd field return rcarr[2];
}
...
}
}
|