裝置控制 (電話語音 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 Telephony API 直接涵蓋。 請參閱 擴充線路函式、 擴充電話電話函式或 提供者特定介面。
以下是 TAPI 作業的摘要,這些作業會查詢裝置特性上的服務提供者,並提供目前狀態的資料。
TAPI 2.x 函式 | Description |
---|---|
lineGetDevCaps | 查詢指定的線路裝置,以判斷相關聯位址的電話語音功能。 |
lineGetAddressCaps | 查詢指定的線路裝置,以判斷特定位址的電話語音功能。 |
lineGetDevConfig | 傳回儲存裝置目前設定的「不透明」資料結構。 |
lineSetDevConfig | 還原裝置設定。 |
lineConfigDialog | 顯示對話方塊,讓使用者能夠設定與裝置相關的參數。 |
lineGetID | 擷取穩定裝置識別碼,此識別碼可用於進一步的 TAPI 函式呼叫,或使用不同的 API。 |
lineGetLineDevStatus | 查詢裝置是否有目前狀態,例如作用中的呼叫數目。 |
lineSetLineDevStatus | 設定裝置狀態,例如將裝置設定為不在服務中。 |
lineGetIcon | 擷取要向使用者顯示的提供者特定圖示。 |
lineNegotiateExtVersion | 允許應用程式交涉擴充功能版本,以搭配指定的行裝置使用。 |
lineDevSpecific | 提供裝置特定功能的存取權。 |
lineDevSpecificFeature | 將裝置特定功能傳送給服務提供者。 |
TAPI 3.x 介面或方法 | Description |
---|---|
ITAddressCapabilities | 取得位址功能的相關資訊。 |
ITAMMediaFormat | 設定並取得 DirectShow™ 媒體格式。 |
ITBasicAudioTerminal | 設定並取得標準音頻終端機特性,例如音量。 |
ITMediaSupport | 取得位址媒體支援功能的相關資訊。 |
ITTerminal | 終端機物件的基底介面。 取得支援終端機類別和媒體等資訊。 |
ITTerminalSupport | 取得可用終端機的相關資訊,並建立其他終端機。 |
提供者特定的介面 | 服務提供者相依。 |