快速安装方式安装开源OpenSIPS和CP控制界面

2023-12-24 12:01

本文主要是介绍快速安装方式安装开源OpenSIPS和CP控制界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        OpenSIPS是目前世界上主流的两个SIP软交换引擎(其中另外一个是kamailio)或者SIP信令服务器(个人认为是比较正确的称谓)。关于Opensips的基础和一些参数配置和安装方式笔者在很久以前的历史文档中有非常多的介绍。最近,很多用户使用OpenSIPS软交换平台做freeSBC或者其他的功能业务的实现,这些客户遇到很多的疑问和安装中也遇到很多问题,所以,为了让客户能够快速安装opensips, 笔者通过一个最完整和稳定的方式完整实现一次安装过程,帮助客户能够快速准确地安装好opensips,数据库,CLI和界面管理设置。

另外提醒读者,OpenSIPS是一个SIP信令服务器,它的功能非常强大,也非常灵活,cfg配置的核心文件可以通过rfc3261结合第三方应用做不同场景中的流程处理。因此,用户学习OpenSIPS时就会面对很多的问题。比较常见的“大概”可以支持的业务场景如下,但不仅限于于此。

如果读者不明白这些相关的基本知识点的话,可以通过微信号查找2018年的历史文档,查找 “Kamailio/OpenSIPS学习笔记”可以获得学习资料。

Kamailio/OpenSIPS学习笔记-SIP相关基础​

mp.weixin.qq.com/s?__biz=MzA4NjU0NTIwNQ==&mid=2656444429&idx=1&sn=d77093faef24765a05f0c67b1189069f&chksm=84658657b3120f4181d417e1b67aa0b0da079532ac227682415521394af0dcd86728790e97cb&scene=21#wechat_redirect​编辑

一些客户遇到的主要的问题是操作系统选择错误,另外安装的opensips的版本和界面控制系统CP的安装错误。因此,笔者选择目前官方最稳定的安装方式进行安装,帮助客户或者其他想学习opensips的用户能够快速上手,并且无需再查找其他资源,保证你安装环境能够正常工作。笔者首先明确安装配置环境,然后通过一步步快速安装方式安装opensips,安装数据库,最后安装opensips的界面CP,最后访问界面。

提醒读者:根据官方人士的推荐,为了保证为用户提供完整稳定的安装流程,笔者仅测试当前的opensips 数据源,仅测试Debian 10.6(buster)版本。如果读者安装错误,可能是其他支持包版本或者连接的问题,请自行更新修复。

1 安装配置环境准备

在安装opensips或者其他的开源软件时,一些用户经常犯的错误时,不咨询官方资源,不看官方说明,根据自己的喜好或者其他业务要求原因,想当然安装一个操作系统。因此,最后导致很多支持包错误,安装错误等问题。这里,笔者不是说其他的操作系统不支持或者不能安装,为了减少时间浪费,最好按照官方推荐来配置,除非有业务需求必须安装到一个指定的操作系统,否则,笔者建议大家按照官方的配置建议来安装。这里,笔者安装的测试环境包括:

  1. Debian 10.6(buster) 版本,当然用户也可以安装其他的操作系统或者其他的版本,但是“可能”发生支持包错误(至少目前笔者测试安装ubutun-18/20发生了错误)。根据官方推荐,安装Debian 10.6(buster)版本。
  2. OpenSIP-3.1 稳定版
  3. OpenSIPS Control Panel class 8

​如果读者非常熟悉操作系统和其支持包包括源代码安装的话,也可以通过源代码安装方式实现。对于一般基础用户,最好查看官方的数据配置源:

2 安装OpenSIPS

用户安装好推荐的操作系统Debian-10以后,以root账号登录系统。执行以下几个步骤的操作。首先安装支持包,创建OpenSIPS的数据源:

apt install gnupg2
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 049AD65B
echo "deb https://apt.opensips.org buster 3.1-releases" >/etc/apt/sources.list.d/opensips.list
echo "deb https://apt.opensips.org buster cli-releases" >/etc/apt/sources.list.d/opensips-cli.list

如果执行权限错误的话,可能是登录用户没有读写权限,不能写入sources.list.d/opensips.list文件,请检查用户执行权限再次执行。

配置好数据以后,再次执行系统更新

apt-get update

系统执行更新以后,会看到opensips的数据加载到了记录中。

确保成功保存文件配置

然后,执行安装命令,安装openisps和CLI 工具。注意,opensips-3.1以后对工具做了很多的优化和升级,支持了更多的功能。CLI工具安装也是独立完成。

apt install opensips
apt install opensips-cli

安装CLI工具,如果CLI根据安装失败,其他后续步骤免谈。没有cli工具无法访问opensips引擎和CP界面。因此,我们一定要确保CLI工具也成功安装。

安装好opensips和opensips CLI以后,我们还需要安装opensips的其他支持模块,执行命令:

apt install opensips-*

​如果以上步骤全部正常安装成功的话,说明opensips和CLI已经安装成功。

也可以通过源码安装的方式进行编译安装,采用mariadb

