设备控制(电话 API)
最终用户或服务器应用程序级别的设备控制需要一组相对较小的基本信息。 服务提供商抽象层执行详细的设备控制。 服务提供商通过 TAPI 向应用程序报告所需的设备信息。
关键设备类别包括:
- 网络:通信传输层。 从应用程序的角度来看,有关网络的信息通常嵌入到地址类型中,例如LINEADDRESSTYPE_PHONENUMBER。
- 行:与网络的连接。 此概念在 TAPI 2.2(TAPI/C)中大量使用。
- 频道:行的细分。 通常不需要了解通道,因为服务提供商会配置它们作为地址的显示方式。
- 地址:网络上的网络位置。 每行或通道都有一个或多个关联的地址。 该地址是 TAPI 3.1(TAPI/COM)和 TAPI 2.2(TAPI/C)中的关键概念。
- 终端:特定地址和媒体类型的源或呈现器。
服务提供商向 TAPI 报告设备特征,以响应应用程序查询。 服务提供商还会启动有关设备状态更改的报告。 然后,根据初始化期间请求的通知将这些更改报告给应用程序。
基本设备特征包括:
此外,服务提供商提供有关给定地址容量的信息来执行各种会话作。
如果服务提供商支持这些特征,则补充特征可能与某些设备相关联。 TAPI 2.x 应用程序通过使用 lineGetDevCaps 和 lineGetAddressCaps 函数来发现功能。 TAPI 3.x 应用程序使用此 ITAddressCapabilities 接口实现此目的。
TAPI 2.x 提供了一组特殊的补充作,服务提供商可以实施这些作以用于手机设备。 请参阅 电话设备。
扩展功能特定于提供程序,不由 Microsoft 电话 API 直接涵盖。 请参阅 扩展线路函数、扩展电话函数或 Provider-Specific 接口。
下面是 TAPI作的摘要,这些作查询服务提供程序的设备特征,并提供有关当前状态的数据。
TAPI 2.x 函数 | 描述 |
---|---|
lineGetDevCaps | 查询指定的线路设备以确定关联地址的电话功能。 |
lineGetAddressCaps | 查询指定的线路设备以确定特定地址的电话功能。 |
lineGetDevConfig | 返回存储设备当前配置的“不透明”数据结构。 |
lineSetDevConfig | 还原设备配置。 |
lineConfigDialog | 显示一个对话框,允许用户配置与设备相关的参数。 |
lineGetID | 检索可在进一步 TAPI 函数调用或使用不同的 API 中使用的稳定设备标识符。 |
lineGetLineDevStatus | 查询设备以获取当前状态,例如活动调用数。 |
lineSetLineDevStatus | 设置设备状态,例如将设备设置为不在服务中。 |
lineGetIcon | 检索特定于提供程序的图标以向用户显示。 |
lineNegotiateExtVersion | 允许应用程序协商与指定行设备一起使用的扩展版本。 |
lineDevSpecific | 授予对设备特定功能的访问权限。 |
lineDevSpecificFeature | 将特定于设备的功能发送到服务提供商。 |
TAPI 3.x 接口或方法 | 描述 |
---|---|
ITAddressCapabilities | 获取有关地址功能的信息。 |
ITAMMediaFormat | 设置并获取 DirectShow™ 媒体格式。 |
ITBasicAudioTerminal | 设置并获取标准音频终端特征,例如音量。 |
ITMediaSupport | 获取有关地址的媒体支持功能的信息。 |
ITTerminal | 终端对象的基接口。 获取支持终端类和媒体等信息。 |
ITTerminalSupport | 获取有关可用终端的信息并创建其他终端。 |
Provider-Specific 接口 | 依赖于服务提供商。 |