基于华为鲲鹏CPU和Kylin linux架构编译安装Asterisk-19完善华为云语音业务生态链,实现私有云混合云多种业务
今天,通过安装Asterisk-19再测试一下欧拉的支持包支持情况。首先说明,我们仅测试openEuler对底层支持包的完整性以及相关支持包的安装情况,关于后期运行性能等方面分担测试待笔者有时间后再做进一步测试。

测试环境:
- CPU型号:2vCPUs | 4 GiB | c6s.large.2
- 操作系统:openEuler 20.03 64bit
- Asterisk-19
首先,用户确认购买的服务器版本。购买华为服务器,版本为openEuler 20。

然后登录系统以后,查看系统版本,显示结果是openEuler 20.0.3 版本。

用户登录了华为ECS以后,可以通过命令进行安装部署。在安装编译之前,我们首先需要做一点准备工作。根据笔者使用情况来看,openEuler的命令基本上是继承了Centos系统的命令。因此,在安装过程中,如果用户熟悉Centos或者其他红帽子变种发行版的用户,可以按照Centos命令安装支持包,编译文件。如果发现有其他命令需要验证的话,建议访问欧拉官方社区获得文档说明以及nmcli 等网络配置说明。为了保险起见,用户需要提前更新一下系统支持包,然后执行针对Asterisk的支持包的安装,以下安装包是Asterisk官方安装建议支持的支持包,笔者在安装时缺省了 “epel-release”。用户可以使用DNF安装方式,也可以继续使用yum 安装方式。
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

另外比较重要的一个支持包是jansson 支持包。这个支持包直接通过git安装访问github有问题,安装比较头疼,建议用户直接通过源代码安装方式安装。安装源代码以后,解压源代码,然后一步步进行编译。
tar zxvf jansson 压缩包
./configure
make
make install
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
在源代码目录下执行./configure,make, make install, make samples, 如果环境配置成功的话,编译完成,启动Asterisk以后,检查版本和其他加载的PJSIP模块。


退出Asterisk后显示系统状态:

安装编译好Asterisk-19以后,用户就可以继续配置SIP分机,SIP trunk和鼎信SBC对接来测试基于华为openEuler的通信系统了。通过安装实际测试,openEuler底层支持库相对比较完善,对Asterisk-19编译比较友好,安装过程无太多的问题, 用户应该可以非常快速在openEuler安装Asterisk-19。
参考链接:
- www.asterisk.org.cn
- www.asterisk.org
- www.dinstar.cn
- https://www.huawei.com/cn/news/2019/12/huawei-openeuler