TAPI協定

TAPI協定

tapi是電話套用編程接口(telephone application programming interface)的縮寫。它可以使用戶在電腦上通過電話或視頻電話與電話另一端的人進行交談。開發人員使用tapi編寫的應用程式能有效的利用電話業務供應商的服務,既可以通過一個模擬modem對其進行訪問,也可以訪問專業的用戶交換機(pbx)所提供的高級功能。

協定作用,協定術語,使用方法,

協定作用

電腦上安裝了tapi,並且你安裝了正確的應用程式和硬體設備,那么你就可以實現:  1.可以看到與你談話的人  2.點擊某人的照片即可實現通話  3.可以在你傳送的e-mail中添加語音檔案,也可收聽你接收的e-mail中的語音檔案。  4.使用類似圖形用戶界面(gui)來建立一個會議電話,然後準時參加會議。  5.傳送和接收傳真  6.可以編寫程式控制電腦自動接聽某個號碼的來電  7.攜帶型無線手機

協定術語

1.tapi初始化與關閉  lineinitializeex 初始化一個tapi套用, 同步返回。  lineshutdown 關閉一個tapi套用, 同步返回。  2.線路版本協商  linenegotiateapiversion 套用和tapi協商一個可以使用的tapi版本, 同步返回。  3.線路設備狀態與能力  linegetdevcaps 得到指定線路設備的實際參數能力, 同步返回。  linegetdevconfig 得到媒體流設備的配置, 同步返回。  linegetlinedevstatus 得到指定的已打開線路的當前狀態, 同步返回。  linesetdevconfig 設定指定媒體流設備的配置, 同步返回。  linesetstatusmessages 設定那些狀態改變訊息可以通知套用, 同步返回。  linegetstatusmessages 得到當前使用的狀態改變訊息設定, 同步返回。  linegetid 返回與指定的線路,地址或呼叫相關聯的設備id號, 同步返回。  linegeticon 得到顯示的icon, 同步返回。  lineconfigdialogedit 顯示一個對話框,用戶可以改變線路設備的設定, 同步返回。  4.地址  linegetaddresscaps 得到一個地址的電話參數, 同步返回。  linegetaddressstatus 得到指定地址的當前狀態, 同步返回。  linegetaddressid ?, 同步返回。  5.打開/關閉線路設備  lineopen 以指定的打開方式打開一條指定的線路設備, 同步返回。  lineclose 關閉一個已經打開了的線路設備, 同步返回。  6.地址格式  linetranslateaddress 在規範格式與撥號格式間轉化地址, 同步返回。  linesetcurrentlocation 設定當地電話區號??, 同步返回。  linesettolllist 操作響鈴列表, 同步返回。  linegettranslatecaps 返回地址的轉化能力, 同步返回。  7.呼叫狀態與設定  linegetcallinfo 返回確定的呼叫信息, 同步返回。  linegetcallstatus 返回指定呼叫的完整狀態信息, 同步返回。  linesetappspecific 設定一個呼叫信息結構的特定域, 同步返回。  8.建立呼叫  linemakecall 建立一個撥出呼叫話並返回句柄, 異步返回。  linedial 撥打(可撥號)地址, 異步返回。  9.來話應答  lineanswer 來話應答, 異步返回。  linesetnumrings 設定來話被默認應答前的響鈴次數, 同步返回。  linegetnumrings 返回來話被默認應答前的響鈴次數最小值, 同步返回。  10.呼叫特殊控制  linesetcallprivilege 設定應用程式的特權??, 同步返回。  11.掛斷呼叫  linedrop 掛斷或是取消呼叫, 異步返回。  linedeallocatecall 釋放指定呼叫句柄, 同步返回。  12.呼叫句柄處理  linehandoff , 同步返回。  linegetnewcalls 返回套用沒有線路設備或地址句柄的呼叫句柄列表, 同步返回。  linegetconfrelatedcalls 返回同一電話會議的呼叫句柄列表, 同步返回。  13.位置與國家的信息  linetranslatedialog 顯示一個對話框,用戶可以修改位置與國家信息, 同步返回。  linegetcountry 返回指定國家,撥號規則和其他信息, 同步返回。  linegetrequest 得到dll的下次請求, 同步返回。

使用方法

(1)初始化tapi。通過lineinitialize函式在應用程式中完成tapi的初始化。lineinitialize函式給出了應用程式的回調函式,用來通知應用程式的各種事件;lineinitialize函式返回1個tapi使用句柄,並指明tapi使用的通信機制。  (2)協調tapi的版本。應用程式使用linenegotiateapiversion函式把api使用版本通知給tapi,返回與tapi通信所能使用的版本,同時獲得線路設備支持的擴展功能。  (3)檢查設備。調用linegetdevcaps函式詢問設備的能力,返回1個linedevcaps類型的數據結構。設備的能力包括如下信息:tapi服務提供者、交換機信息、字元串格式、載波方式、數據傳輸率等。  (4)應用程式註冊。利用函式lineregisterrequestrecipient將應用程式進行註冊。  (5)撥號。啟動撥號按鈕,應用程式提取用戶的輸入數據,然後調用resolvenumber函式修改用戶的輸入數據,修改後的號碼用於撥號。  (6)啟用線路設備。調用函式lineopen打開1條線路設備,lineopen返回線路設備的句柄,用以完成以後對此設備的各種操作。當然在1個應用程式中可以打開多個線路。  (7)號碼轉換。調用函式linetranslateaddress將要撥的號碼轉變成可以直接在電話上撥的號碼。轉換好的號碼返回給linetranslateoutput結構,在轉換後,返回2個號碼:1個線上路設備上用於撥號,另1個顯示給用戶。  (8)呼叫。隨後使用函式linemakecall進行呼叫,linemakecall使用lineopen返回的線路句柄,返回1個帶有擁有者特權的當前呼叫的句柄,用於對本次呼叫進行以後的操作。若函式linemakecall返回呼叫有問題,由line_reply訊息提供呼叫的狀態。  (9)結束呼叫。通信完成後,調用linedrop函式結束呼叫,但其並不釋放呼叫的句柄,可以通過調用linedeallocatecall來釋放句柄。  (10)關閉線路。通過lineclose函式關閉線路,使其可以被其它套用程。

相關詞條

熱門詞條

聯絡我們