基于Docker和Asterisk的软交换实验平台和实验方法

文档序号:70488 发布日期:2021-10-01 浏览:22次 >En<

阅读说明:本技术 基于Docker和Asterisk的软交换实验平台和实验方法 (Soft exchange experiment platform and method based on Docker and Asterisk ) 是由 涂继辉 李苏 付博文 魏江东 邱威 周翔 李奇然 吕云霏 于 2021-06-01 设计创作,主要内容包括:本发明提供了基于Docker和Asterisk的软交换实验平台和实验方法,包括Asterisk系统、Docker环境容器和web管理系统,Asterisk系统作为软交换实验平台的核心,用Docker环境容器承载Asterisk系统,通过web管理系统对软交换实验平台进行配置和管理,具有部署简单、操作灵活、价格低廉和扩展性好的特点。Asterisk系统保证了软交换实验平台完整的体系架构和二次开发功能,为学习软交换系统的架构和原理起到了重要的作用。用Docker环境容器确保了各系统的独立性和好的扩展性。web管理系统配置和管理实验平台具有部署简单合理、操作灵活方便的优点。软交换实验平台不仅满足基础学员基础的实验学习任务,还能满足动手能力和编程能力强的学生进行二次开发,提高综合能力的的需求,适合推广使用。(The invention provides a soft switch experiment platform and an experiment method based on Docker and Asterisk, which comprise an Asterisk system, a Docker environment container and a web management system, wherein the Asterisk system is used as the core of the soft switch experiment platform, the Docker environment container is used for bearing the Asterisk system, and the soft switch experiment platform is configured and managed through the web management system. The Asterisk system ensures the complete system architecture and secondary development function of the soft switch experimental platform, and plays an important role in learning the architecture and the principle of the soft switch system. The Docker environment container ensures the independence and good expansibility of each system. The web management system configuration and management experiment platform has the advantages of simple and reasonable deployment and flexible and convenient operation. The soft switch experiment platform not only meets the basic experiment and study tasks of basic students, but also can meet the requirement that students with strong practical ability and programming ability carry out secondary development, improves the requirement of comprehensive ability, and is suitable for popularization and use.)

基于Docker和Asterisk的软交换实验平台和实验方法

技术领域

本发明涉及软交换实验领域,具体涉及基于Docker和Asterisk的软交换实验平台和实验方法。

背景技术

目前国内许多高校都已经开设了软交换实验,所采用的实验系统主要是三类,第一类产品的价格昂贵,系统部署困难,升级难度大,不利于教学;第二类产品无法了解软交换的网络架构以及信令流程,也无法进行二次开发;第三类产品是大多数缺乏配套的教学管理系统和二次开发功能。软交换实验平台如果利用单独服务器承载,不但不便于部署和使用,而且使得实验平台的成本提高;如果利用PC机上的虚拟机承载,占用资源较大,也存在部署和维护的困难,因为虚拟机容易损坏。针对目前的现状,提出一种不但具有完整的体系架构和完善二次开发功能,配套的教学管理系统,而且价格低廉,部署简单软交换实验平台是一种必然趋势。

中国专利“CN104486303A”提供了一种NGN软交换实验系统及其控制方法,该专利将实验过程分阶段进行,操作者先通过业务维护单元在本地做好数据配置,然后在客户端NGN-Client向服务端NGN-Server发送申请数据加载请求,服务端NGN-Server通过排队机制将数据加载到软交换单元上,最后进行实验验证,从而解决了多操作者操作一台软交换单元而导致的整体实验时间过长、设备利用率低、数据紊乱等问题,保证了数据的有效性与一致性,并且极大地节约实验时间,提高了教学效率。但是该专利缺乏配套的教学管理系统和二次开发功能,不能为学生学习软交换技术提供了完整的实验环境,也不能为学生提供二次开发功能,不能满足学生的动手能力和编程能力,不能为学生的创新创业以及毕业设计提供很好的实验环境,阻碍了学生全面发展的能力。

