As Asynchronous Transfer Mode (ATM) networking emerges into the mainstream of computing, and support for ATM has been added to other parts of the Microsoft® Windows® operating system, TAPI also supports key attributes of establishing calls on ATM facilities. The most important of these from an application perspective is the ability to request, negotiate, renegotiate, and receive indications of Quality of Service (QOS) parameters on incoming and outgoing calls.
QOS information in TAPI is exchanged between applications and service providers in FLOWSPEC structures that are defined in Windows Sockets 2.0.
Applications request QOS on outgoing calls by setting values in the flowspec fields in the LINECALLPARAMS structure. The service provider will endeavor to provide the specified QOS, and fail the call if it cannot; the application can then adjust its parameters and try the call again. After a call is established, an application can use the lineSetCallQualityOfService function to request a change in the QOS; a new bit, LINECALLFEATURE_SETQOS, lets applications determine when this function can be called.
The QOS applicable to incoming or active calls can be obtained by using lineGetCallInfo and examining the flowspec fields. A bit in the LINE_CALLINFO message, LINECALLINFOSTATE_QOS, lets applications know when QOS information for a call has been updated.
Support for QOS is not restricted to ATM transports; any service provider can implement QOS features.