UIS即时通讯产品技术白皮(2014)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UIS统一通讯系统软件产品技术白皮
北京国博慧成科技开发有限公司
2014-3-1
版本:4.1.8
声明
北京国博慧成科技开发有限公司不对此文档中的任何内容作任何明示或暗示的陈述或保证,而且不对特定目的的适销性及适用性或者任何间接、特殊或连带的损失承担任何责任。
版权所有2014,北京国博慧成科技开发有限公司
保留所有权利。
指北京国博慧成科技开发有限公司的“统一通讯系统软件”产品。
未经北京国博慧成科技开发有限公司的明确书面许可,不能使用任何方法或手段,不论是电子的、机械的、或是光学的、化学的、手工的、以及其他任何手段,复制、散发、转载本文档的全部或部分内容。
目录
引言---------------------------------------------------------------------------------- 错误!未定义书签。
1 产品概述 ---------------------------------------------------------------------------------------------------------- 5
1.1 服务框架------------------------------------------------------------------------------------------------- 5
1.2 统一信息服务的创建及部署----------------------------------------------------------------------- 5
1.3 服务的创建及部署------------------------------------------------------------------------------------ 6
2 功能特性 -------------------------------------------------------------------------------------------------------- 11
2.1 音视频功能架构------------------------------------------------------------------------------------- 11
2.2 远程协作架构 ---------------------------------------------------------------------------------------- 11
2.3 短信功能架构 ---------------------------------------------------------------------------------------- 12
2.4 文件传输架构 ---------------------------------------------------------------------------------------- 13
3 服务器端架构介绍 ------------------------------------------------------------------------------------------- 14
3.1 信令协议----------------------------------------------------------------------------------------------- 14
3.2 音频传输协议 ---------------------------------------------------------------------------------------- 15
3.3 视频传输协议 ---------------------------------------------------------------------------------------- 15
第一章引言
UIS(统一通讯系统软件),是随着办公系统的日益普及和现代社会的发展、企业和政府对办公系统提出了更高的要求而产生的。
我们的系统多了,我们要关注的信息快速传递、信息种类多了,我们要处理的业务多了,整天都在众多系统和信息中处理着重复的工作。
如何才能从众多的系统中清晰出来,如何轻松的面对文字、语音、图像、流媒体、视频甚至混合格式的“信息矩阵”,如何能在PC、移动电话、普通电话、SIP电话、PDA等终端上都可以处理业务,如何能在内部网、因特网、移动网(GSM、GPRS、3G、4G)和wifi网络上都可以传输数据……,这些已经成为我们面对的问题和有待解决的方向。
“统一”成了此时的目标。
“UIS统一通讯系统软件”,分别从应用业务系统、信息处理、终端设备、网络环境和系统维护等五个方面实现了统一。
我们的业务系统已经开始涵盖数据平台(OA、ERP、CRM、Mail、财务)和电信平台(VOIP、SMS、FAX、VoiceMail)等业务,UIS统一通讯系统软件能统一将数据平台的业务和电信平台上的业务有机的整合在一起,让沟通更加方便、快速和准确。
我们会面对各种格式的信息,需要一个平台来统一处理文字、语音、图像、流媒体、视频等格式的信息,而不用打开多种播放器去一一对应。
同时,这些信息有些是及时发生的(例如电话、传真、短信等),有些是分时发生的(例如邮件、通知、工作流等)。
UIS平台可以将这些信息统一处理,并保证信息的可管理性、安全性和有效性。
如果所有的业务都需要坐在PC前处理,那么局限性就大了。
UIS统一通讯系统软件可以让我们的业务处理分布在其它设备上,包括各种智能手机、ipa电话甚至普通电话上。
这样,我们就能在任何设备上处理相对应的业务了。
因特网的覆盖率已经很大,但由于目前移动办公的需求越来越大,并且在某些地区电话网的覆盖率还是远大于因特网的覆盖率。
因此,UIS能统一内部网、因特网、移动网和电话网的优势,能支持我们的业务在各种终端和各种网络环境中的应用,办公就无处不在了。
统一的“开通式”服务,保证用户只需要把宽带接入平台即可实现功能。
这样一来,用户不必支付自己的系统建设费用,无需等待建设开发期,不必为改变使用方式、功能付出代价,无需建立团队维护系统,降低管理成本,而且用户使用的系统永远是最先进的,而且
不必为系统更新和合法性买单。
UIS平台会随技术发展统一升级,并确保软件的合法性。
UIS“统一通讯系统软件”,它将通讯技术与计算机软件技术统一,集成了视频、语音、数据业务,将不同网络中的数据相互转化,统一呈现给用户。
无论用户什么时间、处在什么地方、使用的是什么设备,都可以以即插即用的方式使用平台中的各种功能。
1产品概述
1.1 服务框架
为了在竞争激烈的行业中立足并且兴旺发达,软件提供商必须实现可以简化内部消息服务开发并且缩短上市时间的IT解决方案。
另外,解决方案应当有利于相互间的合作,为第三方应用与服务创建开放式的服务开与交付平台,并同时实现可以容纳相关第三方的多种通讯方式及渠道。
只有采用统一信息的框架,软件提供商才能够通过提供多元化的服务,并满足不同的需求。
UIS是结合“三网合一”(IP、PSTN、Broadcast)的统一信息服务框架。
简而言之,UIS服务框架是一种灵活的统一信息服务的解决方案,可以提供更有效的语音与数据服务的创建、部署及管理途径。
利用UIS服务框架,软件提供商、运营商等可以迅速的为客户提供极富吸引力的服务或者通过定制现有的WEB服务在数小时或几天时间内开发出多元的消息服务体系。
另外,软件提供商、运营商等还可以打造现有的服务的独特组合,以创建适合特定用户的个性化服务套件。
而且,由于能够与第三方服务提供商融为一体并使他们能够为自己的客户提供应用,UIS服务框架可以促进合作。
无论来自何处,所有的消息、服务都可以通过UIS服务框架直接提供给客户。
1.2 统一信息服务的创建及部署
UIS服务框架具备一系列更具灵活性的简单接口,这些接口能够帮助集成商、软件提供商等降低现有基础结构的复杂性。
利用一系列可重复使用的通用接口,开发人员可以更快速,更轻松的跨应用与连接设备部署新服务。
该解决方案采用J2EE架构。
因此,UIS服务框架可以通过帮助加速语音与数据的开发进度,此外,开发人员还可以重复利用或扩展现有的服务,并且能够避免重复性开发造成的时间耗费。
除了简化和优化语音与数据服务开发之外,UIS服务框架还可以利用免打搅WEB服务或其他协议集成现有的OSS、BSS以及网络基础结构,从而轻松实现客户计费与服务激活功能。
UIS服务框架还可以集成第三方内容提供商,同时通过提高提供商开发各种可满足众多客户需求的服务的能力开扩展服务范围。
此外,高集成度还使客户能够接入准实时的动态服务。
1.3 服务的创建及部署
部署UIS服务框架,需要配置服务器安装UIS服务器软件,服务器需要有公共的IP 地址,并且可以位于防火墙之后。
如果服务器位于防火墙之后,需要开放端口号为: 9901:提供基于Tomcat的Java框架的管理程序
9902:客户端登录端口
9906:默认提供的数据库(MySQL)的端口
9610:支持文件传输、音频、视频、远程控制等P2P应用端口
9910:Apache服务的端口号
9911: 文件传输协议控制端口
UIS服务器的系统需求如下表所示:
在单服务器模式下,服务器配置为Xeon CPU 3.0G+2G内存情况下,UIS服务器的性能参数如下:
最大注册用户数为:100000
并发用户数为3000
最大P2P文件传输大小:2G
最大离线文件大小:50M
用户需要运行PC机上的UIS客户端软件方能正常使用。
因此,需要在所有的用户的客户机上安装UIS客户端软件。
UIS客户端的配置如下表所示:
UIS的系统结构图:
2安全的企业系统服务
2.1 文件传输的私有协议
UIS统一通讯系统软件根据企业内部沟通、文件传输的特点,自定的协议标准;适用于企业内文件的传输机制,文件传输企业制定私有协议的目的就是为了,文件在传输路径中的安全性;即使文件在网络传输的过程中,文件被捕获到,文件是无法打开,从而保证企业内部的交流的安全性。
2.2 多种方式的登陆加密
UIS统一通讯系统软件的登陆加密方式,选择最常见两种加密方式:
一种:MD5
MD5用的是哈希函数,在计算机网络中应用较多的不可逆加密算法有RSA公司发明的MD5算法和由美国国家技术标准研究所建议的安全散列算法SHA。
二种:Base 64
Base64是一种使用64基的位置计数法。
它使用2的最大次方来代表仅可打印的ASCII 字符。
这使它可用来作为电子邮件的传输编码。
在Base64中的变量使用字符A-Z、a-z和0-9 ,这样共有62个字符,用来作为开始的64个数字,最后两个用来作为数字的符号在不同的系统中而不同。
一些如uuencode的其他编码方法,和之后binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。
UIS统一通讯系统软件采用,选择性的登陆用户进行加密,主要考虑与其它应用系统集成时,方便性和一致性,为企业应用中,集成扩展提供了方便的开发条件。
2.3 严谨的用户权限机制
UIS统一通讯系统软件在企业应用中,分为系统管理员、普通客户端用户、信息服务部门管理员、多级管理员等;不同角色在系统中有不同的用户权限。
UIS统一通讯系统软件采用了严谨而以非常灵活的用户权限机制,以求能够合理的搭建企业实应用的权限框架。
3先进的企业组织架构管理
3.1 10万用户的并发,大用户数注册及并发、均衡负载解决方案
UIS统一通讯系统软件平台采用集中部署的方式,系统部署的地点在总部。
集团使用的用户数达到3万以上,根据我们的经验,在线用户数平均比例在注册用户的40%左右,预计企业用户的平均在线用户数在1.2万人左右,一台服务器无法支持这么大的并发在线用户,因此将会把UIS中心主服务器和UIS通讯服务器进行分布部署,在不同的服务器上分别安装UIS中心主服务器和UIS通讯服务器的程序;同时我们将采用多台UIS通讯服务器组成负载均衡的集群模式进行大量并发在线用户压力的分担。
按照我们以往实施项目的情况来看,一台Xeon3.0G/4G内存的服务器最大可以支持3000个并发在线, UIS通讯服务器是可以根据用户量的大小,随时进行增加或减少的,因此本次项目可以先用三台同类型的服务器作为UIS通讯服务器的硬件载体,以后可以根据用户并发数量的增加而增加。
作为UIS统一通讯系统软件平台的核心——UIS中心主服务器是非常重要的,为了避免单点故障,我们将采用两台服务器部署UIS中心主服务器程序,并做一个双机热备,避免这个单点故障的产生。
系统的拓扑图如下:
3.2 支持多级用户管理
在后台,可以设置多位超级管理员帐号,便于各自管理自己范围内的组织结构。
3.3 支持企业组织机构的可见性人员预定
企业可根据企业内部组织机构的机制,制定企业自身的可见性,与不可见的组织机构框架。
方便企业内部用户的管理。
4功能特性
4.1 音视频功能架构
UIS音视频基于P2P模式进行,由中转服务器(主要处理UDP协议)进行双方的IP和端口的传递,由UIS客户端进行NAT穿越工作。
4.2 远程协作架构
通讯:采用UDP通讯,将数据通过直接传输(非服务器中转)的方式传递给对方的客户端,该UDP通讯进行了抗丢包的处理,并进行了相应的封装,被空方只需获取当前图像的Buffer,并调用该封装对象的方法,即可在内部将图像Buffer进行
1>分包,并发送,同时接收方在每次收到校验信息时进行完整性校验
2>图像截取和压缩:采用全屏截图的方式将屏幕当前的数据进行截取,并与上一次的
数据进行异或,将差异包进行压缩
3>控制指令获取:采用底层windows钩子对相应的鼠标、键盘事件进行钩取
4.3 短信功能架构
功能说明:短信功能是通过插件的形式基于UIS产品而增加的功能。
插件共分为4个插件,分别为:短信参数配置插件、短信的历史记录插件、短信条数控制插件、短信统计条数控制。
1、短信参数配置插件:是提供短信息发送的基本插件,他提供了UIS服务器和短信服务器的配置功能,通过这个插件,就可以实现基本的短信的收发功能。
如下图:
短信的功能实际上是通过短信的插件来完成的,这些对用户是透明的,用户只用将插件通过后台管理上传到服务器上,配置好,即可增加短信相关的功能。
2、短信的历史记录插件:针对短信的历史记录,提供查询的功能。
3、短信条数控制插件:根据用户的不同需求,提供按照条数的限制来控制短信的发送
量,分别有按总的条数、每天发送的条数、每次发送的条数,几总控制方式。
4、短信统计插件:按照部门的组织机构,对部门,人员的发送量进行统计,呈现出图表的形式。
短信服务器说明:
短信服务器是根据短信猫或信息机的第三方动态库文件的方法来完成的,我们系统对短信猫和信息机分别采用了2种插件,这些对用户依然是透明的,通过短信服务器的配置即可完成。
4.4 文件传输架构
1>通讯:在线文件传输采用TCP中转的方式进行通讯,保证文件能够安全、完整地到
达目标方,离线文件传输采用HTTP上传的方式,先将文件上传至服务器端,当目标用户登录后,会由服务器通知他进行下载。
在线传输文件分包:将完整的文件按1024大小进行分割,对分割后的块按照先后顺序进行传输,保证分包按顺序被目标放接收。
目标方接收时先创建一个文件流,
2>以后每接收到一个分包,就按顺序直接保存在文件流中,当所有分包接收完成后,
释放文件流。
3>取消操作:在线文件传输和离线文件传输都支持取消操作,接收到一半的文件被取
消以后,这个不完整的文件会被自动删除,在替换已存在文件的情况下,取消操作
可以保证已存在的文件不会被删除或修改
5服务器端架构介绍
5.1 信令协议
UIS信令协议基于可扩展的XML流的协议格式,相对于其它即时通信系统而言,具有四大特色:
●基于XML的协议格式
●分布式的网络体系
●开放的协议
●高度模块化和可扩展结构
由于UIS在协议设计中广泛采用了E-mail(用户名+域的模式)技术的特点,因此,与Internet上最成功的通信系统:电子邮件系统一样,各种不同的系统通过UIS的协议,可以自发的组成一个分布式的系统,通过这个系统,各种不同的用户端程序能够自由地给其他用户端传送消息,而不需要关心双方是否属于同一个服务器。
然而,与电子邮件系统的存储/转发模式不同的是,UIS协议能以一种近乎实时的方式传递消息,这是由于服务器能够知道某一个用户是否在线,这在UIS系统中称为(Presence:人员状态)。
UIS还有两个独一无二的特性,从而使它领先与其他的通信系统协议。
首先是它的基于开放协议,从而使它能够成为各种不同的通信系统的互连桥梁;其次是严格遵守XML规范,从而使得高度结构化,智能化的信息传递不仅实现了用户之间的沟通,而且使得不同应用程序之间的信息传递成为可能。
5.2 音频传输协议
为了保证多媒体传输的实时性,UIS采用了实时传输协议(RTP)来传输音视频实时数据,从而最大限度的减少了因为网络的不稳定而产生的延时。
另外,系统采用了先进的丢包恢复机制,大幅度的提高了对网络丢包的抗御能力,即使在网络状况相对恶劣,丢包率相对较高的情况下,仍能提供高质量的语音服务。
此外,系统还采用了静音抑制、舒适噪声、语音增强、自动增益控制等技术,在节省带宽的同时提高了语音质量。
5.3 视频传输协议
随着用户对网络安全越来越重视,已经有越来越多的用户在网络上实施了防火墙或者NAT等安全机制。
这些安全机制在保障企业网络正常工作的同时,也为视频会议系统的实施带来了很多麻烦。
标准的H.323或SIP系统在音视频通信时都采用了RTP协议,但是RTP协议却与防火墙/NAT格格不入。
当标准的H.323或SIP视频会议系统要在有防火墙/NAT的环境下实施时,一般采取以下几种方法:
1.说服客户不使用防火墙/NAT。
这个方法听起来很可笑,但是确实有很多客户
最终因为种种原因接受了这种建议;
2.将系统放在非军事化区(Demilitarized Zone)。
即将视频会议系统放在企业
外网没有防火墙/NAT等保护的地方,这样,即使受到攻击,对公司内网的安
全性也不会产生影响;
采用隧道、应用层网关或代理服务器等解决方案。
这些方案都不是视频会议的标准组件,但是如果需要安全的解决视频会议与防火墙的共存,只能采用这些方案。
6与多业务系统的集成方法
本文仅针对无法采用SSO时的解决方案,如果有可能还是建议采用SSO的解决方案。
6.1 多业务系统整合的主要问题
6.1.1用户的对应关系
各个业务系统都有各自独立的用户管理模块,如何将各自独立的业务系统中的用户名,密码集中到即时通讯系统中,且如何将即时通讯的用户名与业务系统中的用户名进行对应关系这是一个主要问题,否则就会出现A用户以B用户的身份登陆业务系统了。
6.1.2用户的验证
完成用户的对应关系后,需要解决从即时通讯到业务系统过程中的验证问题。
6.1.3多业务系统的消息提醒
当即时通讯与多个业务系统集成时,会出现多个业务消息的提醒,如何准确的区分来自于各业务系统的消息,并且准确的匹配与之对应的业务系统中的用户名和密码。
6.2 解决方法
总的来说我们会采用松耦合的解决方案,即在即时通讯中记录业务系统的访问路径;记录业务系统中用户名、密码与即时通讯用户名的对应关系;记录业务系统中的密码在其对应业务系统中的加密方式;记录其传参方式。
6.2.4业务系统的对应关系
在即时通讯系统中单独建立一张表,此表记录着业务系统的名称、访问路径和标识号。
如:OA系统,/name.jsp,标识号为1;ERP系统,X:\Program Files\ERP\ERP.exe,标识号为2。
在即时通讯系统上创建这些链接时会在客户端生成一个带图标的按钮。
如下图:
图:在客户端显示业务系统按钮
这项设置在即时通讯的服务器上进行。
6.2.5用户的对应关系
用户在第一次点击某个业务系统的按钮时,即时通讯客户端会提醒用户输入其在该业务系统中的用户名和密码。
如下图:
图:输入其在该业务系统中的用户名和密码
用户输入完成后,即时通讯服务器将会自动形成该业务系统用户名、密码与即时通讯系统中的用户名对应的关系。
这种对应关系会保存在服务器上,与用户在那台机器上使用的客户端没有关系。
图:UIS统一通讯系统软件的用户名与业务系统用户名、密码形成对应关系以后用户再通过即时通讯客户端登陆时则不需要再输入其业务系统的用户名、密码,可以直接进入业务系统中了。
注:当用户修改了业务系统中的密码,也需要同时修改其在即时通讯中对应的业务中的密码使其始终与业务系统中的用户名、密码保持一致。
2.3 用户的验证
用户在即时通讯客户端上点击业务系统时,会从数据库中分别获取业务系统的访问地址和与之对应的用户名、密码。
通过组合后传给业务系统的相应页面或客户端程序上,再由业务系统负责验证。
6.2.6多业务系统的消息提醒
即时通讯系统提供了消息提醒的接口,各业务系统在调用即时通讯的消息提醒的接口时带上即时通讯系统为各业务系统分配的标识符,通过标识符来确认在即时通讯系统中对应的业务系统。
6.3 整合过程中注意的事项
6.3.7与B/S系统的整合
与B/S系统的整合相对容易一些,只需要B/S系统提供相应的链接地址和传参的规则即可。
即时通讯中业务门户的链接一般提供验证的页面地址即可。
消息提醒中的链接一般由B/S系统直接将链接地址通过接口发过来即可。
B/S系统的整合对双方的工作量都较小,一般采用的是B/S调用即时通讯的接口来实现消息提醒的功能。
6.3.8与C/S系统的整合
与C/S系统的整合则要复杂很多,复杂程度与功能需求和C/S系统的开放程度有直接关系。
从需求角度来说,通过即时通讯系统能够启动C/S系统的客户端,或不用用户输入用户名密码就能直接登录到C/S系统中要相对容易一些;做的最复杂的是即时通讯系统中有一个来自C/S系统中一个待办事宜,点击这个待办事宜直接到这个待办事宜的处理模块。
由于C/S系统一般都是由厂家自己定义其内部的协议、传输方法,其开放程度都不会太高。
即时通讯系统与C/S整合,需要C/S系统提供告诉即时通讯系统如何获取其客户端的路径的方法;所需要传的参数、格式及其方法;如果需要打开具体的待办事宜模块还需要制定模块号。
一般来说与C/S系统的整合即时通讯的开发工作量较B/S结构的要大20~30%左右,如果开发性不好的C/S系统,其自身的修改工作量会非常大,因此在实现前需要充分沟通需求和实现的方法。
大部分的C/S的系统一般都不太愿意调用别的系统的接口,而比较喜欢其他的业务系统调用自己的接口或数据库,从安全性和稳定性考虑,C/S系统会同时往两个数据库中写数据,一个是其系统本身正常使用的数据库,另一个是用来做消息提醒的中间数据库。
这种情况下,即时通讯系统则需要学习、分析其中间数据库的数据,并开发中间件对中间数据库进行扫描同时调用即时通讯的接口来实现消息提醒。
这样的话即时通讯的开发工作量则远远大于上面说到的30%。
6.4 消息提醒的撤销机制
业务系统可以向即时通讯系统发送待办消息,但是当用户先于登陆即时通讯系统前在业务系统中处理了该业务,正常情况下再登陆即时通讯系统后是不应该提醒的。
我们的即时通讯系统提供了消息取消的接口,需要各个业务系统进行调用及时进行清除这些已经处理了的待办消息,否则会出现已处理的消息还在提醒的情况。
在没有SSO系统下实现多业务系统的整合,特别是含有C/S系统的整合,一定需要即时通讯与各个业务系统的承建方充分沟通需求,同时需要各个业务系统尽可能遵循由即时通讯制定的接口规则,这样才能保证完成的系统满足用户的要求,否则即时通讯的就要与每个业务系统进行定制,其工作量可想而知了。