发明内容

本发明的主要目的在于提供基于Docker和Asterisk的软交换实验平台和实验方法,解决软交换实验平台不具有完整的体系架构,缺乏配套的教学管理系统和完善的二次开发功能的问题。

为解决上述技术问题,本发明所采用的技术方案是:包括Asterisk系统、Docker环境容器和web管理系统,Asterisk系统作为软交换实验平台的核心,用Docker环境容器承载Asterisk系统,通过web管理系统对软交换实验平台进行配置和管理。

优选方案中,web管理系统对软交换实验平台进行信息管理,web管理系统包括控制模块、拨号规则模块、号码管理模块、话单记录模块和增值模块;

控制模块负责软交换的启动、关闭和重启,拨号规则模块负责软交换实验平台号码规则的管理,号码管理模块负责软交换系统的号码管理,话单记录模块负责话单记录管理,增值模块实现呼叫转移,用户账单查询,语音查分和语音点歌的增值业务功能。

优选方案中,Asterisk系统还包括二次开发进行模块,应用申明和定义模块、初始化加载模块、应用执行模块和卸载模块;

二次开发进行模块对Asterisk系统进行归纳和总结;

应用申明和定义模块定义应用程序的应用名称和说明;

初始化加载模块系统启动的时候对其进行初始化;

应用执行模块是在系统调用应用程序时执行的过程;

卸载模块在系统退出的时候归还所占用系统资源。

优选方案中,二次开发进行模块归纳Asterisk系统中的函数,生成了用于二次开发的函数库的说明文档,并实现了一个独立编译二次开发进行模块中的Makefile脚本文件;

学生能再次根据已有的程序框架和函数库完成自己设计的程序代码,并利用Makefile脚本文件对程序进行编译,上传自己功能模块所需要的语音文件,利用拨号规则模块配置页面设置引用模块对应的特服号码,最后重启软交换系统,对自己的程序进行测试和运行。

优选方案中,Asterisk系统还包括动态模块加载器,动态模块加载器能动态的减少或增加Asterisk系统系统中的运行模块,Asterisk系统外围设有数据库接口模块,数据库接口模块把数据库配置和管理变为数据库方式,利用MySQL数据库帮助存储系统相关的配置和数据,web管理系统配置软交换系统中的数据库;

Asterisk系统运行其它模块时,用户可以根据实际需要,动态的减少或增加模块,web管理系统面向用户设置,配置软交换系统中的数据库中的数据,达到用户对Asterisk系统进行控制和配置的功能。

优选方案中,web管理系统能对软交换实验平台启动和获取软交换实验平台的配置信息;

实验设置人员可以通过web管理系统进行实验信息的发布、实验人员信息的导入、实验小组的分配、实验成绩的评定和实验成绩的导出;实验人员可以通过web管理系统进行实验组员的选择。

优选方案中,在软交换实验平台通过复制Docker环境容器,使得软交换实验平台内有多个由Docker环境容器承载的独立的软交换实验系统。

优选方案中,软交换实验平台还设有docker系统,docker系统为每个由Docker环境容器复制而来的软交换实验系统分配的IP地址,docker系统通过分配的IP地址连接来查看各独立软交换实验系统的实验情况。

优选方案中,基于Docker和Asterisk的软交换实验平台包括基础性实验和扩展性实验;

基础性实验:通过web管理系统配置页面配置终端信息,主要有终端的号码管理模块进行电话号码实验和拨号规则模块进行拨号规则实验,然后通过web管理系统配置页面启动软交换服务;

扩展性实验:利用Asterisk系统提供的API接口和MySQL数据库实现软交换的增值业务:包括呼叫转移、用户帐单查询、语音查分和语音点歌,利用二次开发进行模块,通过提供的API接口和批处理编译文件实现自己编程设计需求。

其方法是:S1、信息导入,设置实验任务:打开web管理系统,通过web管理系统导入各必要信息,实验小组的分配,设置实验任务;

