`
littcai
  • 浏览: 248056 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论
阅读更多

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

    AVAYA JTAPI SDK 6.3 是一款专为Avaya通信系统开发的应用程序接口,它允许开发者通过Java编程语言来实现对Avaya通信设备和系统的控制与管理。JTAPI,全称为Java Telephony Application Programming Interface,是...

    JTAPI操作手册2022

    Java 电话API(JTAPI)是Java平台上的一个标准接口,允许开发者创建与电话系统交互的应用程序。JTAPI规范版本1.4是该接口的最终版本,为开发人员提供了全面的指南,以便他们能够利用Java语言的优势来构建通信解决...

    jtapi-1_4帮助文档jtapi-1_4-fr2-spec.zip

    JTAPI(Java Telephony Application Programming Interface)是Java平台上的一个标准接口,用于开发电话应用软件。这个"jtapi-1_4帮助文档jtapi-1_4-fr2-spec.zip"是一个压缩包,其中包含了JTAPI 1.4版本的详细规格...

    jtapi-1_4说明

    JTAPI(Java Telephony Application Programming Interface)是Java平台上的一个标准接口,允许开发者创建与电话系统交互的应用程序。这个"jtapi-1_4说明"文档可能是JTAPI 1.4版本的官方或非官方指南,包含了如何...

    JTAPI测试工具使用说明视频

    JTAPI(Java Telephony Application Programming Interface)是Cisco公司推出的一种编程接口,允许开发者通过Java语言与Cisco统一通信系统进行交互,实现高级电话控制功能。这个"JTAPI测试工具使用说明视频"显然是一...

    JTAPI Developer Guide for Cisco CallManager 3.1

    《JTAPI开发者指南在Cisco CallManager 3.1中的应用》 JTAPI(Java Telephony API)是一种由Java Community Process(JCP)定义的标准接口,它允许Java应用程序控制电话设备和电话网络,如PBX(Private Branch ...

    jtapi包,cti技术

    JTAPI(Java Telephony Application Programming Interface)包是Java平台上的一个接口集合,它为开发者提供了一种标准的方式来访问电话系统的功能,从而实现CTI(Computer Telephony Integration)应用。...

    AE Services TSAPI, JTAPI, and CVLAN Client and SDK Installation Guide Release 4.2 .pdf

    ### AE Services TSAPI, JTAPI, and CVLAN Client and SDK Installation Guide Release 4.2 #### 概述 Avaya MultiVantage® Application Enablement Services(AES)的TSAPI、JTAPI以及CVLAN客户端和软件开发工具...

    jtapi源码

    JTAPI(Java Telephony Application Programming Interface)是Java平台上的一个通信编程接口,它允许开发者创建与电话系统交互的应用程序。JTAPI源码是实现这一功能的核心代码库,它提供了丰富的API,使得开发者...

    JTAPI测试工具

    JTAPI(Java Telephony Application Programming Interface)是Cisco系统推出的一种编程接口,允许开发者使用Java语言创建电话应用。JTAPI测试工具则是专为检验基于JTAPI的Cisco通信系统而设计的开发辅助工具。这个...

    JTAPI1.3.1.jar

    故名思义JTAPI1.3.1.jar

    JTAPI.rar_jtapi_jtapi.jar

    JTAPI,全称为Java Telephony Application Programming Interface,是Java平台上的一个标准接口,它允许开发者创建应用程序来控制和支持电话通信功能。这个接口是由Cisco Systems公司最初开发并推广的,后来被纳入到...

    jtapi文档 html

    JTAPI(Java Telephony Application Programming Interface)是一种Java接口,它为CTI(Computer Telephony Integration,计算机电话集成)应用程序提供了一种标准的方式来控制电话网络。这个接口允许开发者编写能够...

    jtapi源代码

    JTAPI(Java Telephony Application Programming Interface)是Java平台上的一个接口集,主要用于开发与电话系统交互的应用程序。它由Sun Microsystems开发,目的是为了让开发者能够利用Java语言轻松地创建电信应用...

    jtapi.zip_jtapi

    JTAPI,全称为Java Telephony Application Programming Interface,是Java平台上的一个标准接口,用于开发电话通信应用程序。这个接口提供了一种统一的方式,让开发者能够控制和集成电话系统,包括拨打电话、接听、...

    JTAPI GNU gatekeeper-开源

    **JTAPI GNU Gatekeeper - 开源Java实现** JTAPI(Java Telephony Application Programming Interface)是Java平台上的一个标准接口,允许开发人员创建电话应用软件,它提供了与电话系统交互的能力,包括拨号、接听...

    XTAPI JTapi Implementation-开源

    XTapi项目旨在有朝一日成为JTAPI的参考实现。 目前,并不打算涵盖每个JTAPI软件包,仅涉及Core和Media软件包。

    Asterisk JTAPI-开源

    Asterisk JTAPI为Java应用程序启用Asterisk PBX的第三方调用控制。 它针对具有中央服务器应用程序(例如呼叫中心)的办公室安装。

    Generic JTAPI and Jain Jcc and Jcat-开源

    通用JTAPI和Jain Jcc和Jcat是Java电话规范快速发展的框架。 实现。 它通过将“服务提供商”的编码要求降低一个数量级并提供通用框架来实现。

Global site tag (gtag.js) - Google Analytics