Go to the source code of this file.
Defines | |
#define | DEF_BOOL |
#define | FALSE 0 |
#define | TRUE 1 |
#define | NULL 0 |
#define | ilRQ_ERR 0 |
#define | ilRQ_ANY 0 |
#define | ilRET_OK 0L |
#define | ilRET_ERROR -1L |
#define | ilRET_LIB_NOTREADY -3L |
#define | ilRET_CONN_CLOSED -5L |
#define | ilRET_BAD_ARGS -7L |
#define | ilRET_FUNC_UNSUPPORTED -9L |
#define | ilRET_TIMEOUT -11L |
#define | ilRET_REQ_EXPIRED -12L |
#define | ilRET_NO_REQUESTS -13L |
#define | ilRET_BAD_CONN_NAME -15L |
#define | ilRET_REQ_FAILURE -1000L |
#define | ilCI_CONN_ID_CHAR "ConnId" |
#define | ilCI_ALL_CHAR "All" |
#define | ilCI_CALL_ID_CHAR "TSCallId" |
#define | ilCI_DN_CHAR "CalledNum" |
#define | ilCI_ANI_CHAR "ANI" |
#define | ilCI_DNIS_CHAR "DNIS" |
#define | ilCI_THIS_DN_CHAR "PortDN" |
#define | ilCI_THIS_TRUNK_CHAR "PortTrunk" |
#define | ilCI_THIS_QUEUE_CHAR "PortQueue" |
#define | ilCI_OTHER_DN_CHAR "OtherDN" |
#define | ilCI_OTHER_TRUNK_CHAR "OtherTrunk" |
#define | ilCI_OTHER_QUEUE_CHAR "OtherQueue" |
#define | ilCI_LAST_EVENT_NAME_CHAR "LastEvent" |
#define | ilCI_FIRST_HOME_LOC_CHAR "FirstHomeLocation" |
#define | ilCI_UNKNOWN_CHAR "Unknown" |
Typedefs | |
typedef int | BOOL |
typedef BOOL * | PBOOL |
typedef unsigned char | BYTE |
typedef unsigned short | USHORT |
typedef unsigned int | UINT |
typedef unsigned long | ULONG |
typedef void * | PVOID |
typedef BYTE * | PBYTE |
typedef int * | PINT |
typedef UINT * | PUINT |
typedef ULONG * | PULONG |
typedef BYTE * | PUSTR |
typedef const void * | CPVOID |
typedef PVOID * | PPVOID |
typedef char * | PSTR |
typedef const char * | CPSTR |
typedef long * | PLONG |
typedef long | LONG |
typedef long * | LPTR |
typedef long long | LONG64 |
typedef unsigned long long | ULONG64 |
typedef unsigned short | SOCKET_PORT |
typedef ULONG | ilPORT |
typedef ULONG | ilRQ |
typedef long | ilRET |
Enumerations | |
enum | ilCI_TYPE { ilCI_ALL = 100, ilCI_CONN_ID = 101, ilCI_CALL_ID = 102, ilCI_DN = 111, ilCI_ANI = 112, ilCI_DNIS = 113, ilCI_THIS_DN = 121, ilCI_THIS_TRUNK = 122, ilCI_THIS_QUEUE = 123, ilCI_OTHER_DN = 131, ilCI_OTHER_TRUNK = 132, ilCI_OTHER_QUEUE = 133, ilCI_LAST_EVENT_NAME = 151, ilCI_FIRST_HOME_LOC = 152, ilCI_UNKNOWN = 999 } |
enum | ilERR_TYPE { ilET_NUMBER = 0, ilET_TEXT = 10 } |
enum | ilDIALOUTERR { ilDO_NOT_SUPPORTED = 0, ilDO_NO_TRUNKS, ilDO_MISC } |
enum | ilFAILURE { ilFAIL_BUSY = 0, ilFAIL_NO_ANSWER, ilFAIL_CONNECT_FAILED } |
enum | CallStatus { eCallStatusUnknown = 0, eCallStatusDialingMakeCall, eCallStatusBusyMakeCall, eCallStatusRinging, eCallStatusHeld, eCallStatusBusy, eCallStatusDialing, eCallStatusEstablished, eCallStatusRetrieved, eCallStatusConfPartyDel, eCallStatusConfPartyAdd, eCallStatusXferComplete, eCallStatusReleased, eCallStatusNoChange } |
enum | IlibraryState { ilRET_ACTIVE = 0, ilRET_SHUTDOWN_IN_PROCESS, ilRET_ALL_AGENTS_LOGGEDOUT, ilRET_NO_CALLS_IN_PROGRESS } |
Functions | |
BOOL | ilInitiate (CPSTR psName) |
BOOL | ilSetVersionNumber (CPSTR pszVersionNumber) |
BOOL | ilConnectionOpen (CPSTR psHost, SOCKET_PORT sPort, ULONG ulTimeoutMS) |
BOOL | ilConnectionOpenConfigServer (CPSTR psHost, SOCKET_PORT sPort, CPSTR szAppName, ULONG ulTimeoutMS) |
BOOL | ilConnectionOpenConfigServer80 (CPSTR _host, SOCKET_PORT _port, SOCKET_PORT _port_transport, CPSTR _host_bu, SOCKET_PORT _port_bu, CPSTR appName, ULONG _ulTimeoutMS) |
BOOL | ilConnectionClose (void) |
ilRQ | ilSRqNoteCallStart (ilRQ RqID, ilPORT Port, CPSTR psCallID, CPSTR psDNIS, CPSTR psANI, CPSTR psTagCDT) |
ilRQ | ilSRqNoteCallEnd (ilRQ RqID, ilPORT Port) |
ilRET | ilGetReply (ilRQ RqID, PSTR psRep, int iRepLen) |
ilRET | ilWatch (long w) |
ilRQ | ilSRqUDataAddKD (ilRQ RqID, ilPORT port, CPSTR psKey, CPSTR psData) |
ilRQ | ilSRqRouteGet (ilRQ RqID, ilPORT Port, CPSTR psRP) |
ilRET | ilGetReplyAny (ilRQ *pRqID, PSTR psRep, int iRepLen) |
ilRQ | ilSRqCallInit (ilRQ RqID, ilPORT Port, CPSTR psDstDN) |
ilRQ | ilSRqCallComplete (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqCallConference (ilRQ RqID, ilPORT Port, CPSTR psDstDN) |
ilRQ | ilSRqCallTransfer (ilRQ RqID, ilPORT Port, CPSTR psDstDN) |
ilRQ | ilSRqCallTransferKVList (ilRQ RqID, ilPORT Port, CPSTR psDstDN, CPSTR psData) |
ilRQ | ilSRqCallConsultInit (ilRQ RqID, ilPORT Port, CPSTR psDstDN) |
ilRQ | ilSRqCallConsultComplete (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqCallConsultConference (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqCallConsultTransfer (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqUDataAddList (ilRQ RqID, ilPORT Port, CPSTR psList) |
ilRQ | ilSRqUDataGetKD (ilRQ RqID, ilPORT Port, CPSTR psKey) |
ilRQ | ilSRqUDataGetAll (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqUDataDelKD (ilRQ RqID, ilPORT Port, CPSTR psKey) |
ilRQ | ilSRqUDataDelAll (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqGetCallInfo (ilRQ RqID, ilPORT Port, ilCI_TYPE eCI) |
ilRQ | ilSRqCDT_Init (ilRQ RqID, ilPORT Port, CPSTR psDstDN, CPSTR psService, CPSTR psCDT_Type, CPSTR psCDT_Tag) |
ilRQ | ilSRqCDT_Cancel (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqVersion (ilRQ RqID, ilPORT Port, CPSTR psService) |
CPSTR | ilGetVersion (void) |
ilRQ | ilSRqToLog (ilRQ RqID, ilPORT Port, CPSTR psService, CPSTR psStr) |
BOOL | ilSetLogHeader (CPSTR pszLogHeader) |
BOOL | ilSetTimeout (ULONG ulMSec) |
ULONG | ilGetTimeout (void) |
long | ilGetLastError (ilERR_TYPE eErrType) |
long | ilGetLastPortError (ilPORT ilPort, ilERR_TYPE eErrType) |
ilRET | ilLocalPrn (ilRQ RqID, ilPORT Port, CPSTR psFmt,...) |
ilRET | ilLocalPrnSelector (char *selector, ilRQ RqID, ilPORT Port, CPSTR psFmt,...) |
int | ilGetCallStatus (ilPORT Port) |
CPSTR | ilPrnError (long lErrCode) |
ilRQ | ilSRqRouteDone (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqRouteStart (ilRQ RqID, ilPORT Port, CPSTR psRP) |
ilRQ | ilGetRequest (ilPORT Port, PSTR psReq, int iReqLen) |
ilRET | ilSendReply (ilRQ RqID, BOOL bResult, CPSTR psReply) |
ilRQ | ilSRqRouteAbort (ilRQ RqID, ilPORT Port) |
ilRQ | ilSRqStatPeek (ilRQ RqID, ilPORT Port, CPSTR psStatName) |
ilRQ | ilSRqStatGet (ilRQ RqID, ilPORT Port, CPSTR psSS_Name, CPSTR psObjectType, CPSTR psObjectID, CPSTR psStatType) |
BOOL | ilDeinitiate (void) |
ilRET | ilDialOutError (ilPORT Port, ilDIALOUTERR _ilDialOutErr) |
ilRQ | ilSRqGetDialOutData () |
ilRQ | ilSRqDialOutDataInit (ilRQ RqID, ilPORT Port, ilRQ RqID_DialOut) |
ilRET | ilCallEstablished (ilPORT Port) |
ilRET | ilFailure (ilPORT Port, ilFAILURE _ilFailure) |
ilRET | ilGetProcessingState () |
char * | ilGetParmValue (char *_key, int _iConvert) |
ilRET ilCallEstablished | ( | ilPORT | Port | ) |
The ilCallEstablished() function indicates that an outbound call has been established.
Port | The IVR port that made the call. |
BOOL ilConnectionClose | ( | void | ) |
The ilConnectionClose() function is provided for compatibility with previous versions of this library. It is a no-op and should not be used.
BOOL ilConnectionOpen | ( | CPSTR | psHost, | |
SOCKET_PORT | sPort, | |||
ULONG | ulTimeoutMS | |||
) |
The ilConnectionOpen() function opens a connection and logs in to the IServer.
psHost | The name of the machine that hosts the IVR Server. | |
sPort | The port number that the IVR Server is listening on. | |
ulTimeoutMS | The maximum number of milliseconds allowed for connection to be established. This same value will also be used to determine when to close and re-open the socket if the socket appears to be connected to IServer but no login response is received. |
BOOL ilConnectionOpenConfigServer | ( | CPSTR | psHost, | |
SOCKET_PORT | sPort, | |||
CPSTR | szAppName, | |||
ULONG | ulTimeoutMS | |||
) |
The ilConnectionOpenConfigServer() function opens connections and logs in to IVR Server.
psHost | The name of the machine that hosts Config Server. | |
sPort | The port number that the Config Server is listening on. | |
szAppName | The name of the IVR Driver application which contains configuration information. | |
ulTimeoutMS | The maximum number of milliseconds allowed for connection to be established. This same value will also be used to determine when to close and re-open the socket if the socket appears to be connected to IServer but no login response is received. |
BOOL ilConnectionOpenConfigServer80 | ( | CPSTR | _host, | |
SOCKET_PORT | _port, | |||
SOCKET_PORT | _port_transport, | |||
CPSTR | _host_bu, | |||
SOCKET_PORT | _port_bu, | |||
CPSTR | appName, | |||
ULONG | _ulTimeoutMS | |||
) |
The ilConnectionOpenConfigServer() function opens connections and logs in to IVR Server.
_host | The primary Config Server host name | |
_port | The primary Config Server port number | |
_port_transport | The primary config server client side port number | |
_host_bu | The backup Config Server host name | |
_port_bu | The backup Config Server port number | |
szAppName | The name of the IVR Driver application which contains configuration information. | |
ulTimeoutMS | The maximum number of milliseconds allowed for connection to be established. This same value will also be used to determine when to close and re-open the socket if the socket appears to be connected to IServer but no login response is received. |
BOOL ilDeinitiate | ( | void | ) |
The ilDeinitiate() function is available only for compatibility with previous versions of this library. It is not intended that the IVR Library be de-initiated in order to be initiated again. It is recommended that it not be called.
ilRET ilDialOutError | ( | ilPORT | Port, | |
ilDIALOUTERR | _ilDialOutErr | |||
) |
The ilDialOutError() function indicates an outbound call could not be made.
Port | The IVR port that made the call. | |
_ilDialOutErr | The type of error. |
ilRET ilFailure | ( | ilPORT | Port, | |
ilFAILURE | _ilFailure | |||
) |
The ilFailure() function indicates that an outbound call could not be made
Port | The IVR port that made the call. | |
_ilFailure | The type of error. |
int ilGetCallStatus | ( | ilPORT | Port | ) |
The ilGetCallStatus() function returns the current call status on the port.
Port | The port to provide call status for. |
long ilGetLastError | ( | ilERR_TYPE | eErrType | ) |
The ilGetLastError() returns the latest error code from the library
eErrType | A type that is either an ilET_NUMBER or ilET_TEXT. If you pass in ilET_TEXT, you direct the library to print the error to the log. If you pass in ilET_NUMBER, the return value matches ilNum, which is associated with an error description. Here is the declaration of the error descriptions. ilRET_OK, "OK" ilRET_ERROR, "Error" ilRET_LIB_NOTREADY, "ILibrary not initialized properly" ilRET_CONN_CLOSED, "Connection to IVR Server is closed" ilRET_BAD_ARGS, "One or more aguments is invalid" ilRET_FUNC_UNSUPPORTED, "Name of object is invalid" ilRET_TIMEOUT, "Request still in progress" ilRET_REQ_EXPIRED, "Request expired" ilRET_NO_REQUESTS, "No request in the queue" ilRET_BAD_CONN_NAME, "Connection name is invalid" ilRET_REQ_FAILURE, "Request failed" |
long ilGetLastPortError | ( | ilPORT | ilPort, | |
ilERR_TYPE | eErrType | |||
) |
The ilGetLastPortError() returns the latest error code for the named port
ilPort | The IVR port where the call resides | |
eErrType | A type that is either an ilET_NUMBER or ilET_TEXT. If you pass in ilET_TEXT, you direct the library to print the error to the log. If you pass in ilET_NUMBER, the return value matches ilNum, which is associated with an error description. Here is the declaration of the error descriptions. ilRET_OK, "OK" ilRET_ERROR, "Error" ilRET_LIB_NOTREADY, "ILibrary not initialized properly" ilRET_CONN_CLOSED, "Connection to IVR Server is closed" ilRET_BAD_ARGS, "One or more aguments is invalid" ilRET_FUNC_UNSUPPORTED, "Name of object is invalid" ilRET_TIMEOUT, "Request still in progress" ilRET_REQ_EXPIRED, "Request expired" ilRET_NO_REQUESTS, "No request in the queue" ilRET_BAD_CONN_NAME, "Connection name is invalid" ilRET_REQ_FAILURE, "Request failed" |
char* ilGetParmValue | ( | char * | _key, | |
int | _iConvert | |||
) |
The ilGetParmValue() function returns the value for the key. The key must be configured in a section in the IVRDriver application which is created by the user and cannot be named "ivr_server_interface", "log_content", "security", or "log".
_key | is the key to return a value for. | |
_iConvert | determines whether to convert a boolean value. if _iConvert is 1 and the value for the key is a boolean, the value will be converted to "true" or "false". A boolean is true if it's value is 1, on, yes, or true. |
ilRET ilGetProcessingState | ( | ) |
The ilGetProcessingState() function returns the current state of I-Library
ilRET ilGetReply | ( | ilRQ | RqID, | |
PSTR | psRep, | |||
int | iRepLen | |||
) |
Use the ilGetReply() function to obtain the reply to a previous ilSRq request function. The ilGetReply() function stores the text in a string buffer that your application maintains.
RqID | A value captured from the return of an ilSRq*() function. | |
psRep | A pointer to a string buffer. | |
iRepLen | An integer that specifies the size of the string buffer in bytes. |
ilRET ilGetReplyAny | ( | ilRQ * | pRqID, | |
PSTR | psRep, | |||
int | iRepLen | |||
) |
The ilGetReplyAny() function retrieves whatever is the next available reply with data and writes the ilRQ number for that reply in the location specified by the first argument, a pointer to an ilRQ variable.
pRqID | A pointer to an ilRQ variable that is to store the returned request ID. | |
psRep | A pointer to a string buffer that will contain the text of the reply. | |
iRepLen | Defines the length of psRep in bytes. If an actual reply string is bigger than the number of bytes specified by iRepLen, the function will only copy iRepLen bytes, truncating the remainder of the response. |
ilRQ ilGetRequest | ( | ilPORT | Port, | |
PSTR | psReq, | |||
int | iReqLen | |||
) |
The ilGetRequest() function checks for a request (treatment) from URS. It accepts (for a specified port) URS treatment through an IVR server.
Port | The IVR port where the call resides. | |
psReq | Points to a string buffer that stores the text of the treatment information. | |
iReqLen | Specifies the size of the psReq buffer in bytes. |
ULONG ilGetTimeout | ( | void | ) |
The ilGetTimeout() function gets the current value of timeout set by the previous ilSetTimeout call.
CPSTR ilGetVersion | ( | void | ) |
The ilGetVersion() function lets you retrieve the version of the IVR Library.
BOOL ilInitiate | ( | CPSTR | psName | ) |
The ilInitiate() function must be called before calling any other function in the library with the exception of ilSetLogHeader. Otherwise the IVR Library rejects all function calls. As an argument it takes configuration name of the IVR object resource. This function sets up all required services within the library.
psName | Name of this IVR object resource as it is stored in Configuration Server. The resource is used to define the switches, DNs, and ports to be used during operations with this IVR. For Unixware and the ILibrary SDK, this resource is also used to acquire configuration information. |
ilRET ilLocalPrn | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psFmt, | |||
... | ||||
) |
The ilLocalPrn() function prints text directly to local log.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psFmt | is a format string that follows the rules for the printf() function. Subsequent arguments match the format specifiers in the format string. |
ilRET ilLocalPrnSelector | ( | char * | selector, | |
ilRQ | RqID, | |||
ilPORT | Port, | |||
CPSTR | psFmt, | |||
... | ||||
) |
The ilLocalPrnSelector() function prints text directly to local log. based upon a selection variable.
selector | A string of zeroes and ones which indicate when the message should be printed. The string is compared to a string specified in CME which indicates which messages the user wants to be printed. If the selector string has a one in a position which matches a one in a position in the configured value in CME, the message will be printed. | |
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psFmt | is a format string that follows the rules for the printf() function. Subsequent arguments match the format specifiers in the format string. |
CPSTR ilPrnError | ( | long | lErrCode | ) |
The ilPrnError() function prints an error message associated with an error code received from the ilGetLastError() function.
You should call the ilGetLastError() function first, take an appropriate action (according to the returned error code), and then either use the ilPrnError() function to print an error message or call the ilSRqToLog() function.
lErrCode | Matches an error code returned from the ilGetLastError() function. |
ilRET ilSendReply | ( | ilRQ | RqID, | |
BOOL | bResult, | |||
CPSTR | psReply | |||
) |
The ilSendReply() function sends a reply for an earlier received treatment request (URS via Iserver).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
bResult | if TRUE prints an OK message to the log; if FALSE, prints an ERROR message to the log. | |
psReply | is a pointer to the message to be sent as a reply, the actual contents of the reply buffer depend upon the treatment request, for example, if CollectDigits was the treatment request, then a valid string of numbers would be returned. |
BOOL ilSetLogHeader | ( | CPSTR | pszLogHeader | ) |
The ilSetLogHeader() is a no-op and should not be called.
pszLogHeader | the header information for the log file. |
BOOL ilSetTimeout | ( | ULONG | ulMSec | ) |
The ilSetTimeout() function sets the timeout for next calls of the ilGetReply() and ilGetRequest() functions.
ulMSec | specifies the Timeout value in milliseconds. |
BOOL ilSetVersionNumber | ( | CPSTR | pszVersionNumber | ) |
The ilSetVersionNumber() function lets you specify a version of your IVR driver/application.
pszVersionNumber | Points to a string representation of the version number for this driver/application. |
ilRQ ilSRqCallComplete | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqCallComplete() function releases a call associated with the specified IVR port and is equivalent to the ilSRqNoteCallEnd() function. It may be called at any time there is an active call. Note: This function will not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqCallConference | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psDstDN | |||
) |
The ilSRqCallConference() function makes a new conference call. A new party, specified by the psDstDN parameter, is added to the call. Check the specific T-Server/Switch configuration to verify that this functionality is supported. This function does not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psDstDN | specifies the directory number of the party to be dialed. |
ilRQ ilSRqCallConsultComplete | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqCallConsultComplete() function releases a previously initiated consult call. Check the specific T-Server/Switch configuration to verify that this functionality is supported. The function does not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqCallConsultConference | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqCallConsultConference() function merges the original and consultation call that resides on this port into conference. The new party from the consultation call is added to the base call. Check the specific T-Server/Switch configuration to verify that this functionality is supported. The function does not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqCallConsultInit | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psDstDN | |||
) |
The ilSRqCallConsultInit() function places the existing call on hold and originates a consultation call. The new party, specified by the psDstDN parameter, is connected to the specified IVR port. The party(s) from the base call is (are) placed on hold. Check the specific T-Server/Switch configuration to verify that this functionality is supported. The function does not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psDstDN | Specifies the directory number of the party to be dialed. |
ilRQ ilSRqCallConsultTransfer | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqCallConsultTransfer() function completes a call transfer. This causes the IVR port specified by the port parameter to be released from both the original and consultation call. Parties participating in the original and consultation call that reside on this port are merged into one call. Check the specific T-Server/Switch configuration to verify that this functionality is supported. The function does not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqCallInit | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psDstDN | |||
) |
The ilSRqCallInit() function initiates a new call from the IVR port to a destination DN specified by psDstDN. Note: This function will not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psDstDN | specifies the directory number of the party to be dialed. |
ilRQ ilSRqCallTransfer | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psDstDN | |||
) |
The ilSRqCallTransfer() function completes a call transfer. This causes the call on the specified port parameter to be released from both the original and consultation call. Parties participating in the original and consultation call that originally resided on this port are merged into one call. Check the specific T-Server/Switch configuration to verify that this functionality is supported. This function does not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psDstDN | Specifies the directory number of the party to be dialed. |
ilRQ ilSRqCallTransferKVList | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psDstDN, | |||
CPSTR | psData | |||
) |
The ilSRqCallTransferKVList() function completes a call transfer and transmits user data along with the call. This causes the call on the specified port parameter to be released from both the original and consultation call. Parties participating in the original and consultation call that originally resided on this port are merged into one call. Check the specific T-Server/Switch configuration to verify that this functionality is supported. This function does not work for the offsite-switch option (IVR-In-Front).
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psDstDN | Specifies the directory number of the party to be dialed. | |
psData | Specifies the user data to be transmitted. |
ilRQ ilSRqCDT_Cancel | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqCDT_Cancel() function cancels a previous ilSRqCDT_Init() function request.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqCDT_Init | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psDstDN, | |||
CPSTR | psService, | |||
CPSTR | psCDT_Type, | |||
CPSTR | psCDT_Tag | |||
) |
The ilSRqCDT_Init() function requests an access number or tag to make a Call Data Transfer (CDT) to a remote destination. Use the ilGetReply() function to get access number information, an access number (indirect type), or tag value (depending on the type of CDT) in your driver's reply buffer. The reply buffer will store information needed to transfer the call, including any routing digits (9 for outside line, 415 for CA, and so forth). After receiving the reply for this request, the user of the library is responsible for making the transfer of the call through PSTN.
CDT requests can be:
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psDstDN | specifies the directory number of the party to be dialed. | |
psService | Specifies the name of the remote T-Server that receives a call and attaches data to it. | |
psCDT_Type | Specifies the type of Call Data Transfer request. | |
psCDT_Tag | Specifies the tag used to mark a call. This tag should be transferred with the call through PSTN. The tag is used by the remote T-Server to match an arriving call (from PSTN) with a CDT request provided by the ilSRqCDT_Init() function. |
ilRQ ilSRqDialOutDataInit | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
ilRQ | RqID_DialOut | |||
) |
The ilSRqDialOutDataInit() function updates status on the outbound call indicating that the application/driver has made the call.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port that made the call. | |
RqID_DialOut | The request id of the dial out data |
ilRQ ilSRqGetCallInfo | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
ilCI_TYPE | eCI | |||
) |
The ilSRqGetCallInfo() function requests information about a type of call data, such as a connection ID, DN, and such. Use the ilGetReply() function to get the information in your driver's reply buffer.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
eCI | is a type of data about the call on the Port for which you want information. See the ilCI_TYPE enum. ilCI_ALL ilCI_CONN_ID ilCI_CALL_ID ilCI_DN ilCI_ANI ilCI_DNIS ilCI_THIS_DN ilCI_THIS_TRUNK ilCI_THIS_QUEUE ilCI_OTHER_DN ilCI_OTHER_TRUNK ilCI_OTHER_QUEUE ilCI_LAST_EVENT_NAME ilCI_FIRST_HOME_LOC |
ilRQ ilSRqGetDialOutData | ( | ) |
The ilSRqGetDialOutData() function requests outbound call data from IServer.
ilRQ ilSRqNoteCallEnd | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
Call the ilSRqNoteCallEnd() function when call activity on a particular port has completed. If configured for IVR-Behind-Switch, the IVR Server will request that the associated TServer release the call.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | is the IVR port where the call resides. |
ilRQ ilSRqNoteCallStart | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psCallID, | |||
CPSTR | psDNIS, | |||
CPSTR | psANI, | |||
CPSTR | psTagCDT | |||
) |
The ilSRqNoteCallStart() function notifies the IVR Interface Server that a new call resides on a particular IVR resource specified by the Port argument.
Call the ilSRqNoteCallStart() function each time that call processing is started.
The IVR script should call this function before it calls any other telephony requests to IVR Interface Server for the particular IVR channel (except for the ilCallInit() function, which performs the equivalent function). Otherwise, the telephony request will be rejected and a corresponding error returned.
Of the six arguments, the last four are optional and psDNIS and psANI are currently used. If the IVR Interface Server connects to T-Server (linked to a real switch, that is, IVR-Behind-Switch), the driver should not change the DNIS, and ANI that are provided by the T-Server.
If the IVR Interface Server is configured for IVR-In-Front (connected to a virtual TServer), then the IVR script may populate the DNIS and ANI values if the IVR can get that information.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | is the IVR port where the call resides. | |
psCallID | (optional) not used | |
psDNIS | (optional) This value is placed as a DNIS in all events generated by the IVR Server. | |
psANI | (optional) This value is placed as an ANI in all events generated by the IVR Server. | |
psTagCDT | (optional) not used |
ilRQ ilSRqRouteAbort | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqRouteAbort() function indicates to the Universal Routing Server (URS) that the route sequence associated with RqID has been aborted.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqRouteDone | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqRouteDone() function is for compatibility with previous versions of this library, it is no longer supported.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqRouteGet | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psRP | |||
) |
The ilSRqRouteGet() function gets the next service (route) from the router. Immediately after getting the next service, the IVR Server automatically responds to the router with a route point (successfully) used message. If there is a possibility that this may not be the case, use RouteStart instead.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psRP | Specifies the route point where in the router a valid strategy is loaded, with only a next service (that is, target) within that strategy. |
ilRQ ilSRqRouteStart | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psRP | |||
) |
The ilSRqRouteStart() function indicates to URS that a route sequence for psRP has started. The IVR Server will return treatments to the application via the ilGetRequest() function. For each treatment, the IVR application (this driver if this is an interface for an application) should apply and respond with the results via the ilSendReply() function. The ilGetRequest() function will fail upon strategy termination. Call the ilSRqRouteAbort() function to end the current strategy.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psRP | Specifies the route point where in the router a valid strategy is loaded, with only a next service (that is, target) within that strategy. |
ilRQ ilSRqStatGet | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psSS_Name, | |||
CPSTR | psObjectType, | |||
CPSTR | psObjectID, | |||
CPSTR | psStatType | |||
) |
The ilSRqStatGet() function is provided for compatibility with previous versions of this library. It is no longer supported in 7.0. ilSRqStatPeek should be used instead.
ilRQ ilSRqStatPeek | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psStatName | |||
) |
The ilSRqStatPeek() function requests statistics from StatServer. The statistics, CurrNumberWaitingCalls and ExpectedWaitTime, are supported.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. psSS_Name specifies the name of a StatServer as defined in the Configuration Server. | |
psStatName | Specifies the name of the statistic. |
ilRQ ilSRqToLog | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psService, | |||
CPSTR | psStr | |||
) |
The ilSRqToLog() function inserts an information string into log file of psService.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psService | Specifies the name of the service that has the log stream to be used. | |
psStr | A string that is the information to be placed into the log stream. |
ilRQ ilSRqUDataAddKD | ( | ilRQ | RqID, | |
ilPORT | port, | |||
CPSTR | psKey, | |||
CPSTR | psData | |||
) |
The ilSRqUDataAddKD() function attaches one data element specified by psKey and psData to the active call that resides on the IVR port.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
port | The IVR port where the call resides. | |
psKey | The key to be attached to the call. | |
psData | The data associated with the key. |
ilRQ ilSRqUDataAddList | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psList | |||
) |
The ilSRqUDataAddList() function adds the list of key-value to the call residing on the IVR channel specified by Port.
The IVR API supports functions that use a pointer to an ordered list structure. This structure allows sending and receiving a number of parameters presented as a single string.
An ordered list structure is a string composed of several fields in strict order. Each field is separated from another field by a delimiter character. The order of fields in this structure is very important and must be specified. If a field has a zero value (string is empty) - this string still retains its place in the list.
The first character in an ordered list is a delimiter. Each parameter begins after this delimiter and continues until another delimiter is found or the string is terminated, and so on.
The following are examples of an ordered list.
;name;John Doe;address;301 Main Street;city;San Francisco;phone;415-555-1212
name#cityIn this example the first key is name with the value being null. The second key is city with the value also null.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psList | Points to an ordered list of keys and values. |
ilRQ ilSRqUDataDelAll | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqUDataDelAll() function requests deletion of all user data attached to the call associated with the specified IVR port.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqUDataDelKD | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psKey | |||
) |
The ilSRqUDataDelKD() function requests deletion of the key-value pair specified by the key.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psKey | The key of the key-value pair that is to be deleted. The entire KVPair, including key and value, will be deleted from the call data. |
ilRQ ilSRqUDataGetAll | ( | ilRQ | RqID, | |
ilPORT | Port | |||
) |
The ilSRqUDataGetAll() function requests the value of all the key-value pairs for this call. Use the GetReply() function to get the value in your driver's reply buffer.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. |
ilRQ ilSRqUDataGetKD | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psKey | |||
) |
The ilSRqUDataGetKD() function requests the value of the key-value pair specified by the key. Note: Calls to get the key-value data (ilSRqUDataGetKD) require the exact (including case) key string that was used when the key-value was attached. Use the GetReply() function to get the value in your driver's reply buffer.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psKey | The key for the key-data pair. |
ilRQ ilSRqVersion | ( | ilRQ | RqID, | |
ilPORT | Port, | |||
CPSTR | psService | |||
) |
The ilSRqVersion() function requests the version number of the IVR Library or of a named service.
RqID | In general you should pass in ilRQ_ANY. If you pass in your own ilRQ value, your code must manage any contention possibilities. | |
Port | The IVR port where the call resides. | |
psService | A pointer to the name of the service. If the value is NULL or " ", the IVR library version is returned. If the value is the name of the IVR resource, the driver version is returned. For any other value, the I Server version is returned. |
ilRET ilWatch | ( | long | w | ) |
The ilWatch() function allows I-Library to
1. check on IServer socket readiness
2. check on Config Server readiness
3. move agents to configured states if LegacyMode=false
4. satisfy KeepAlive requirements
The long value specifies the minimum time to wait before returning.