IVR Interactive Voice Response
This section of our technical library presents information and documentation relating to IVR and interactive voice response software as well as automatic call answering solutions.
Business phone systems and toll free answering systems (generally 800 numbers and their equivalent) are very popular for service and sales organizations, allowing customers and prospects to call your organization anywhere in the country.
Our PACER and Wizard IVR systems add another dimension to our call center phone system solutions. An Interactive Voice Response (IVR) processes inbound phone calls, plays recorded messages including information extracted from databases and the internet, and potentially routes calls to either in-house service agents or transfers the caller to an outside extension.
Using IVR Report Server Client API
IVR Log Data
struct IrsApiLogDataResponse{ // IRS_RT_LOGDATA
int operation;
char
data[(sizeof(IVRLOG) - ((LOG_CELL_LENGTH * LOG_NUMBERCELLS) + (LOG_DATA_LENGTH
+ 10))) + 1];
};
The IrsApiLogDataResponse.operation flag is
interpreted as follows:
IRSAPI_OP_FIRSTRECORD – IrsApiLogDataResponse.data
contains the first record in what might be a multiple record transmission (188
bytes).
IRSAPI_OP_RECORD - IrsApiLogDataResponse.data
contains the first half of an IVR log record (188 bytes).
IRSAPI_OP_DIGITS - IrsApiLogDataResponse.data
contains the “digits” portion of an IVR log record (128 bytes).
IRSAPI_OP_DONERECORD – No more records are
forthcoming for the data request. IrsApiLogDataResponse.data
is undefined (no data record sent).
IRSAPI_OP_FIRSTCELL – IrsApiLogDataResponse.data
contains the first user-defined cell for the most recently received IVR log
file record, in what might be a multiple cell transmission (32 bytes).
IRSAPI_OP_CELL - IrsApiLogDataResponse.data
contains a cell (32 bytes).
IRSAPI_OP_DONECELLS - No more cells are forthcoming
for the current IVR log data record. IrsApiLogDataResponse.data
is undefined (no cell sent).
(dimensioned for a
maximum of 100 records and 100 cells per record):
char
m_Buffer[512]; // more than large enough
char
m_LogDataRecord[100][317]; // extra byte for null termination
char
m_CellRecord[100][100][33];
static char
l_Buffer[sizeof(struct IrsApiResponse)];
static struct IrsApiResponse * mainResponse
=
(IrsApiResponse *)&l_Buffer;
static struct
IrsApiLogDataResponse * logResponse =
(IrsApiLogDataResponse *)mainResponse->value;
int numRecords;
int
numCells[100];
int
recordIndex;
int cellIndex;
if(IRSMessage(m_Buffer, 10)){
IRSDecode(m_Buffer, mainResponse);
switch(mainResponse->type){
case
IRSAPI_RT_PONG:
{
// the
server is running…
}
break;
case
IRSAPI_RT_LOGDATA:
{
switch(logResponse->operation){
case
IRSAPI_OP_FIRSTRECORD:
{
recordIndex = 0;
// 188
bytes + null terminator
strcpy(m_LogData[recordIndex],logResponse->data);
}
break;
case
IRSAPI_OP_RECORD:
{
// 188
bytes + null terminator
strcpy(m_LogData[++recordIndex],logResponse->data);
}
break;
case IRSAPI_OP_DIGITS:
{
// 128
bytes + null terminator
strcpy(&m_LogData[recordIndex][188],logResponse->data);
}
break;
case
IRSAPI_OP_FIRSTCELL:
{
cellIndex = 0;
// 32
bytes + null terminator
strcpy(m_CellData[recordIndex][cellIndex],
logResponse->data);
}
break;
case
IRSAPI_OP_CELL:
{
// 32
bytes + null terminator
strcpy(m_CellData[recordIndex][++cellIndex],
logResponse->data);
}
break;
case
IRSAPI_OP_DONECELLS:
{
// all
done with cells for this record
numCells[recordIndex] = cellIndex + 1;
}
break;
case
IRSAPI_OP_DONERECORD:
{
numRecords = recordIndex + 1; // all done
}
break;
}
break;
.
.
.
Wizard Simplifies Development
DSC provides IVR software including our IVR wizard development tool for creating interactive voice response applications.
Our IVR software lets you increase IVR development productivity by providing a visual development environment. IVR applications can be defined in minutes using this sophisticated, yet easy to use development tool.
DSC also has available a comprehensive IVR software library known as our IVR Wizard Software Development Kit. This optional package is available for programmers and systems adminstrators who wish to manage IVR programs fromLinux IVR, Unix, or Windows IVR operating environments.
Data collected by your phone ACD (Automatic Call Distribution) or IVR (Interactive Voice Response) systems can be passed to your existing PC, Unix or Web applications through our phone software.
The PACER predictive dialer can automatically call your customers and pass only connected calls to your agents. With our computer telephony software, your telephone and computer work together to provide cost-saving benefits.
|