2.4.1.12 Resource Limitations

Whenever the TAPI DLL has opened a line device it can make outbound calls on the line. Note that a successful open of a line device does not automatically guarantee the TSPI_lineMakeCall request will succeed. The actual synchronization point for the TAPI DLL being able to allocate the line resources necessary to make an outbound call is whether or not the Service Provider can successfully allocate an available call appearance for the new call. If other calls exists on the line, then these calls would have to be on hold and would typically be forced to remain on hold until the TAPI DLL either places the new call on hold or drops the call. For Service Providers that model lines as a pool of available channels, these restrictions may not apply, since the Service Provider may have sufficient channel resources to make a new outbound call even when other channels in the pool are in use.

Whenever the TAPI DLL has opened a line device it is notified about certain general status and events occurring on the line device or its addresses. These include the line being taken out of service, the line going back in service, the line being under maintenance, an address becoming in use or going idle.

After the TAPI DLL is finished using a line device, it should close the device by calling TSPI_lineClose on the line device handle.

Note that in certain environments, it may be desirable for a line device that is currently open to be forcibly reclaimed (possibly by the use of some control applet) from the TAPI DLL's control. This might be required, for example, if the Service Provider detects a situation where the line must be taken out of service or a PBX administrator decides to preempt use of a line. When this occurs, the TAPI DLL will receive a LINE_CLOSE message for the open line device that was forcibly closed.