|
Device Classes in TAPI
Device classes simplify development by letting programmers treat devices that
have similar properties in a similar manner. Real-world devices such as
telephones, modems, and telephone lines belong to device classes. Applications access
devices belonging to a given class using the same functions.
An application never needs to know which service provider controls which
device.
Device classes help make TAPI extensible by providing a framework from which
to classify and support new equipment.
Application developers should keep in mind the existence of other applications
that share telephony services, as explained in Multiple-Application Programming.
There are two device classes: line device and phone device.
It also defines two sets of functions and messages, one used for line devices
and one used for phone devices.
The line device class is a device-independent representation of a physical
line device, such as a modem. It can contain one or more identical communications
channels (used for signaling and/or information) between the application and
the switch or network. Because channels belonging to a single line have identical
capabilities, they are interchangeable. In many cases (as with POTS), a
service provider will model a line as having only one channel. Other technologies,
like ISDN, offer more channels, and the service provider should treat them
accordingly.
A service provider may allow an application to request that multiple channels
be combined in a single call (as, for example, when ISDN "B" channels are
combined into "H" channels) to give the call wider bandwidth, using a technique
often referred to as inverse multiplexing. This added bandwidth enables the call to
transmit more information at the same time. For most current telephonic
purposes, inverse multiplexing is not necessary.
In POTS, it is normally necessary to assign one channel per line, but with
ISDN, a line's channels are dynamically allocated when an application makes or
answers a call. Because these channels have identical capabilities and are
interchangeable, the application need not identify which channel is to be used in a
given function call. Channels are owned and assigned by the service provider for
the line device in a way that is transparent to applications. This channel
management is a method of abstraction that eliminates the need to introduce the
naming of channels by TAPI.
Just as a line device class is an abstraction of a physical line device, the
phone device class represents a device-independent abstraction of a telephone
set. TAPI treats line and phone devices as devices that are independent of each
other. In other words, you can use a phone (device) without using an associated
line, and you can use a line (device) without using a phone.
Service providers that fully implement this independence can offer uses for
these devices not defined by traditional telephony protocols. For example, a
person can use the handset of the desktop's phone as a waveform audio device for
voice recording or playback, perhaps without the switch's knowledge that the
phone is in use. In such an implementation, lifting the local phone handset need
not automatically send an offhook signal to the switch.
This independence also allows an application to ring the local telephone in a
manner that is independent of inbound calls. The capabilities of service
providers is limited by the capabilities of the hardware and software used to
interconnect the switch, the phone, and the computer. For detailed information about
specific device classes, see Device Classes.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|