基于FreeSwitch的校园智能通信系统的设计与实现

2024-09-12 00:00:00马小青
物联网技术 2024年2期

摘 要:随着校园信息化建设的不断推进,越来越多的教育应用需要实现音视频通信,如网课、远程实验等。因此,建立一种高效、稳定、低成本的校园智能通信系统是非常必要的。本设计利用开源的FreeSwitch平台,搭建了一套多终端、多种网络环境接入、适用于多种应用场景的联络中心系统,实现了以“校园智能语音通信平台”为支撑,以“基于开放标准SIP多终端类型提供”为基础,以“虚拟集群、园区会议、智能录音、号码携带”为基本服务内容,以教室、办公室和宿舍等师生办公生活场所为依托,建立统一的智能通信园区管理平台,打造真正意义上的“没有电话线的电话网络”。相比传统基于有线语音/数据网络的通信交换硬件系统,软件VoIP系统的优势体现在终端的多样性、网络的利旧性、接入方式的多样性与各种平台对接的开放性方面。

关键词:FreeSwitch;VoIP;SIP;校园智能通信系统;IVR;留言

中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2024)02-00-04

0 引 言

校园通信是学生、教师和管理人员之间进行信息交流和互动的重要渠道。随着时代的发展和通信技术的不断更新,校园通信系统也需要不断升级和改进[1-2]。传统的校园通信系统存在诸多问题,如通话质量差、通话费用高、功能单一等[3-4]。因此,研究一种基于FreeSwitch的校园智能通信系统,可以有效提升校园通信的质量和效率,满足人们更高水平、更智能化的通信需求。

FreeSwitch是一种开源软交换平台,具有多种语音、视频和数据通信功能,能够方便地构建通信网络[5-8]。

FreeSwitch可以实现多种通信协议,如SIP、H.323和WebRTC等,支持多种音频和视频编解码格式,具有高度可扩展性和灵活性,可以方便地添加新功能和定制特定的应用场景[9-10]。因此,基于FreeSwitch的校园智能通信系统可以满足人们更高质量、功能更丰富、更灵活和可扩展性的通信需求。

在校园智能通信系统中,可以通过FreeSwitch实现多种功能,如电话接入、呼叫转移、语音信箱、呼叫中心、会议通话等。同时,可以通过与其他系统的集成,如学生信息管理系统、教师管理系统等,实现更智能化、更便捷的通信服务。此外,基于FreeSwitch的校园智能通信系统还可以实现实时监控和数据分析,为校园管理和决策提供有力支持。

综上所述,基于FreeSwitch的校园智能通信系统是一种具有广泛应用前景和研究价值的通信系统,可以提升校园通信的质量和效率,满足人们更高水平、更智能化的通信需求。

1 校园智能通信系统的总体设计

基于FreeSwitch的校园智能通信系统的总体设计包括以下几个部分:

(1)IP电话或软电话:作为用户使用的终端设备,通过网络连接到通信系统。

(2)VoIP网关:将VoIP信号转换为传统的电话信号,允许用户与传统电话网络通信。

(3)SIP服务器:负责管理和维护通信系统中的用户信息和设备信息,处理呼叫请求和路由呼叫。

(4)语音信箱:允许用户在未接听电话时留下语音信息。

(5)语音识别和语音合成系统:使系统能够实现智能语音应答、信息查询等功能。

基于FreeSwitch的校园智能通信系统的总体设计如图1所示。

图1中,校园核心内网部署SBC+FS软交换+数据库,构建了一套VoIP语音系统。校园各区域的有线和无线网络与VoIP网络联通,然后可通过SIP话机终端注册到VoIP话音系统平台,实现语音或者视频通话。

校园VoIP智能通信系统功能逻辑如图2所示。用户A通过终端呼叫,SBC转发数据到FS,FS通过规则进入IVR引导,引导结束后进入ACD虚拟排队,最终分配给指定的用户B。这个过程中录音保留,通话数据存入数据库。

2 校园智能通信网络搭建步骤

