DSC Tech Library
CTI enable your existing applications by placing phone functions
and features within your existing desktop programs, whether they are designed for
the Web or Windows. Or simply use our stand-alone Softphone in conjunction with these
existing applications.
The Database Softphone connects to our PACER (digital) and WIZARD (analog) Series of phone systems.
PLUS extensive reports, statistics, and graphs are included
with this Softphone to help you effectively manage the use of your phone system.
Our Universal Softphone functions on your Local Area Network (LAN) or over the Internet, enabling your employees to
work either in your corporate offices, satellite remote offices or from the convenience of home.
CTI Universal Softphone API Library
Using the API
The RspApi32
routines communicate directly with the dialer.
They can be found in RspApi32.dll (RspApi32.lib), which
should be linked into any application that is going to access the routines.
Since this
communication is occurring over the network, these routines are designed for
asynchronous communication – acknowledgements and error information must be
trapped in a message-gathering function.
Since the success/failure of an operation is unknown until the acknowledgement
is received, programs should be written in such a way as to track the “state”
of things – for example, although a call to RSPLogin() will return
immediately, until a RSP_SUCCESS message is received for a “login
response type” (RSP_RT_LOGIN), the program should not consider itself
logged in. For more on these messages,
see RSPDecode(), below.
To trap
messages, set up a standard Windows event loop:
In the class
definition (header) file:
afx_msg
LRESULT OnNMQMessage(WPARAM,LPARAM);
In the implementation
(source) file:
ON_MESSAGE(WM_NMQ_MESSAGE,OnNMQMessage)
and
LRESULT
<CclassName>::OnNMQMessage(WPARAM wParam, LPARAM lParam)
{
.
.
.
return 0;
}
(For a breakdown
of messages, see RSPDecode(), below.)
And finally,
call RSPSetAsyncSelect() with the Window handle:
void
RSPSetAsyncSelect(m_hWnd);
(Note: The programmer may use RSPMessage()
(see below) for synchronous communication, but this is not recommended.)
Table Of Contents
|