3 配置系统启动服务

安装好opensips和CLI以后,我们需要开启opensips的系统服务,执行以下命令:

systemctl enable opensips  // 开启服务
systemctl start opensips  // 启动服务 stop 关闭
systemctl status opensips // 查看opensips状态

到这一步为止,我们已经成功安装了opensips, CLI和开启了系统服务。接下来,我们继续安装数据库。

4 OpenSIPS数据库安装配置

OpenSIPS使用MYSQL来存储一些必要的配置信息和模块信息,例如需要存储subscribers和密码,拨号规则,路由配置等信息。这里,我们开始安装mysql和相关的支持包。首先,安装mysql的db,执行命令:

apt install mariadb-server

说明,这里安装的数据库是本地安装(和opensips同一服务器),无需访问互联网资源,无密码设置。

然后,通过CLI命令,创建opensips数据库:

opensips-cli -x database create opensips

注意输入的mysql url地址,这里输入的是mysql://localhost。如果有独立安装的数据库服务器,输入其他第三方地址。具体说明,查看mysql手册。

数据库和相关的表创建成功以后,查看数据库表状态,执行命令:

mysql opensips -e "show tables"

5 安装OpenSIPS Control Panel界面

用户在确认以上所有步骤安装成功以后,如果需要配置CP界面的话,我们可以通过安装步骤实现界面配置安装。如果仅通过CLI操作实现opensips配置的话,无需安装界面系统。通过界面配置实现OpenSIPS的配置相对比较简单,笔者建议用户通过安装界面来一步步实现cfg的文件配置流程,如果一开始就通过cfg配置的话,一些新手可能非常迷惑。所以,我们花费一点时间来配置控制界面。首先,我们需要安装一些必要的支持包,我们需要执行以下命令:

apt-get install -y apache2;
apt-get install -y php php-curl php-gd php-pear php-cli php-mysql php-apcu;
apt-get install libapache2-mod-php  unzip;

以上支持包安装完成以后,再执行下载CP安装命令:

cd /var/www/html;
wget https://github.com/OpenSIPS/opensips-cp/archive/master.zip;
unzip master.zip;
mv opensips-cp-master opensips-cp
chown -R www-data:www-data /var/www/html/opensips-cp/
mysql -Dopensips < /var/www/html/opensips-cp/config/db_schema.mysql
cp /var/www/html/opensips-cp/config/tools/system/smonitor/opensips_stats_cron /etc/cron.d/
mysql -e "CREATE USER 'opensips'@'localhost' IDENTIFIED BY 'opensipsrw';"
mysql -e "GRANT ALL PRIVILEGES ON opensips.* TO 'opensips'@'localhost';"
mysql -e "FLUSH PRIVILEGES"
systemctl restart cron

最后配置apache文件访问界面系统,访问默认apache配置文件目录(/etc/apache2/sites-available/000-default ),编辑配置文件000-default,替换成以下文件配置:

<VirtualHost *:80>#ServerName www.example.comServerAdmin webmaster@localhostDocumentRoot /var/www/htmlErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined<Directory /var/www/html/opensips-cp/web>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneRequire all granted</Directory><Directory /var/www/html/opensips-cp>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneRequire all denied</Directory>Alias /cp /var/www/html/opensips-cp/web<DirectoryMatch "/var/www/html/opensips-cp/web/tools/.*/.*/(template|custom_actions|lib)/">Require all denied</DirectoryMatch></VirtualHost>
​

重新启动服务器,su -, 然后reboot。

通过浏览器访问OpenSIPS Control Panel 界面

通过以上命令安装以后,用户就可以通过浏览器,输入OpenSIPS的IP地址/cp来访问OpenSIPS Control Panel控制界面,例如,笔者的是192.168.0.102/cp。登录用户名称,admin,密码是opensips( 前面已设置)

如果出现“Can not find driver”的问题:

确保已经装好php7.4-mysql扩展
php -v
sudo apt-get install php7.4-mysql
确保php.ini已启用pdo
locate php.ini
sudo nano /etc/php/7.4/fpm/php.ini
启用以下
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
保存
重启web服务器(apache或者nginx)
service nginx restart
php -m | grep -i pdo
PDO
pdo_mysql
phpinfo()中依然是PDO drivers > no value,我们先尝试重试自己的开发站点

总结

OpenSIPS和控制界面,数据库安装是相对比较复杂的过程,很多用户出现的错误大部分都是因为版本的错误或者操作系统选择不匹配。笔者为用户提供了一个完整的opensips,数据库和界面配置的配置方式,并且推荐了相对比较稳定的版本。通过以上一步步的配置,用户就可以实现OpenSIPS,数据库和界面的配置。当然,这仅是万里长征的第一步,为了实现OpenSIPS所提供的强大功能,用户需要首先创建分机,配置路由, 均衡负载,HA或者推荐第三方的集成,例如和Asterisk或者FreeSWITCH媒体服务器的集成等。

这篇关于快速安装方式安装开源OpenSIPS和CP控制界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/531704

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。