What is TAPI?
The so called TAPI is an abbreviation for Telephone Application Programming Interface or Telephone API which was developed together by Intel and Microsoft.
It allows applications to access telephone lines, to listen to incoming calls and to make telephone calls from the computer.
The greatest advantage of TAPI is, that it abstracts from the particular hardware of the modem, telephone, ISDN card or PBX (Private Branch eXchange) you are using.
To be able to use TAPI you must have a TAPI driver installed, which is compatible with your telephone device.
TAPI provides a complete set of commands and methods which can be used to access the particular telephone device.
And not only this. The current version 3.0 of TAPI also supports IP telephony, standards-based H.323 conferencing and IP multicast conferencing.
Why an Omnis external for TAPI
Like a developer who's name I unfortunately don't remember, said: "TAPI is a great example, how a simple thing can be made incredibly complicated." This is true especially seen from a developer's point of view.
Even in C/C++ it's not quite easy to deal with TAPI. But in Omnis Studio and much more Omnis 7.x it's more or less impossible to get TAPI working.
The reason must be seen in the way of interface TAPI provides to the user. It is a huge set of Functions and methods which are encapsulated within a Windows DLL called tapi32.dll.
Although most DLLs and their functions (the easy ones) can be called from Omnis, the TAPI DLL is an exception, because it uses input/output parameters and data structures which can't be accessed from within Omnis because they use C-type variable structures or need callback functions in the application.
So we decided to provide Omnis developers easy and uncomplicated access to the telephony API by building OmTAPI, a classic style Omnis External which can be used both with Omnis Classic and Omnis Studio.
It’s a wrapper for all that complicated stuff within TAPI and gives you a set of 14 external commands, which should be sufficient, to do all the common stuff, your customers probably ask you to implement in your application.
What OmTAPI does
In short terms, the external OmTAPI commands allow you to:
- Initialize the TAPI interface
- Get a list of all TAPI devices installed on a particular system
- Retrieve information about each device/line
- Select a device/line
- Configure a device/line
- Configure the system dialing parameters
- Make a call on the device/line selected
- Monitor the TAPI status messages
- Listen to incoming calls on the selected device/line
- Retrieve the telephone number of the caller, to identify him by a database search
(if the device/line supports this feature and if the caller number is transferred to you)
|