用于XMPP协议的SERVLET API和方法技术

技术编号:8688313 阅读:312 留言:0更新日期:2013-05-09 08:20
一种通信系统和方法,包括在Java虚拟机内主持交互式语音应答或自助式应用程序的服务器。为了发挥Java?servlet模型的优势和功能,一种Java?XMPP(可扩展消息处理与出席协议)servlet容器被提供给服务器使用以使得通信应用程序可以用由XMPP?servlet?API定义的对象以及用由基于标准的Java?EE平台例如HTTP和SIP?servlet定义的对象来编写,目的是为了服务于XMPP客户端。除了Java?servlet模型中通用的类对象以外,API还提供了XMPP专用的类对象集合。Java?XMPP?servlet容器包括在传输层用于处理网络连接的网络点,用于管理XMPP会话和流的XMPP服务层以及用于管理XMPP节的应用层。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及远程通信和网络计算机电话系统,包括互联网和公共交换电话系统(Public Switched Telephone System),并且更具体地涉及一种用于根据Java服务器端应用程序(servlet)模型在XMPP API的基础上部署兼容XMPP的应用程序的系统和方法。
技术介绍
世界范围内已经发展出两种主要的远程通信网络。第一种是形式为公共交换电话系统(PSTN)的电话系统网络。该网络最初被设计用于传送语音通信,不过随后也适用于传输数据。第二种是形式为互联网的计算机系统网络。互联网一直被设计用于传输数据,而且正越来越多地被用于传输语音和多媒体信息。计算机实施的电话应用程序已经被集成到这两种远程通信网络中以提供更好的通信服务。例如在PSTN中,计算机电话集成已经为POTS(普通老式电话服务)提供了更多的功能和控制。在互联网上,计算机自身就是用于语音通信的终端设备并且还用作供终端设备的主机使用的智能路由器和控制器。互联网是根据TCP/IP (传输控制协议/互联网协议)套件通信的IP网络全球通信网。具体地,语音和其他多媒体信息在互联网上根据VoIP (互联网语音传输)协议传输。PSTN和IP网络的集成通过发挥IP网络固有的路由灵活性和计算可达性而允许在语音应用程序的自动控制方面有更多功能。美国专利US6922411中介绍了一种用于简单部署电话应用程序的示例性平台,通过引用将其全部公开内容并入本文。基本上,网络电话系统允许用户部署与指定电话号码相关联的互联网计算机电话应用程序。电话应用程序很容易由用户以XML(扩展标记语言)用预定义的电话XML标签(例如VoiceXML)创建并且易于在网站上部署。电话XML标签包括用于通话控制和媒体控制的内容。与这些指定电话号码中任何一个的通话都可以源于任何一种网络电话系统例如PSTN(公共交换电话系统)、无线网络或互联网。通话由互联网上安装的应用网关中心(AGC)接收。类似于网页浏览器,AGC提供用于从其网站中检索相关的XML应用程序并相应地处理通话的功能。这种类型的电话平台允许在互联网上构建和部署非常强大而又简单的电话应用程序。以下是在这种平台上部署的电话应用程序的一些示例。“跟踪/发现(Follow me,find me)”应用程序按顺序呼叫由用户指明的一系列电话号码,直到其中一个号码应答并随后连接该通话为止。否则,应用程序就做一些别的事例如收取消息或发送电子邮件或者向呼叫中心发送通话等。在另一个示例中,电话调查应用程序查询被调查人口的电话号码数据库。应用程序随后仅受支持的并行会话最大数量限制地并行呼叫多个号码,然后响应于被呼叫方的应答播放一系列交互式语音提示/消息并在数据库中记录结果等。在另一个示例中,帮助台(Help Desk)应用程序响应于被呼叫方的应答播放一系列交互式语音提示/消息并且可以将连接在线客服通话作为一种选项等。在又一个示例中,股市或银行交易应用程序响应于被呼叫方的应答播放一系列交互式语音提示/消息并且利用后端数据库或web应用程序来进行正当交易等。后面的示例通常被称为自助式应用程序。在语音领域,自助式应用程序被称为IVR0 IVR涉及交互式语音应答并且是一种与电话呼叫方自动交互的技术。企业正越来越多地转向IVR以降低常规的销售、服务、催收催缴、查询和支持公司往来通话的成本。如前所述,IVR是一种自助式应用程序的具体示例,其中用户可以通过与应用程序交互而自助地执行某些任务。传统的IVR仅允许用户通过语音信道与其交互。类似地,网页机器人(web bot)是一种允许用户利用文本信道执行任务的自助式应用程序。这种平台的一个示例是在多信道环境中主持用语音、文本消息进行交互的IVR应用程序和其他客户端。文本消息已经随着便携式电话和计算设备的普及而变得非常流行。文本消息是通过点对点或一点对多点地交换文本消息来进行通信的一种形式。文本消息最常见的形式是电子邮件、网络博客和短信。短信(“IM”)几乎是实时地交换消息。现有多种专用的短信网络,每一种都利用本地协议为每一个自身的客户端提供頂服务。也存在开源并使用XMPP协议的頂网络。XMPP是指可扩展消息处理与出席协议并且它是由Jabber开源组织在1999年开发的用于出席和实时通信的开放性XML技术集合。用于Java应用程序的XMPP服务已经在Google Talk中实施作为XMPP扩展应用以使其兼容XMPP,这是一种由美国加州Google公司提供的聊天应用程序。这通过将XMPP消息封装为MME消息并且将MME消息置于HTTP内而实现。因此从应用程序的角度看,实际上接收的是HTTP消息而且必须使用Google专用API以从HTTP消息内的MME消息中提取出XMPP消息。这种方法并不完全兼容基于标准的Java servlet模型。希望获得一种允许与文本消息的客户端交互的自助式应用程序。因此希望获得一种融合通信应用程序平台,其类似于供web客户端使用的HTTPServlet和供语音客户端使用的SIP Servlet,允许在应用程序的服务器端轻松地开发和执行应用程序。
技术实现思路
一种通信系统和方法,包括在Java虚拟机内主持交互式语音应答或自助式应用程序的服务器。为了发挥Java servlet模型的优势和功能,一种Java XMPP(可扩展消息处理与出席协议)servlet容器被提供给服务器使用以使得通信应用程序可以用由XMPPservlet API定义的对象以及用由基于标准的Java EE平台例如HTTP和SIP servlet定义的对象来编写,目的是为了服务于XMPP客户端。除了 Java servlet模型中通用的类对象以外,API还提供了 XMPP专用的类对象 口 OJava XMPP servlet容器包括在传输层用于处理网络连接的网络点,用于管理XMPP会话和流的XMPP服务层以及用于管理XMPP节的应用层。应用程序允许用Java XMPP servlet API编写,目的是为了发挥Java servlet模型的优势和功能,以使得编程不必关注底层的传输和连接功能而是能够集中在业务逻辑上。Java XMPP servlet容器的架构使流的协商终止于XMPP服务层而不是应用层。这就允许应用程序具有在云计算资源中从一个服务器移植到另一个服务器的可移植性。本专利技术的更多目标、特征和优点将根据以下对其优选实施例的说明而得到理解,这些说明内容应该与附图相结合。附图说明图1示意性地示出了适合用于实践本专利技术的通信应用程序环境。图2示出了用于XMPP Servlet模型的系统架构。图3示出了用于XMPP Servlet模型的应用程序整体架构。图4示出了 XMPP Servlet接口的继承。图5更加详细地示出了图4中所示的XMPP Servlet接口。图6示出了 XMPP Servlet的结构,给出了 XMPP Servlet请求和应答对象的整体继承架构。具体实施例方式图1示意性地示出了适合用于实践本专利技术的通信应用程序环境。通信应用程序环境10包括与应用程序平台100内的通信应用程序服务器200交互的一个或多个客户端20,22,30。应用程序平台100主持由用面向对象软件编写的应用程序脚本210明确的应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.04.18 US 61/325,348;2011.04.17 US 13/088,3941.一种服务器,包括: 应用程序,以用于可扩展消息处理与出席协议(XMPP)的Java servlet API编写并且在用于为XMPP实体服务的Java虚拟机上执行; Java XMPP servlet容器,支持用于XMPP的Java servlet API以处理XMPP专用的网络传输、流和节; 所述Java XMPP servlet容器进一步包括: 位于传输层的网络点,用于侦听、路由和管理与XMPP实体之间的网络连接; XMPP服务层,用于通过所述网络点管理与XMPP实体之间的XMPP会话和流;以及 应用层,用于通过所述XMPP服务层管理与XMPP实体之间的XMPP节。2.按权利要求1所述的服务器,其中: 所述Java XMPP servlet容器执行的基本功能包括: 管理网络侦听点; XMPP TLS协商以及在应用程序被设置为使用容器管理安全性时的SASL协商; 资源整合;以及 XML分析。3.按权利要求1所述的服务器,进一步包括: 应用程序路由器,由所述Java XMPP servlet容器调用以选择XMPP servlet应用程序为初始请求服务。4.按权利要求3所述的服务器,其中: 初始请求包含有属性;并且 应用程序路由器根据属性值选择合适的应用程序。5.按权利要求1所述的服务器,其中: Java XMPP servlet API 定义了扩展通用 Java servlet API 的类;并且通用Java servlet API定义了为基于标准的Java servlet模型中的通用特性提供API的通用类。6.按权利要求5所述的服务器,其中: 通用Java servlet API接口定义了用于处理客户端请求的服务方法; 对servlet容器路由至servlet实例的每一条消息都调用所述服务方法;并且 由XMPP servlet处理的XMPP节被封装在通过所述服务方法输送的消息内。7.按权利要求1所述的服务器,其中: Java XMPP servlet API定义了不同的接口,专门用于处理不同类型的XMPP流,包括处理流打开标签、流关闭标签、流错误xml元素和流特性xml元素。8.按权利要求1所述的服务器,其中: Java XMPP servlet API定义了不同的接口,专门用于处理不同类型的XMPP节,包括出席节、IQ设定节和消息节。9.按权利要求1所述的服务器,其中: Java XMPP servlet API定义了不同的接口,专门用于处理不同类型的XMPP SASL协商,包括SASL授权请求、SASL质询、SASL应答、SASL终止、SASL失败和SASL成功。10.按权利要求1所述的服务器,其中:Java XMPP ser...

【专利技术属性】
技术研发人员:陈为祝效普刘志雨张普兵
申请(专利权)人:VOXEO研究有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1