Andreas Marschall [exMVP TAPI] replied to fdecker
18-Nov-09 01:36 AM

Fred,
on TSPI level call handles can only be generated in two ways:
1st by TAPISRV, e.g. via TSPI_lineMakeCall(), TSPI_linePickup(),
TSPI_lineUnpark();
2nd by TSP via LINE_NEWCALL.
In the 1st case TAPISRV provides the TSP with HTAPICALL htCall and expects
the TSP to fill in LPHDRVCALL lphdCall;
in the latter case TSP provides HDRVCALL hdCall and expects TAPISRV to fill
in LPHTAPICALL lphtCall.
So *all* calls that are not created via a TAPI / TSPI functions are created
via LINE_NEWCALL.
And there is no LINE_NEWCALL for calls that are generated via TAPI / TSPI
functions.
An inbound call is never generated by TAPISRV but always by the TSP via
LINE_NEWCALL.
How dod you dial?
- Via TSPI_lineMakeCall(): no LINE_NEWCALL
- Manually at the physical phone: LINE_NEWCALL
LINE_NEWCALL is a TSPI message and is not presented to TAPI apps.
TAPI2 app get a LINE_APPNEWCALL message instead.
The TSP should report pre-existing calls (existing before TSPI_lineOpen()
took place) via LINE_NEWCALL (if it can detect them).
LINE_NEWCALL is mandatory for every call to generated by the TSP.
Without LINE_NEWCALL there can be no calls (except the ones created by
TAPISRV via TSPI_lineMakeCall() etc.).
Each LINE_NEWCALL should be immediately followed by the initital
LINE_CALLSTATE message for this call.
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++ 2003-2008
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no
rights.