Home > 电话会议新闻动态 > 技术文档 > 基于FreeSwitch的会议电话系统研究与实现

基于FreeSwitch的会议电话系统研究与实现

2014/07/09 Tang

摘要:会议电话有效提高了通信效率,在许多企业单位中广泛使用。针对当前会议电话业务的特点,以开源的软交换机FreeSwitch为主要开发工具,设计实现了一种信息交互率高,易于管理扩展的结构化会议电话系统。系统的层次化、结构化特性为满足多样化用户需求、开发实用会议电话系统提供了参考价值。

会议电话是一种基于网络实现多方会话交流的通信形式,传统的会议电话系统采用专门的硬件交换机来完成会话业务,这种设计方式依赖硬件,数据交互方式不灵活、费用较高、可扩展性不强。随着VOIP(Voice IP)技术的兴起和计算机处理能力的增强,可以在计算机上利用软件技术实现电话交换处理,并由此开发了一大批优秀的VOIP软交换机。与传统的实现方式相比,基于VOIP软交换机的会议电话系统具有成本低、业务种类多、实现简单、易于扩展等特点,受到广泛欢迎。为此,基于目前会议电话业务的实现机制和新型开源VOIP软交换机FreeSwitch,设计一种信息交互效率高、可管理性强的结构化会议电话系统。

1、FreeSwitch介绍

1.1 FreeSwitch的功能特点
FreeSwitch是一种新型的功能强大的FreeSwitch是一种新型的功能强大的VolP开源软交换机,以软件形式提供了完善的专用交换机功能,兼容多种主流协议,包括SIP (Session Initia—tion Protocol,会话发起协议)、H.323等,可将一台普通的PC机变成一台功能强大的电话交换机,可实现拨号通信、会议电话、互动式语音应答、语音信箱、会话记录等业务功能,还具有如下特点。

l.采用模块化设计方案,使用特定的接口进行功能扩展,减小了系统核心对功能模块的依
赖性。

2.为业务控制逻辑提供相应的API,支持使用JavaScript、Per1等脚本语言实现系统控制流程。

3.拥有中心化的可扩展标记语言(XML)注册表,文件查询解析更加灵活便捷。

4.与Asterisk等同类VolP软交换机相比,FreeSwitch能同时支持更多的会话连接。

1.2 FreeSwitch语音通信机制分析
SIP协议是FreeSwitch信令交互的核心。在SIP语音通信过程中,FreeSwitch作用是一个典型的背靠背用户代理(B2BUA),即一对用户代理服务器(UAS)和用户代理客户端(UAC)的串联,其基本工作原理如图1所示。

yi

图中,FreeSwitch是一个逻辑实体,其内部的UA 和uA 是2个对等的“背靠背”UA,与外界通信的语言是SIP协议。在SIP客户端A与B的会话连接过程中,UA 和UA 既可以像UAS一样接收和处理请求,也可以像UAC一样决定该如何应答一个请求和发出请求;会话建立后,uA 和UA 与A和B分别维持2个实时传输协议(RTP)会话连接,UA 、UA 之间有专门的内部通信机制桥接这2个RTP会话,实现A与B之间的信息互通。

在多方电话会议的实现过程中,会议桥的地位举足轻重,如图2所示。会议桥是位FreeSwiteh内部的逻辑实体,由FreeSwitch会议模块rood—COn—ference来创建、维护和撤销,每一个虚拟电话会议室都与一个会议桥对应。会议桥与会议终端点对点连接,并负责桥接会议终端之间的RTP会话,在会议进行过程中以多播机制传输语音数据包。

er

2 结构化会议电话系统设计

2.1 结构化会议电话系统模型设计以FreeSwitch为核心组件,结合其他软硬件设施,设计了一种基于SIP协议的结构化会议电话系统。系统包括三级体系结构:系统管理层、会议处理层和终端用户层,如图3所示。

san

2.2 系统层次结构分析
1.系统管理层。它包含Web系统管理服务器、数据库服务器和系统管理客户端,其主要功能
是对系统中的其他实体进行授权、监管、协调,形成系统的会话传输环境,维护管理会议策略及会议记录信息,提供系统管理员与会议主持人的访问人口,并进行权限分配。其中,会议主持人负责单个虚拟会议室的申请、管理及权限的控制,系统管理员则负责会议系统中所有虚拟会议室的创建、维护及会议终端账号的分配、修改和删除。

2.会议处理层。它主要由FreeSwitch会议服务器组成,其主要功能是接受会议终端的注册,处理具体会议过程中的多媒体数据,同时与系统管理层交互控制信令,并协调各会议终端之间的会话连接。会议处理层是系统的核心层,控制着会议的实际运行。为了提高系统效率,增大系统容量,可在一台会议服务器上运行多个虚拟会议室或增加多台会议服务器协同工作。

3.终端用户层。会议终端可以是PC软电话、固定电话、手机等,用于对会议过程中的语音数据进行采集、发送、接收、回放,为每个参会用户提供具体的会议电话服务。

2.3 系统工作流程

1. 系统启动。系统管理员通过浏览器登录Web系统管理服务器启动系统,FreeSwitch会议服务器与系统管理层建立通信连接,并接受来自终端用户层中会议终端的注册。

