- A specific line device is selected by means of its line device ID. The lineOpen request will open the specified line device, possibly resulting in a TSPI_lineOpen call to the Service Provider (e.g., if the line was not already open). Applications interested in handling inbound calls will typically use specific line devices.
- The app can specify that it wants to use any line device that has certain properties. The indication LINE_MAPPER is used instead of a specific line device ID. The properties are specified by means of the call parameters that the application intends to use. The TAPI DLL will satisfy this Open request with any available line device that supports the specified call parameters. This, of course, may fail. If successful, the caller can determine the line device ID by calling lineGetID on the handle to the open line device returned by lineOpen.
To support LINE_MAPPER selection of lines, the Service Provider provides the function TSPI_lineConditionalMediaDetection. This function indivisibly does two things: (1) it test for the ability of a line to support the requested call parameters and media mode, and (2) if successful, it commits the Service Provider to monitoring for the new media mode. The TAPI DLL uses this function for different line devices to hunt for a line that meets the application's Open requirements.
TSPI_lineConditionalMediaDetection
Commits the Service Provider to the new media mode detection if it has the ability to support both this and the indicated call parameters.