S2、各实验人员登录web管理系统,查看实验组员,查看分配实验任务;

S3、docker系统为每个独立软交换实验系统分配IP地址:

A1:平台自动打开承载有软交换系统的Docker环境容器,并给Docker环境容器分配一个IP地址和对应端口;

A2:docker系统创建一个基础镜像,将软交换系统部署到Docker环境容器中,然后复制成多个软交换系统,使得每个小组都有一个独立的由Docker环境容器承载的软交换系统:;

A3:docker系统为每个由Docker环境容器复制而来的软交换实验系统分配的IP地址,实验设置人员可根据IP地址查看各独立软交换实验系统的实验情况;

S4、实验人员通过web管理系统,进行实验:

B1:实验人员通过web管理系统看到控制模块、拨号规则模块、号码管理模块、话单记录模块和增值模块,并了解各模块的功能,实验人员根据自己的需要选择相应的模块启动软交换系统进行二次开发,开始实验;

B2:生成函数库和Makefile脚本文件:二次开发进行模块归纳Asterisk系统中的函数,生成了用于二次开发的函数库的说明文档,并实现了一个独立编译二次开发进行模块中的Makefile脚本文件;

B3:配置和存储软交换系统中的数据库:动态模块加载器能动态的减少或增加Asterisk系统系统中的运行模块,数据库接口模块把数据库配置和管理变为数据库方式,利用MySQL数据库帮助存储系统相关的配置和数据;

B4:实验人员进行二次开发试验:实验人员按照设计思路根据已有的程序框架和函数库完成自己的设计程序代码,利用脚本对程序进行编译,上传自己功能模块所需要的语音文件,利用拨号规则模块配置页面设置引用模块对应的特服号码,最后重启软交换系统,对自己的程序进行测试和运行;

S5实验结束,导出结果:实验人员提交实验结果,系统会自动打包数据发给设置人员,设置人员则通过对比docker自动为每个小组分配的IP地址来查看各小组的实验情况,并进行评分,导出实验成绩。

本发明提供了基于Docker和Asterisk的软交换实验平台和实验方法,解决了软交换实验平台不具有完整的体系架构,缺乏配套的教学管理系统和完善的二次开发功能的问题。以Asterisk系统作为软交换实验平台的核心,用Docker环境容器承载Asterisk系统,通过web管理系统对软交换实验平台进行配置和管理,具有部署简单、操作灵活、价格低廉和扩展性好的特点。

Asterisk系统保证了软交换实验平台完整的体系架构和二次开发功能,为学生学习软交换系统的架构和原理起到了重要的作用。用Docker环境容器承载Asterisk系统,确保了各系统的独立性和好的扩展性。web管理系统配置和管理实验平台,具有部署简单合理、操作灵活方便。采用了Docker容器的方式承载软交换实验系统,不但便于部署和维护,而且通过复制Docker容器,可以使得每个小组都有一个独立的软交换实验系统,当其中一个小组需要做实验时,只需要打开承载他们小组信息软交换系统的容器,这样的方式节即省了系统资源,也便于管理还大大提高了实验利用率。可移植性强,对于把系统推广使用有很大的优势。web端可视化的方式,使操作起来简单。教师对学生的管理,学生实验的结果查看更加方便。有利于该实验系统的推广使用。通过在Asterisk外围添加数据库接口模块,把数据库配置和管理变为数据库方式。利用MySOL数据库帮助存储系统相关的配置和数据,利用web模块面向用户,就可以达到用户对Asterisk进行控制和配置的功能。学生进行实验时,直接通过web端进行操作,打开软系统进行实验。

软交换实验平台不仅仅满足基础学员基础的实验学习任务,还可以使学生更清楚的了解软交换的网络架构以及信令流程,方便进行二次开发,利于软交换的实验教学和提高学生创新动手能力,提高综合能力的的需求。有配套的web端教学管理系统,方便老师管理,操作简单方便,利于实验系统的推广同时本系统可以作为生产实习和毕业设计的平台,软交换系统部署简单,升级难度小,更利于教学适合推广使用。

