Please enable JavaScript to view this site.

CopiaFacts™ Reference Manual

Navigation: Customizing CopiaFacts

Using Dynamic Link Libraries

Scroll Prev Top Next More

The powerful features of CopiaFacts can be further extended by the use of calls to dynamic link libraries which you can write to implement custom features. Such DLLs can be written in any language which can build DLL files matching the calling conventions below.

There are two types DLLs that can be called by the COPIAFACTS program. The first type is a general-purpose DLL which can be called from any infobox. You can have up to eight of these DLLs and you can define your own entry-point names, although the entry-point arguments are fixed. Among the uses for such DLLs are:

•making custom database look-up or update calls

•counting or recording specific IVR actions

•logging incoming IVR calls

•logging outgoing e-mail or faxes (using the infobox post-process type)

The second type of DLL is a 'call control DLL' which is invoked before CopiaFacts answers a call. This is used on ISDN and FoIP systems to validate an incoming call based on DNIS and/or ANI, so that you can direct CopiaFacts to decline to accept an offered call (normally before the calling party is charged for the call). One call control DLL can be defined, with pre-defined entry-points. You can also include additional entry points in such a DLL and designate it as the active DLL for general-purpose use.

Dynamic link libraries which you write must be capable of being called successfully from multiple threads at the same time. They must currently be true Win32 DLLs, not ActiveX components nor COM objects; however a Win32 DLL interface is available to call a customer-written .Net class library as a Call Control DLL, and an interface can also be provided on request for other customer-written .Net class libraries to be used as a general-purpose DLL.

Details of the use of dynamic link libraries appear in the following sections:

General-Purpose DLL calls
Access to CopiaFacts Variables
The Call Control DLL
  Provided DNIS Call Control DLL
  Sample Call Control DLLs
SMTP Gateway Custom Template DLL
Calling Conventions
DLL startup and Termination
Alternate Parameter Encoding