(1)硬件准备

首先需要准备一台服务器,推荐使用Linux系统,如CentOS、Ubuntu等。另外,还需要一些硬件设备,如IP电话、网关等。本设计采用Linux系统。

(2)安装FreeSwitch

在Linux系统下,可以使用命令行安装FreeSwitch。安装过程中需要注意配置相关参数,如端口、密码等。

(3)配置FreeSwitch

安装完成后,需要对FreeSwitch进行配置。配置包括添加用户、设置呼叫转移、设置语音信箱等。

(4)接入校园网络

将FreeSwitch接入校园网络,使其与其他设备可通信。

(5)实现智能化通信服务

通过结合相关技术,如智能语音识别、语音合成技术,实现更加智能化的通信服务。例如,实现语音问答系统、语音导航系统等。

3 系统开发

3.1 VoIP软交换系统开发部署

本系统采用开源SIP软件作为整个VoIP应用系统的核心,故采用FreeSwitch应用服务进行搭建,选择源码安装的方式安装、调试,运行FreeSwitch,完成基本安装后,对FreeSwitch进行安全配置。

3.1.1 修改默认SIP端口

修改默认SIP端口如图3所示。

3.1.2 关闭ipv6

修改FreeSwitch安装目录conf/sip_profile/下的external-ipv6.xml和internal-ipv6.xml分别为external-ipv6.xml.deactive和internal-ipv6.xml.deactive,关闭ipv6,如图4所示。

3.1.3 开启外部RTP端口

本系统为应对公网环境RTP语音流需求,需要开启外部RTP端口,故修改internal.xml文件中的ext-rtp-ip为公网地址,系统环境如图5所示。

3.2 系统功能开发

3.2.1 话机注册

系统基本环境配置完毕后,开始注册话机进行测试,同时开启FreeSwitch控制台追踪信令交互。首先使用SIP话机注册公网地址,然后在命令行中查看分机是否已正常注册,命令为:sofia status profile internal reg;接着使用分机拨打,可以在fs控制台中看到通话的发起消息、FreeSwitch的处理过程以及携带的SIP的SDP信息,SDP中包含媒体地址、支持的语音编码、RTP的sessionid等;如果分机已正常接听,并在通话后正常结束通话,则说明核心软交换基础功能已经具备。

3.2.2 IVR系统开发

IVR(Interactive Voice Response, IVR)即交互式语音应答,是一种功能强大的电话自主服务系统。它用预先录制或TTS文本转语音及时合成的语音进行自动应答,为客户提供菜单导航功能,主要应用于呼叫系统中。

FreeSwitch支持多种路由开发方式,如自带的XML语言开发,加载lua脚本语言开发等。开发前,需要先指向呼叫会话到对应的开发脚本,打开安装目录下/conf/dialplan中的default.xml文件,配置指向脚本,完成指向后,再安装目录script/编写luaIVR脚本,编写完IVR后可以按照IVR中的按键编写后续路由。如,XML文件中的按键1指向50001,按键2指向50002,按键3指向50003。

(1)callcenter功能

系统中50001对应callcenter mod进行排队转接,路由至support组。FreeSwitch默认不开发callcenter功能,需要编译mod并安装。同样,FreeSwitch本身不支持留言mod,需要单独开启mod并安装;安装完成后,进入conf/autoload_configs/callcenter.conf.xml,文件配置坐席属性、关联队列信息、按键转接到support组后,就可以被用户接听。

(2)语音留言功能

系统中50002为留言测试,FreeSwitch本身不支持留言mod,需要单独开启mod并安装;安装完成后配置留言的路由。

(3)电话会议功能

系统中50003指向一个电话会议,由于会议需要录音,所以开启了录音功能,需在dialplan配置文件中加入配置指令。

4 系统测试

4.1 语音通话模块测试

本系统支持的接入终端有eyeBeam话机、xliteSIP话机、GenesysSIP话机、Linphone SIP话机等,本次测试选用GenesysSIP话机。系统功能测试的步骤和结果如下:

