部署FreeSWITCH服务的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32515474 阅读:18 留言:0更新日期:2022-03-02 11:09
本发明专利技术实施方式公开了一种部署FreeSWITCH服务的方法、装置、电子设备及存储介质。方法包括:获取用于构建FreeSWITCH服务的业务镜像的Dockerfile文件、所述FreeSWITCH服务的配置文件和所述FreeSWITCH服务的脚本文件,其中所述配置文件包含业务配置文件和环境变量文件;基于所述Dockerfile文件创建包含所述业务镜像的容器;在所述容器中挂载基于所述脚本文件生成的脚本数据卷和基于所述业务配置文件生成的业务配置数据卷;基于所述环境变量文件生成所述容器的环境变量。本发明专利技术实施方式的可移植性高,提高了灾备、扩容和回滚能力,实现了研发测试流水线的快速迭代。实现了研发测试流水线的快速迭代。实现了研发测试流水线的快速迭代。

【技术实现步骤摘要】
部署FreeSWITCH服务的方法、装置、电子设备及存储介质


[0001]本专利技术实施方式涉及FreeSWITCH
,更具体的说,涉及一种部署FreeSWITCH服务的方法、装置、电子设备及存储介质。

技术介绍

[0002]FreeSWITCH是开源的电话交换平台,从软电话客户端到运营商级的软交换设备几乎无所不能。FreeSWITCH可以原生地运行于Windows、Max OS X、Linux、BSD及solaris等诸多32/64位平台。FreeSWITCH可以用作一个简单的交换引擎、专用分支交换(Private Branch Exchange,PBX),媒体网关或媒体支持互动式语音应答((Interactive Voice Response,IVR)的服务器等。FreeSWITCH支持会话初始协议(Session initialization Protocol,SIP)、H323、Skype、Google Talk等协议,并能很容易地与各种开源的PBX系统(如sipXecs、Call Weaver、Bayonne、YATE及Asterisk等)通信。
[0003]目前,在常见的FreeSWITCH的部署方案中,直接编译FreeSWITCH源码,在宿主机安装对应的依赖应用,并修改编译结果的配置(conf)目录下的配置文件及脚本(scripts)目录下的脚本插件来直接启动FreeSWITCH服务。
[0004]然而,针对流量较大、场景丰富、迭代频繁的场景(比如互联网公司)中,运维及项目迭代管理难度大幅度上升,主要体现在:(1)、灾备、扩容、回滚能力不足,各种变动都得重新编译源码、安装依赖和修改配置,可移植性差。(2)、单点故障、配置修改及脚本更新不够透明,多人协作场景无冲突解决能力。

技术实现思路

[0005]本专利技术实施方式提出一种部署FreeSWITCH服务的方法、装置、电子设备及存储介质。
[0006]本专利技术实施方式的技术方案如下:
[0007]一种部署FreeSWITCH服务的方法,包括:
[0008]获取用于构建FreeSWITCH服务的业务镜像的Dockerfile文件、所述FreeSWITCH服务的配置文件和所述FreeSWITCH服务的脚本文件,其中所述配置文件包含业务配置文件和环境变量文件;
[0009]基于所述Dockerfile文件创建包含所述业务镜像的容器;
[0010]在所述容器中挂载基于所述脚本文件生成的脚本数据卷和基于所述业务配置文件生成的业务配置数据卷;
[0011]基于所述环境变量文件生成所述容器的环境变量。
[0012]在示范性实施方式中,还包括:
[0013]在操作系统镜像中安装FreeSWITCH服务的源代码以构建FreeSWITCH服务的源镜像;
[0014]基于所述源镜像编译所述源代码以构建FreeSWITCH服务的基础映像;
[0015]基于所述基础映像创建FreeSWITCH服务的业务镜像;
[0016]基于所述业务镜像生成所述Dockerfile文件;
[0017]将所述Dockerfile文件发送到代码仓库;
[0018]所述获取Dockerfile文件包括:经由Jenkins从所述代码仓库获取所述Dockerfile文件。
[0019]在示范性实施方式中,还包括:
[0020]将所述配置文件和所述脚本文件发送到所述代码仓库;
[0021]其中在配置主目录下的、对应于业务配置的子目录中存储所述业务配置文件,在所述配置主目录下存储所述环境变量文件,在脚本主目录下存储所述脚本文件;
[0022]所述获取配置文件和脚本文件包括:经由Jenkins从所述配置主目录中获取所述环境变量文件,从所述子目录中获取所述业务配置文件以及从所述脚本主目录中获取所述脚本文件。
[0023]在示范性实施方式中,所述基于所述环境变量文件生成所述容器的环境变量包括:
[0024]基于所述环境变量文件,以docker

compose编排工具生成所述容器环境变量。
[0025]在示范性实施方式中,所述业务配置文件包含呼叫计划配置文件或号码管理配置文件;所述环境变量文件包含会话初始协议端口、外部端口、内部端口或认证密码;所述脚本文件包括所述FreeSWITCH服务的附加业务逻辑。
[0026]一种部署FreeSWITCH服务的装置,包括:
[0027]获取模块,用于获取用于构建FreeSWITCH服务的业务镜像的Dockerfile文件、所述FreeSWITCH服务的配置文件和所述FreeSWITCH服务的脚本文件,其中所述配置文件包含业务配置文件和环境变量文件;
[0028]创建模块,用于基于所述Dockerfile文件创建包含所述业务镜像的容器;
[0029]挂载模块,用于在所述容器中挂载基于所述脚本文件生成的脚本数据卷和基于所述业务配置文件生成的业务配置数据卷;
[0030]生成模块,用于基于所述环境变量文件生成所述容器的环境变量。
[0031]在示范性实施方式中,还包括:
[0032]发送模块,用于在操作系统镜像中安装FreeSWITCH服务的源代码以构建FreeSWITCH服务的源镜像;基于所述源镜像编译所述源代码以构建FreeSWITCH服务的基础映像;基于所述基础映像创建FreeSWITCH服务的业务镜像;基于所述业务镜像生成所述Dockerfile文件;将所述Dockerfile文件发送到代码仓库;
[0033]所述获取模块,用于经由Jenkins从所述代码仓库获取所述Dockerfile文件。
[0034]在示范性实施方式中,
[0035]发送模块,还用于将所述配置文件和所述脚本文件发送到所述代码仓库;其中在配置主目录下的、对应于业务配置的子目录中存储所述业务配置文件,在所述配置主目录下存储所述环境变量文件,在脚本主目录下存储所述脚本文件:
[0036]所述获取模块,用于经由Jenkins从所述配置主目录中获取所述环境变量文件,从所述子目录中获取所述业务配置文件以及从所述脚本主目录中获取所述脚本文件。
[0037]在示范性实施方式中,生成模块,用于基于所述环境变量文件,以docker

compose
编排工具生成所述容器环境变量。
[0038]在示范性实施方式中,所述业务配置文件包含呼叫计划配置文件或号码管理配置文件;所述环境变量文件包含会话初始协议端口、外部端口、内部端口或认证密码;所述脚本文件包括所述FreeSWITCH服务的附加业务逻辑。
[0039]一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时可实现如上任一项所述的部署FreeSWITCH服务的方法的步骤。
[0040]一种电子设备,该电子设备包括:
[0041]处理器;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种部署FreeSWITCH服务的方法,其特征在于,包括:获取用于构建FreeSWITCH服务的业务镜像的Dockerfile文件、所述FreeSWITCH服务的配置文件和所述FreeSWITCH服务的脚本文件,其中所述配置文件包含业务配置文件和环境变量文件;基于所述Dockerfile文件创建包含所述业务镜像的容器;在所述容器中挂载基于所述脚本文件生成的脚本数据卷和基于所述业务配置文件生成的业务配置数据卷;基于所述环境变量文件生成所述容器的环境变量。2.根据权利要求1所述的部署FreeSWITCH服务的方法,其特征在于,还包括:在操作系统镜像中安装FreeSWITCH服务的源代码以构建FreeSWITCH服务的源镜像;基于所述源镜像编译所述源代码以构建FreeSWITCH服务的基础映像;基于所述基础映像创建FreeSWITCH服务的业务镜像;基于所述业务镜像生成所述Dockerfile文件;将所述Dockerfile文件发送到代码仓库;所述获取Dockerfile文件包括:经由Jenkins从所述代码仓库获取所述Dockerfile文件。3.根据权利要求2所述的部署FreeSWITCH服务的方法,其特征在于,还包括:将所述配置文件和所述脚本文件发送到所述代码仓库;其中在配置主目录下的、对应于业务配置的子目录中存储所述业务配置文件,在所述配置主目录下存储所述环境变量文件,在脚本主目录下存储所述脚本文件;所述获取配置文件和脚本文件包括:经由Jenkins从所述配置主目录中获取所述环境变量文件,从所述子目录中获取所述业务配置文件以及从所述脚本主目录中获取所述脚本文件。4.根据权利要求1所述的部署FreeSWITCH服务的方法,其特征在于,所述基于所述环境变量文件生成所述容器的环境变量包括:基于所述环境变量文件,以docker

compose编排工具生成所述容器环境变量。5.根据权利要求1所述的部署FreeSWITCH服务的方法,其特征在于,所述业务配置文件包含呼叫计划配置文件或号码管理配置文件;所述环境变量文件包含会话初始协议端口、外部端口、内部端口或认证密码;所述脚本文件包括所述FreeSWITCH服务的附加业务逻辑。6.一种部署FreeSWI...

【专利技术属性】
技术研发人员:马怀智
申请(专利权)人:北京房江湖科技有限公司
类型:发明
国别省市:

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

1