附图说明

下面结合附图和实施例对本发明作进一步说明:

图1是本发明整体实验流程图;

图2是本发明编程实验流程图;

图3是本发明整体系统流程图;

图中:Asterisk系统1、动态模块加载器101、二次开发进行模块102、应用申明和定义模块103、初始化加载模块104、应用执行模块105、卸载模块106、Docker环境容器2、web管理系统3、控制模块301、拨号规则模块302、号码管理模块303、话单记录模块304、增值模块305、MySQL数据库4、数据库接口模块5、docker系统6。

具体实施方式

实施例1:

如图1~3所示,基于Docker和Asterisk的软交换实验平台,包括Asterisk系统1、Docker环境容器2和web管理系统3,Asterisk系统1作为软交换实验平台的核心,用Docker环境容器2承载Asterisk系统1,通过web管理系统3对软交换实验平台进行配置和管理。由此结构,Asterisk系统1保证了软交换实验平台完整的体系架构和二次开发功能,为学生学习软交换系统的架构和原理起到了重要的作用。用Docker环境容器2承载Asterisk系统1,确保了各系统的独立性和好的扩展性。web管理系统3配置和管理实验平台,软交换实验平台具有部署简单合理、操作灵活方便部署简单、操作灵活、价格低廉和扩展性好等优点。

优选方案中,web管理系统3对软交换实验平台进行信息管理,web管理系统3包括控制模块301、拨号规则模块302、号码管理模块303、话单记录模块304和增值模块305;

控制模块301负责软交换的启动、关闭和重启,拨号规则模块302负责软交换实验平台号码规则的管理,号码管理模块303负责软交换系统的号码管理,话单记录模块304负责话单记录管理,增值模块305实现呼叫转移,用户账单查询,语音查分和语音点歌的增值业务功能。

优选方案中,Asterisk系统1还包括二次开发进行模块102,应用申明和定义模块103、初始化加载模块104、应用执行模块105和卸载模块106;

二次开发进行模块102对Asterisk系统1进行归纳和总结;

应用申明和定义模块103定义应用程序的应用名称和说明;

初始化加载模块104系统启动的时候对其进行初始化;

应用执行模块105是在系统调用应用程序时执行的过程;

卸载模块106在系统退出的时候归还所占用系统资源。

优选方案中,二次开发进行模块102归纳Asterisk系统1中的函数,生成了用于二次开发的函数库的说明文档,并实现了一个独立编译二次开发进行模块102中的Makefile脚本文件;

学生能再次根据已有的程序框架和函数库完成自己设计的程序代码,并利用Makefile脚本文件对程序进行编译,上传自己功能模块所需要的语音文件,利用拨号规则模块302配置页面设置引用模块对应的特服号码,最后重启软交换系统,对自己的程序进行测试和运行。

优选方案中,Asterisk系统1还包括动态模块加载器101,动态模块加载器101能动态的减少或增加Asterisk系统1系统中的运行模块,Asterisk系统1外围设有数据库接口模块5,数据库接口模块5把数据库配置和管理变为数据库方式,利用MySQL数据库4帮助存储系统相关的配置和数据,web管理系统3配置软交换系统中的数据库;

Asterisk系统1运行其它模块时,用户可以根据实际需要,动态的减少或增加模块,web管理系统3面向用户设置,配置软交换系统中的数据库中的数据,达到用户对Asterisk系统1进行控制和配置的功能。由此结构,本系统结构功能完善,具有完善的体系结构和强大的功能。外围设置和管理界面,配备实验需要的辅助软件,整个系统利用局域网代替了真实的互联网。

优选方案中,web管理系统3能对软交换实验平台启动和获取软交换实验平台的配置信息;

实验设置人员可以通过web管理系统3进行实验信息的发布、实验人员信息的导入、实验小组的分配、实验成绩的评定和实验成绩的导出;实验人员可以通过web管理系统3进行实验组员的选择。