2.会议启动及运行。会议主持人通过登录Web系统管理服务器,向系统管理员发出创建电
话会议申请,系统管理员验证请求消息无误后,为会议主持人建立虚拟电话会议室,分配一个会议室号码及相应的会议控制权限。会议主持人在会议过程中拥有邀请用户、激活/屏蔽用户、删除用户、锁定会议、结束会议等权限;系统管理员则具有直接关闭任一虚拟会议室的“强拆”权限。会议主持人通过FreeSwitch会议服务器向会议终端发出提示信号,邀请其加入会议,会议终端也可以主动拨号呼叫会议室号码请求参与会议。在会议过程FreeSwitch会议服务器负责处理多媒体语音数据的交互,并收集会议状态向系统管理层反馈,系统管理员和会议主持人可方便地据此对会议流程进行实时管理。

si

3.会议结束。会议主持人或系统管理员通过Web系统管理服务器向会议处理层发出结束会议指令,FreeSwitch会议服务器结束虚拟会议室中会议终端的会话连接,关闭会议服务。

3 结构化会议电话系统实现与扩展

3.1 系统基本功能实现

3.1.1 系统管理层功能实现FreeSwitch支持以开放数据库互联(ODBC)方式连接外部数据库,因此本系统选用数据库软件MySQL搭建数据库服务器,连接FreeSwitch会议服务器,记录会议状态信息。

Web系统管理服务器应用程序使用JSP、JavaScript技术开发,用于访问和维护MySQL数据库服务器,通过调用FreeSwitch提供的API实现与会议处理层之间的信息交互,同时对外提供友好的界面环境。

3.1.2 会议处理层功能实现
会议处理层的功能主要通过配置FreeSwitch会议服务器来实现。FreeSwitch的配置文件由一组XML文件组成,位于FreeSwitch的安装目录下。系统装载时,XML解析器组织所有配置文件,读人内存,FreeSwitch根据需要进行动态装载。通过对FreeSwitch配置文件的设置可实现拨号通信、电话会议等功能,相关配置文件及说明如下。

1.directory/default/:在此目录下创建和维护声明各个会议终端账号信息的XML文件,通过适当的操作可实现会议终端的添加、修改和删除。

2.autoload configs/conference.conf.xml: 配置会议模块mod— conference,创建会议桥,提供多方会议支持,并且定制多种不同模式的虚拟电话会议室。

3.dialplan/public.xml:设置会议的拨号方案。

4.vars.xml:指定FreeSwitch会议服务器的系统参数,如SIP端口,主机IP等。

5.freeswitch.xml:将系统需要用到的XML配置文件进行统一加载,完成功能制定。通过对上述文件的配置,即可实现会议电话业务功能。

3.1.3 终端用户层功能实现
本系统FreeSwitch会议服务器支持SIP会议终端的身份注册,并提供会议电话业务;为了支持非SIP会议终端,需要专门的SIP网关,将非SIP控制原语转换为相应的SIP原语,实现与其他SIP会议终端互通。

3.2 系统业务功能扩展

3.2.1 会话转移功能
会话转移功能指在会议进行过程中,用户将当前的会议终端上的会话转移到另一个会议终端。图4所示,在不中断当前会议服务的前提下,将会议终端A当前的会话连接转移到会议终端B,使用会议终端B继续获取会议服务。会话转移的信令交互流程如图5所示。

wu

1.会议终端A提取当前会议过程中的会话连接信息,并提示用户输人第三方终端B的SIP号,由此构造REFER消息向FreeSwitch会议服务器发送。

2.FreeSwitch检测到REFER消息后,由其内部的UAS进行处理,向终端A发送202 Accepted响应和REFER事件订阅通知(NOTIFY),提取出Refer.To和Referred.By头部,并由此通过内部的UAC向第三方B终端的uA发送INVITE消息。

3.终端B响应INVITE消息,与FreeSwitch建立会话连接,加入会议,同时FreeSwitch向终端A发送BYE消息,断开之前的会话连接。这样,终端A在虚拟会议室中的会话连接就成功转移到了终端B。在上述过程中,FreeSwitch会议服务器以B2BUA方式进行工作,这种机制大大降低实现会话转移的难度。目前会话转移机制已集成到了本系统中,使用户参加会议的方式更加灵活。

3.2.2 多媒体会议平台构建
结合本系统开放式层次化的结构特点,可以很方便地将其进行扩展,如在本系统的会议处理层中引入Red5流媒体服务器,用于完成多方网络流媒体数据的处理,结合Web开发技术,可实现多方视频通信、电子白板、文字聊天、桌面共享等功能,将本系统扩展成一个功能强大的网络交互式多媒体会议平台。

4 结束语
基于FreeSwitch软交换机设计了一种结构化、易于管理扩展的会议电话系统。该系统使用SIP协议进行信令交互,结合Web技术、数据库技术及FrecSwitch软交换机的功能特点,实现了会议电话系统的基本功能,并且可以很方便地针对实际需求扩展系统业务功能,如会话转移等,提高系统实现的灵活性,降低系统开发成本。同时,系统开放式结构化的设计特点还为今后开发功能更强大的网络多媒体会议系统提供了便利。

如没特殊注明,文章均为好会通科技原创,转载请注明来自 http://www.meeteasy.com.cn/archives/3514.htm.

copyright 2004-2013     粤ICP备12061155号-1

Sitemap|XML|RSS|隐私政策|EN|