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的下次请求, 同步返回。

使用TAPI构造电话语音应用程序的方法

  (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函数关闭线路,使其可以被其它应用程。

相关百科