您当前的位置是:  首页 > 资讯 > 文章精选 >
 首页 > 资讯 > 文章精选 >

基于华为鲲鹏CPU和Kylin linux架构编译安装Asterisk-19完善华为云语音业务生态链

--实现私有云混合云多种业务

2021-11-08 09:22:24   作者: james.zhu   来源:Asterisk开源派   评论:0  点击:


  华为鲲鹏云平台是华为云战略部署的重要组成部分,经过几年快速发展,它已成为了云市场的五朵金花之一。根据国家对网络技术,大数据等相关产业的战略部署的要求,为了具备在下一个五十年在国际市场的竞争力,计算机网络技术的核心技术要掌握在自己手里。大家知道,网络技术最核心的是操作系统和平台,CPU等核心技术,这些技术首先自主化,国产化是最关键的步骤。华为云鲲鹏服务器为我们提供了非常好的国产化基础平台,行业用户,金融项目和政府一些项目都开始在华为鲲鹏服务器平台进行适配,实现国产化部署。
  Asterisk作为目前世界上使用最普遍的企业级融合通信,VoIP的语音基础平台,已经广泛部署在全球不同的云平台,其用户体量也非常巨大。在企业语音通信功能方面支持了非常丰富的业务功能,包括SIP呼叫,WebRTC,PSTN接入,实现了开源IPPBX,FreePBX,免费办公电话系统,办公电话系统的全开源时代。因此,Asterisk也需要进一步进行适配来完成Asterisk在华为鲲鹏服务器环境的支持。华为云不仅仅支持X86架构的下的各种linux开源操作系统,同时也支持华为鲲鹏CPU的环境下的操作系统。因为Asterisk本身已经实现了很多基于云平台X86 CPU的安装部署,笔者不再重复。今天,我们主要计划测试一下华为鲲鹏CPU的云平台ECS,基于操作系统Kylin Linux Advanced Server for Kunpeng V10的安装编译。
  说明,前几天Asterisk官方刚刚发布了Asterisk-19版本,因此我们以Asterisk-19为测试版本进行编译安装。
  1、购买华为ECS,选择鲲鹏CPU和Kylin linux服务器版本
  首先,购买华为云服务,选择鲲鹏CPU和1vCPUs | 1 GiB | kc1.small.1,操作系统是:Kylin Linux Advanced Server for Kunpeng V10。
  
  用户可以根据自己的情况,选择性能更好的CPU进行测试。如果初期测试,建议用户选择按需购买,系统不工作时不计费,这样减少一些部署成本。用户完成了一步步购买启动程序以后,用户可以通过公网IP进行系统访问。

  安装好以后,通过公网IP地址使用SSH登录到华为鲲鹏云后台进行下一步的安装流程。这些流程是基本的ECS购买启动的基本流程,华为网站有非常详细说明,笔者这里不再做过多介绍。用户可以根据自己所处的地区,购买距离自己最近的ECS服务器。当然,为了实现快速安装,实现无障碍访问github支持库,用户也可以选择国外的节点来部署鲲鹏云ECS示例。
  2、编译Asterisk-19前的准备
  用户登录了华为ECS以后,可以通过命令进行安装部署。在安装编译之前,我们首先需要做一点准备工作。根据笔者使用情况来看,Kylin Linux的命令基本上是继承了Centos系统的命令。因此,在安装过程中,如果用户熟悉Centos或者其他红帽子变种发行版的用户,可以按照Centos命令安装支持包,编译文件。如果发现有其他命令需要验证的话,建议访问Kylin Linux文档说明。为了保险起见,用户需要提前更新一下系统支持包,然后执行针对Asterisk的支持包的安装,以下安装包是Asterisk官方安装建议支持的支持包,笔者在安装时缺省了 “epel-release”。
  yum install -y  dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel wget
  完整安装以上所有支持包以后,下载Asterisk-19 tar压缩文件。
 
  在以上安装流程中,我们国内访问Asterisk官方比较慢,也可能是因为笔者系统带宽不足导致。因此,如果读者希望快速安装的话,可以通过本地直接下载,然后上传到ECS服务器。
  另外比较重要的一个支持包是jansson 支持包。这个支持包直接yum安装比较头疼,建议用户直接通过源代码安装方式安装:
  cd /usr/src/
  git clone https://github.com/akheron/jansson.git
  cd jansson
  autoreconf   // 如果执行错误,请先安装此命令,yum install
  ./configure
  make
  make install
  如果出现“uuid support not found”安装错误时,系统缺少了uuid开发包支持,用户需要安装uuid 开发包:
  yum install libuuid-devel
  如果出现了libedit 开发包错误的话,用户执行:
  yum install libedit-devel
  如果出现了 libxml2 错误,用户需要安装
  yum install libxml2
  3、安装PJSIP和Asterisk
  PJSIP是Asterisk目前和未来新版本使用的SIP协议栈,所以,用户可以先编译PJSIP,用户也可以通过Asterisk编译自动绑定PJSIP的版本。如果用户需要手动编译PJSIP,用户可以下载PJSIP,执行源代码编译安装:
  cd /usr/src
  wget https://github.com/pjsip/pjproject/archive/2.10.tar.gz
  tar xvf 2.10.tar.gz
  cd pjproject-2.10
  ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
  make dep
  make
  make install
  ldconfig
  如果PJSIP出现了编译错误的话,包括WebTC的支持包等,用户通过CFLAGS
  参数关闭选项。
  安装好PJSIP以后,用户可以开始安装Asterisk-19,执行配置命令来先完成配置设置。切换到Asterisk-19 源代码目录,执行环境检查,确保所有支持包成功安装:
  cd contrib/scripts/install_prereq install
  完成安装检测以后,执行配置命令。如果发现有类似错误出现的话(configure: error: patch is required to configure bundled pjproject),需要安装patch命令,否则,Asterisk官方补丁不会执行。
  yum install patch
  在源代码目录下执行./configure, 如果环境配置成功的话,就会出现Asterisk的图例。
 
  然后执行编译安装命令:
  make && make install
  
  然后执行 “make sample”命令, 安装Asterisk默认配置文件:
 
  
  到这一步,Asterisk的编译安装基本完成。我们访问CLI后台参考具体环境数据。
  4、启动Asterisk-19,检测测试环境和鲲鹏CPU版本。
  安装好Asterisk以后,用户可以使用命令来进入到Asterisk CLI后台,查看加载的模块,版本等信息,确保启动没有出现任何错误。
  Asterisk -vvvvvvvgc
  
  
  到此为止,基于华为云鲲鹏ECS服务器安装的Asterisk-19 成功安装编译。具体的配置环境和CPU消息如下,执行lshw:
 
  lscpu 显示的鲲鹏CPU处理器信息:
 
  5、测试Asterisk-19环境呼叫
  安装启动了Asterisk-19仅表示我们在华为云成功编译了asterisk。但是,我们这里的Asterisk仍然处于非常不安全的设置环境中,还有环境安全端口SIP,RTP等端口设置仍然没有开启。特别是Asterisk部署在公网环境中,SBC是必不可少的SIP安全机制,为了真正实现华为云鲲鹏服务器ECS的安全稳定的工作,我们需要前端部署一个SBC来实现防火墙和拓扑隐藏功能。外部SIP 网络资源必须通过SBC来实现Asterisk(IPPBX)的业务处理。
  
  通过SBC支持,此解决方案可以满基于Asterisk或者FreeSWITCH等开源软交换开发的企业通信平台,金融客服,呼叫中心,云对讲平台,门禁对讲系统,外网SIP终端注册实现天地物之间的安全稳定集成环境。
  6、总结
  通过在华为云ECS实现安装编译Asterisk-19环境,满足了对平台编译的要求,另外笔者也验证了Kylin Linux的安装支持包的完整性,基本上消除了笔者对其他开源软件部署的支持能力怀疑,至少在Asterisk安装所需要的支持包相对还是比较完整的。另外,安装流程相对比较流畅,基本上没有出现太多安装包缺失的问题,版本更新也相对比较完整。在后续的进一步测试过程中,笔者将根据采用SBC和Asterisk/FreeSWITCH对接集成方式,通过鼎信SBC实现SIP终端,IMS网络和网关的实时环境测试,进一步验证其SIP呼叫的业务功能的可行性,并且结合华为的VPN能力,存储能力等实现未来的拓展能力,保证边缘本地设备和软件能够和华为云服务器端的无缝集成,最终可以支持私有云部署,混合云部署方式的多种业务场景的支持,使得华为鲲鹏云生态链更加完善,打通接入端,接入服务器,业务服务器的各种环节,协助企业通信解决方案厂家,金融领域,安防监控,应急指挥调度系统等重点行业客户实现长远国产化部署的战略布局。
  参考资料:
  • www.dinstar.cn
  • www.asterisk.org
  • www.asterisk.org.cn
  • https://www.huaweicloud.com/
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

相关热词搜索: Asterisk-19

上一篇:协作文化有利于联络中心的9种方式

下一篇:最后一页

相关阅读:

专题

CTI论坛会员企业