An application can open one or more lines for various purposes. For example, it can open one line for monitoring calls and another line for making outgoing calls. If several lines are available, the application can choose to open any or all of them. To decide which of several line devices to use, determine the capabilities of each one with lineGetDevCaps. This function tells whether the line supports the functionality needed by the calls to be made or received, such as their required media mode. This function is also used to get the name of the line.
Because opening a line merely means obtaining a handle to the line (hLine) with a given privilege, an application can obtain more than one handle to the same line. In other words, an application can open the same line many times, also called opening different instances of the line. For example, a line may simultaneously be opened once for monitoring calls, a second time for accepting incoming calls as their owner, and a third time for making outgoing calls.
After choosing a suitable line (or lines), the application uses lineOpen, either specifying a certain line or using LINEMAPPER, as explained in Opening Lines.