(1)确认部署的FreeSwitch能够正常提供服务。

(2)注册两个SIP话机,用户名分别是1000和1003,分机用户注册成功后的界面如图6、图7所示。

(3)使用话机1000发起呼叫,被叫端振铃界面如图8所示,此时用户1003振铃,且话机1000响起回铃音。

(4)点击话机1003的摘机按钮,话机1003的通话界面如图9所示,结果表明两个SIP话机能够正常通话。

4.2 IVR模块测试

本系统开发的IVR系统可实现IVR呼入、呼叫排队、留言、加入会议等功能。该系统可通过语音引导进行自主服务,语音引导有:“你可直播分机号,如转人工请按‘1’,留言功能请按‘2’,会议功能请按‘3’,重听请按‘9’”。系统功能测试的步骤和结果如下:

(1)确认部署的FreeSwitch能够正常提供服务,确认SIP话机准备就绪。

(2)使用SIP话机1000拨打号码50000,按照语音引导,按“2”测试留言功能,留言过程中的话机界面如图10所示。同时可通过Web页面查看留言,Web页面中的留言清单截图如图11(a)、图11(b)所示。结果表明,系统的留言录音功能正常。

(3)使用话机1000拨打号码50000,按照语音引导,按“3”测试会议功能,提示语音是“请输入会议室密码”,正确输入密码加入会议后,语音提示“当前会议室就你一人,等待其他人入会”,音乐响起;接着使用话机1003拨打号码50000,按照语音引导,加入会议室,会议室内超过两人,系统音乐停止。测试结果表明,会议功能可以正常使用。

5 结 语

本文基于FreeSwitch软件的特点,选择其作为SIP服务软件,搭建校园智能通信系统。经过实验测试,系统可实现统一通信与录音系统功能,在通话过程中,需要开启录音,所以在分机拨打的路由策略中添加了录音开启功能;系统可实现智能自动化语音交互,即可通过标准的VXML格式进行语音引导,实现离线留言、Web系统查询交互、加入会议等功能,同时IVR中保留了直播分机号的选项,如果用户直接按分机号,则转接到对应分机号。测试结果证实了系统整体功能的正确性和可行性。基于FreeSwitch搭建校园智能通信系统可与WebRTC连接,实现WebRTC与VoIP的互通。WebRTC是一项基于Web技术的实时通信协议,可以实现浏览器间的音视频通信。通过将WebRTC与FreeSwitch相结合,可将WebRTC的音视频流转换为VoIP信号,从而实现WebRTC与传统电话网络的互通。同时,也可以通过WebRTC实现校园内部的视频通信和远程教育等功能,提高教学效率和质量。

参考文献

[1]王海波. VoIP语音通信技术的研究与问题分析[J].中国新通信,2021,23(10):9-10.

[2]王乾.基于VoIP的语音通信系统设计[J].中国高新科技,2020,27(24):61-63.

[3]王涛,汪佳欣,张新科.基于语音交互和定位系统的智能导盲伴侣[J].单片机与嵌入式系统应用,2019,19(11):35-38.

[4]张嘉元,高晓辉,陈涛,等.基于VoIP语音网系统设计[J].数字通信世界,2018,14(12):21-22.

[5]张平波,何纬.基于PJSIP协议的VoIP软电话系统的开发设计[J].信息化研究,2019,45(1):51-57.

[6]张玲丽.校园VoIP网的设计与实现[J].轻工科技,2018,34(8):91-92.

[7]闫红书,阎丕涛,王佳,等.基于校园网的VoIP应用设计与实现

[J].中国教育信息化,2017,23(1):83-85.

[8]刘勇,石方文,孙学康.多媒体通信技术与应用[M].西安:人民邮电出版社,2017.

[9]原建宇.基于4G融合网络的VoIP系统的设计与实现[D].合肥:安徽大学,2021.

[10]秦福星,王忠.基于FreeSwitch语音通信系统研究[J].通信与信息技术,2020,50(2):54-57.