JTAPI简介
什么是JTAPI
谈JTAPI,首先得了解什么是CTI。CTI(Computer Telephony Integration)就是计算机电话集成技术,它是目前国内正火的呼叫中心热潮的核心技术。JTAPI主要是为CTI技术服务。JTAPI(Java Telephone API)是一套专门为JAVA语言提供的与电话应用相关的程序接口,它定义了一组跨平台、跨厂家的电话应用程序对象模型。使用JTAPI提供的对象,我们就可以简单方便地用软件实现各种CTI技术。
由于JTAPI的诞生是由若干知名计算机、通讯厂商(Sun, Lucent Technologies, Nortel, Novell, Intel, and IBM)联合努力的结果,利用JTAPI编写的CTI程序甚至可以操作若干种电话交换机,这些交换机包括Lucnet、Nortel等等厂家。
为什么要使用JTAPI
JTAPI的主要特点归纳如下:
简化CTI程序的编写。
提供一套可以扩展的框架结构,可以平滑的使Client/Server结构的程序过渡到Browser/Server结构。
对已有的传统CTI程序接口,如TSAPI、SunXTL、以及TAPI进行WEB方向的扩展。
可以运行于任何JAVA可以运行的平台。
利用以上优点,采用JTAPI技术搭建的呼叫中心就可以平滑的过渡到Internet时代。
JTAPI的应用场合
目前JTAPI主要应用于呼叫中心领域,利用它还可以编写包括自动拨号、语音邮件、传真接收等各类软件。特别在互联网呼叫中心领域更是大有用武之地。比如Lucent 推出的ICC(Internet Call Center)就是一个典型的例子。整个ICC系统从技术上划分,可以分为3部分:管理、CTI、工作流。三个部分都用JAVA开发,其中CTI部分使用JTAPI1.3。利用JAVA的优势,ICC可以运行在NT、SALORIS等各种平台之上。
目前的版本
目前JTAPI的应用案例大多采用JTAPI ver 1.2版本,不过JTAPI ver 1.3也已经逐渐普及。下文将以JTAPI1.2为例进行讲解。
JTAPI的结构
对象包结构:JTAPI1.2由18个JAVA对象包(PACKAGE)组成,每一个包分别提供CTI应用的一个方面的功能。比如呼叫控制包(javax.telephony.callcontrol)、用户数据包(javax.telephony.privatedata)、核心包(javax.telephony)、呼叫中心专用包(javax.telephony.callcenter)等等。这样做的目的是可以把CTI应用也功能化、模块化,使整个CTI应用的子功能模块相对独立。
JTAPI电话模型树
程序员在掌握利用JTAPI编写CTI程序之前,首先得搞清JTAPI最基本的电话模型,这个模型是搭建CTI程序的基础,它可以以树状结构表现出来(如下图)
构成电话模型图的元素都是JTAPI核心包的主要对象,每个对象都代表了CTI领域中的一个物理或逻辑的实体。由图可知,这些实体之间有着相互的联系。利用每个实体的功能以及实体之间的关系,程序员就可以组合出各种各样的CTI程序。下面简单介绍电话模型中涉及的最主要的几个实体。
Provider Object:
Provider是对和CTI技术相关的硬件设备的一个抽象,它可能代表工控机上插的一块板块,也可能代表一台复杂的DEFINITY ECS。Provider把具体的硬件设备和程序员隔离开来,使程序员不必懂得复杂的硬件设备。这有些类似于数据库编程时遇到的ODBC概念,数据库程序员不必知道后台的数据库是ORACLE还是简单的ACCESS。程序员只需知道经过初始化,就能得到一个可以访问后台资源的实例即可。利用Provider ,可以轻易的实现CTI程序和硬件的无关性。程序不变,后台的PBX可以从Lucent Technologies的产品换成Nortel的产品。
Call Object:
CALL是对一次呼叫过程进行抽象,它的属性记录了这个呼叫目前的信息,调用Call的方法,可以引导这个呼叫的发展。
Address Object
简单的说,Address Object是对电话号码的抽象。它是对一部逻辑电话的描述,和它对应的不是一部物理电话,所以一个Address Object可能对应了多个物理话机。
Terminal Object:
Terminal Object描述了一部具体的物理话机和其相关的属性。每个Terminal Object至少存在一个Address Object与之对应。
Connection Object:
一个Connection Object是对Call Object和Address Object之间的通讯连接的抽象。通过对Connection Object的属性查看,可以分析出当前Call Object与Address Object的连接状态信息。Connection Object的状态有IDLE、ACTIVE、RINGING、DROPPED等等。
软电话功能调用和电话消息处理
利用JTAPI进行CTI应用程序的编写,工作上可以分为两个部分。首先是客户端主动调用后台PBX资源,实现软电话功能的调用;其次是客户端对后台资源传来的大量电话消息进行分析,实现消息分发与分拣。
利用Call Object能够进行各种软电话调用的工作,如call.connect()可以实现拨打一个电话;call. conference()可以实现与第三方会议一个电话;call.transfer()可以实现把接起的电话进行转接到第三方的操作;利用诸如以上所述的种种方法,可以任意搭建出复杂功能的CTI应用。
JTAPI利用OBSERVER的概念来进行各种消息处理。OBSERVER直译过来是观察者的意思,顾名思义,OBSERVER就是对每个呼叫对象进行“观察”工作。它的工作流程是“绑定到专门对象-->观察专门对象-->获取专门对象的信息-->分析并汇报专门对象的信息”。
针对前文JTAPI对象树提到的各种对象,都有专门的OBSERVER为之“服务”。比如对Provider,有ProviderObserver,它可以随时汇报目前被监控的Provider的状态,如Provider.OUT_OF_SERVCE, Provider.IN_SERVICE等等;针对Terminal,有TerminalObserver,它能汇报出一个Terminal的所有事件以及相关信息,CTI应用中非常重要的数据主叫号码、同步数据等就可以在这里得到。类似的,还有AddressObserver、CallObserver等多种Observer。所有的Observer都是javax.telephony.observer的子类。
- 大小: 19.8 KB
分享到:
相关推荐
avaya jtapi sdk 6.3。jtapi-sdk-win32-4.1-323.zip 安装
Java 电话 API (JTAPI) 规范 版本 1.4(最终版本) 这是类似java帮助文档的jtapi的帮助文档,html文件,可用浏览器打开
故名思义JTAPI1.3.1.jar
jtapi-1_4-fr2-spec.zip jtapi-1_4帮助文档 英文html
使用Cisco Unified JTAPI Test Tool 的视频
jtapi-1_4说明文档,解压缩后可查看,HTML格式。
jtapi包,欢迎大家使用,这是在开发语言系统时不可少的一个JAVA语言包
对JTAPI的介绍,开发Cisco接口使用.英文.
AE Services TSAPI, JTAPI, and CVLAN Client and SDK Installation Guide Release 4.2
jtapi源代码
jtapi源码,提供下载
jtapi 文档 说明
Generic JTAPI is implementation of API for telephony
JTAPI.jar关于Java的电话接口,方便操作使用。希望大家多多支持。共同进步共同使用
针对使用jatpi开发cisco使用的测试工具.
gnugk Gatekeeper的Java JTAPI实现
XTapi项目旨在有朝一日成为JTAPI的参考实现。 目前,并不打算涵盖每个JTAPI软件包,仅涉及Core和Media软件包。
Asterisk JTAPI为Java应用程序启用Asterisk PBX的第三方调用控制。 它针对具有中央服务器应用程序(例如呼叫中心)的办公室安装。
通用JTAPI和Jain Jcc和Jcat是Java电话规范快速发展的框架。 实现。 它通过将“服务提供商”的编码要求降低一个数量级并提供通用框架来实现。