After tapi32.dll opens a line device, it can make outbound calls on the line. A successful Open of a line device does not automatically guarantee that the TSPI_lineMakeCall request will succeed. Depending on the environment, a service provider may have limits on the number of concurrent calls on a line. The service provider may return a failure in response to TSPI_lineMakeCall if it is unable to allocate line resources necessary for a call appearance for the desired new outbound call. If other calls exist on the line, these calls would have to be on hold and would typically be forced to remain on hold until tapi32.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, because 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 tapi32.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, or an address becoming in use or going idle. The tapi32.dll will call TSPI_lineClose on the line device handle after all client applications have called lineClose on the API.
In certain environments, it may be desirable for a line device that is currently open to be forcibly reclaimed (possibly by the use of a small control application) from tapi32.dll 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. If a service provider encounters such a situation, it can issue a LINE_CLOSE message to tapi32.dll for the open line device that was forcibly closed.