优选方案中,在软交换实验平台通过复制Docker环境容器2,使得软交换实验平台内有多个由Docker环境容器2承载的独立的软交换实验系统。由此结构,Docker 是一个开源的应用容器引擎,一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

优选方案中,软交换实验平台还设有docker系统6,docker系统6为每个由Docker环境容器2复制而来的软交换实验系统分配的IP地址,docker系统6通过分配的IP地址连接来查看各独立软交换实验系统的实验情况。

优选方案中,基于Docker和Asterisk的软交换实验平台包括基础性实验和扩展性实验;

基础性实验:通过web管理系统3配置页面配置终端信息,主要有终端的号码管理模块303进行电话号码实验和拨号规则模块302进行拨号规则实验,然后通过web管理系统3配置页面启动软交换服务;

扩展性实验:利用Asterisk系统1提供的API接口和MySQL数据库4实现软交换的增值业务:包括呼叫转移、用户帐单查询、语音查分和语音点歌,利用二次开发进行模块102,通过提供的API接口和批处理编译文件实现自己编程设计需求。由此结构,基于Docker和Asterisk的软交换实验平台具有多功能应用,基础性实验能够满足教学的基本要求,而对于对编程能力较强的的实验人员,或者对动手能力和编程能力由强烈兴趣或提高需求的人员,本软交换实验平台可以作为他们的提高平台。本软交换实验平台也可作为它用,例如作为生产实习平台和毕业设计平台等。

实施例2:

结合实施例1进一步说明,如图1~3所示,其方法是:信息导入,设置实验任务:打开web管理系统3,通过web管理系统3导入各必要信息,实验小组的分配,设置实验任务。各实验人员登录web管理系统3,查看实验组员,查看分配实验任务。

docker系统6为每个独立软交换实验系统分配IP地址:平台自动打开承载有软交换系统的Docker环境容器2,并给Docker环境容器2分配一个IP地址和对应端口,docker系统6创建一个基础镜像,将软交换系统部署到Docker环境容器2中,然后复制成多个软交换系统,使得每个小组都有一个独立的由Docker环境容器2承载的软交换系统,docker系统6为每个由Docker环境容器2复制而来的软交换实验系统分配的IP地址,实验设置人员可根据IP地址查看各独立软交换实验系统的实验情况。

实验人员通过web管理系统3,进行实验:实验人员通过web管理系统3看到控制模块301、拨号规则模块302、号码管理模块303、话单记录模块304和增值模块305,并了解各模块的功能,实验人员根据自己的需要选择相应的模块启动软交换系统进行二次开发,开始实验。生成函数库和Makefile脚本文件:二次开发进行模块102归纳Asterisk系统1中的函数,生成了用于二次开发的函数库的说明文档,并实现了一个独立编译二次开发进行模块102中的Makefile脚本文件。配置和存储软交换系统中的数据库:动态模块加载器101能动态的减少或增加Asterisk系统1系统中的运行模块,数据库接口模块5把数据库配置和管理变为数据库方式,利用MySQL数据库4帮助存储系统相关的配置和数据。

实验人员进行二次开发试验:实验人员按照设计思路根据已有的程序框架和函数库完成自己的设计程序代码,利用脚本对程序进行编译,上传自己功能模块所需要的语音文件,利用拨号规则模块302配置页面设置引用模块对应的特服号码,最后重启软交换系统,对自己的程序进行测试和运行。

实验结束,导出结果:实验人员提交实验结果,系统会自动打包数据发给设置人员,设置人员则通过对比docker自动为每个小组分配的IP地址来查看各小组的实验情况,并进行评分,导出实验成绩。

上述的实施例仅为本发明的优选技术方案,而不应视为对于本发明的限制,本发明的保护范围应以权利要求记载的技术方案,包括权利要求记载的技术方案中技术特征的等同替换方案为保护范围。即在此范围内的等同替换改进,也在本发明的保护范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种云教育系统和教育数据输出方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!