As part of a draft inter operability, we are currently developing a
TSP for TAPI, for our communication system (VOIP).
The objective is to monitor a VOIP phone.
Unfortunately, TSP produced can not properly handle incoming calls.
We started the project SIPTAPI developed by Klaus Darilion (enum.at).
it is designed to work with SIP, but do not manage incoming calls.
With TSP, the following calls made:
message LINE_CALLSTATE - LINECALLSTATE_OFFERING
message LINE_CALLSTATE - LINECALLSTATE_ACCEPTED
With the TAPI application when an incoming call, the application
receives an event "TE_CALLNOTIFICATION", and in the treatment of this
// CET_CALLNOTIFICATION means that the application is being notified
// of a new call.
// Note that we do not answer to call at this point. The application
// should wait for a CS_OFFERING CallState message before answering
// the call.
ITCallNotificationEvent * pNotify;
hr = pEvent->QueryInterface( IID_ITCallNotificationEvent, (void
if (S_OK == hr)
ITCallInfo * pCall;
// get the call
hr = pNotify->get_Call( &pCall );
// release the event object
// check to see if we own the call
hr = pCall->get_Privilege( &cp );
if ( CP_OWNER != cp ) // cp is always CP_MONITOR !!!
... return with Fail status...
Has anyone already made a TSP that will handle incoming calls? Could