Database Systems Corp.
Home  |   Contact Us  |   About Us  |   Sign Up  |   FAQ

predictive dialers and crm software
computer telephony software predictive dialer

Automatic Call Distribution
Predictive Dialer
Business Phone Systems
T1 Line Service
T1 Line IVR Phone Systems
Digital Service
VRU Voice Response Unit
Auto Attendant / Call Routing

predictive dialers and crm software
Information

Interactive Voice Response
Toll Free Services
T1 Line Phone Service
IVR Systems
Toll Free Phone Service
IVR Software
Open IVR Solutions
IVR Services
Voice Response Unit
IVR Design Program
ACD Systems
IVR Hosting Service
IVR Outsourcing
Phone Answering Service
Inbound Telemarketing


IVR systems interactive voice response

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

Routines – Details

 

int   IRSDecode(const char * message, void * structure);

 

Use this routine to translate the text message from DscIRS to the IrsApiResponse structure.

 

void  IRSSetAsyncSelect(const HWND hWnd);

 

If doing asynchronous communication on NT, set the window where the message retrieval is defined.

 

void  IRSSetServer(const char * _hostname, const char * _server);

 

Call this to indicate the name of the host and the DscIRS server to enable subsequent requests.

 

int   IRSPing();

 

Use to verify that the DscIRS server is active and running.  The server will answer IRSPing() with an IRS_RT_PONG.

 

int   IRSMessage(char * message, const int timeout);

 

Accept an incoming message from DscIRS.  Use timeout for synchronous reads, or the client application may hang in the even t of server failure.

 

int   IRSRefreshAccountingData();

 

DscIRS reads the accounting data into memory for performance reasons.  This routine should be used to alert the server that data has been changed, and should be reloaded.

 

int   IRSRequestUserRecords();

 

Return the stored user records in the Accounts database.  Entire records returned (56 bytes). 

 

int   IRSRequestUserRecord (const char * userName);

 

Return the user record for userName.  Entire records returned (56 bytes). 

 

int   IRSRequestAccountRecords();

 

Return a list of all account records in the Accounts database (10 bytes).

 

int   IRSRequestAccountRecord (const char * accountNumber);

 

Return the entire account record for accountNumber.  The record comes in two pieces, at 232 bytes and 10 + 146 bytes respectively (the second has the 10-bytes account number prepended to the record).

 

int   IRSRequestDNISRecords();

 

Return all DNIS/account number records (20 bytes).

 

int   IRSRequestScriptRecordsByScript (const char * script);

 

Return entire script records for script.  The record comes in two pieces, at 218 bytes and 10 + 10 + 81 bytes respectively (the second has the 10-bytes dnis and 10-byte script prepended to the record).

 

int   IRSRequestScriptRecordsByDNIS (const char * dnis);

 

Return entire script records for dnis.  The record comes in two pieces, at 218 bytes and 10 + 10 + 81 bytes respectively (the second has the 10-bytes dnis and 10-byte script prepended to the record).

 

int   IRSRequestScriptRecord(const char * dnis, const char * script);

 

Return entire script record for dnis & script (this is a unique search, with only one record returned).  The record comes in two pieces, at 218 bytes and 10 + 10 + 81 bytes respectively (the second has the 10-bytes dnis and 10-byte script prepended to the record).

 

int   IRSRequestScriptRecordsForAccount(const char * accountNumber);

 

Return script data records for accountNumber.  Only the accountnumber, dnis and script are returned (30 bytes).

 

int   IRSRequestScriptRecordsByIVRPhone(const char * ivrPhone);

 

Return entire script records for ivrPhone.  The record comes in two pieces, at 218 bytes and 10 + 10 + 81 bytes respectively (the second has the 10-bytes dnis and 10-byte script prepended to the record).

 

int   IRSRequestIVRPhoneNumbers();

 

Return a list of all unique (no dupes) IVR phone numbers in the script database (16 bytes).

 

int IRSRequestLogRecords(const char * accountnumber,

                         const char * script,

                         char * date1, int dateoperator, char * date2,

                         char * time1, int timeoperator, char * time2);

 

Return log file records.  They may be searched in using the date and time search arguments.  Use date2 and time2 if dateoperator or timeoperator, respectively, are a range search (OP_RG).

 

Search operators:

 

#define OP_EQ 0 // equal

#define OP_LT 1 // less than

#define OP_GT 2 // greater than

#define OP_LE 3 // less than or equal to (not greater than)

#define OP_GE 4 // greater than or equal to (not less than)

#define OP_NE 5 // not equal to

#define OP_RG 6 // in the range of

#define OP_NA 7 // ignore this search operator

 

date1/date2 format:  “YYYYMMDD”, eg. 20010610

time1/time2 format “HH::MM::SS”, eg. 13:30:00

 

Sample searches:

 

All records:

    IrsApiRequestRecords(context, accountnumber, script,

                         "", OP_NA, "", "", OP_NA, "");

 

Date less than:

    IrsApiRequestRecords(context, accountnumber, script,

                         "20010531", OP_LT, "",

                         "", OP_NA, "");

 

Date range:

    numRecords = IrsApiRequestRecords(context, accountnumber, script,

                                      "20010101", OP_RG, "20010531",

                                      "", OP_NA, "");

 

These are optional initialization routines - they are not required to use this API.

 

void  IRSInitNamedQueue(const char * _uniqueName);

 

Initialize the identifier for the calling process to be derived from _uniqueName, rather than the default process id.

 

void  IRSInitNumberedQueue(const int _uniqueID);

 

Initialize the identifier for the calling process to be derived from _uniqueID, rather than the default process id.

 

int   IRSUniqueID();

 

Find out what the unique id for this process is (it will be process id if not manually initialized).

 

void    IRSSetSocket(const SOCKET _socket);

 

Call this to bypass socket initialization, using an established socket.

 

void IRSSetSocketAndUniqueID(const SOCKET _socket,

                             const int _uniqueID);

 

Combination of IrsSetSocket() and IRSInitNumberedQueue() calls.

 

SOCKET  IRSGetSocket();

 

Find out established socket for this client.  Note that if not manually set with IRSSetSocket() first, this call will create the socket to the dscnmq service.

 

 

 






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.