opensips mysql 认证_基于ubuntu中使用mysql实现opensips用户认证的解决方法
1 MySQL支持
1.1 MySQL模块支持
默认安装时,不包含MySQL模块。
opensipsctlrc文件中包含了数据库配置的信息,要想让opensips支持mysql数据库,在编译安装的时候
就要支持mysql模块。方法如下:
(1)修改opensips中的Makefile.conf,在exclude_modules中去掉db_mysql,在include_modules中
添加db_mysql,然后重新编译安装。要添加支持的模块都可以这样操作。
(2)编译时指定,make include_modules=”db_mysql” modules prefix=/ 。
在编译安装之前,需要安装mysql的开发包,要不编译通不过。方法如下:
$sudo apt-get install libmysqlclient-dev 。
2.2 安装MySQL
使用sudo opensipsdbctl create创建数据库在之前,要确认已经安装了mysql。安装方法如下:
$sudo apt-get install mysql-server mysql-client
安装过程中提示输入mysql的root用户密码。使用如下命令测试mysql是否安装成功
$sudo mysql -p 输入刚才设置的root密码
MySQL URL格式如下:
mysql://username:password@domain/dbname
2.3 创建opensips数据库
使用sudo opensipsdbctl create命令来创建数据库,这个过程中要求输入MySQL数据库root用户的密码,
就是上一步输入的密码。然后还有一些附加的表让你选择是否创建,选择之后opensips数据库创建成功。
/sbin/opensipsdbctl是一个shell脚本,可以打开读一下它的代码就知道创建数据库是怎么一个过程了。首先,
它会把/etc/opensips/opensipsctlrc这个配置文件包含进来,然后根据这个配置文件来创建数据库,还涉及到
/lib/opensips/opensipsctl中的opensipsdbctl.base文件和 opensipsdbctl.mysql文件。
可以进入opensips数据库查看一下有哪些表,用户认证要用的是subscriber表。
2 用户认证配置
上一节中已经说明了怎么让opensips支持MySQL数据库,用户认证是在上一节的基础上完成的。
这部分的主要工作是对opensips配置文件的修改,包括opensips.cfg和opensipsctlrc文件。配置文件opensips.cfg中
要修改全局变量、加载db_mysql.so、auth.so和auth_db.so动态库,并配置相应的参数,以及修改路由策略,同时配置文件
opensipsctlrc中也要修改一些参数。
配置文件opensips.cfg如下:
配置的过程中在网上找了很多资料,通常是配置文件检查能通过,但总是不能运行opensips,对这些资料深表怀疑,不知道
他们有没有真正实践过!
最后还是决定看官方的说明,如opensips mysql installation的英文PDF、opensips源码包中的INSTALL文件等。
INSTALL文件中只说明了要向opensips.cfg文件中添加那些配置代码,而没有详细说明要把这些语句加在什么位置,而且
其中好像还有错误,不能使用break,而是exit。opensips mysql installation的英文PDF中说明了具体的位置,但是还要
根据自己的实际情况来配置。
配置完成以后要检查配置文件语法是否正确,命令如下:
$sudo opensips –c
检查通过以后启动opensips,命令如下:
$sudo opensipsctl start
如果启动时出现错误,查看系统日志了解具体原因,然后针原因解决问题。
$vim /var/log/syslog
3 测试
添加SIP用户:
语法:opensipsctl add
opensipsctl add alice@192.168.139.121 123456
opensipsctl add bob@192.168.139.121 123456
然后下载SIP客户端进行测试!
opensips mysql 认证_基于ubuntu中使用mysql实现opensips用户认证的解决方法相关推荐
- ubuntu mysql 优化_在Ubuntu上使用MySQL设置远程数据库优化站点性能
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 介绍 随着您的应用程序或网站的增长,您可能已经超出了当前的服务器设置.如果您在同一台计算机上托管Web服务器和数据库后端,最好将这两个功能分 ...
- php mysql 迁移_将phpstudy中的mysql迁移至Linux教程
项目目的 将原来windows环境中使用phpstudy搭建的mysql 5.5.53 中的数据迁移至新主机Linux环境中 环境情况 新主机 系统平台: CentOS release 7.4 (Fi ...
- 怎么在Vc中打开MySQL数据库_在vc++中使用mysql数据库_MySQL
vc++版本:v6.0 Host Info: localhost via TCP/IP Server Info: 5.0.67-community-nt Server Version: 50067 C ...
- java代码中设置mysql时区_关于Java中的mysql时区问题详解
前言 话说工作十多年,mysql 还真没用几年.起初是外企银行,无法直接接触到 DB:后来一直从事架构方面,也多是解决问题为主. 这次搭建海外机房,围绕时区大家做了一番讨论.不说最终的结果是什么,期间 ...
- Ubuntu中使用apt-get时无法搜索软件的解决方法
在centos中可以利用命令yum search + 软件名 来搜索源中的软件,非常方便,那ubuntu中有没有类似的命令呢? ubuntu中是用apt-get来进行软件安装的,我们首先打开终端来查看 ...
- ubuntu中解压rar文件遇到乱码的解决方法
如上图所示,在用ubuntu的时候经常会遇见rar压缩文件打开出现乱码,解压的时候也会出现无效的编码等错误. 解决方法是用 sudo apt-get remove rar 卸载rar 然后用 sudo ...
- ubuntu+终端不能启动mysql数据库_在ubuntu环境下mysql数据库启动异常排除
今天在ubuntu 12.04安装了mysql , 使用命令: sudo apt-get install mysql-server mysql-client 安装 安装以后启动正常,但是发现mysql ...
- kotlin mysql数据库_在kotlin中使用mysql行级锁
mysql中的锁 首先需要介绍一下mysql的锁.一般我们使用InnoDB数据库引擎+行级锁,SQL为:SELECT * FROM table where id = 1 for update;.for ...
- java读mysql增量_在Java中检索MySQL自动增量
我试图从数据库检索idPatient,但我不断收到错误,idPatient是自动增量.但我不知道这是什么原因造成的问题. 这是我正在尝试的代码 public List getPatientsFromD ...
最新文章
- Lync Server 2010标准版系列PART1:基础构建
- python3 练习题100例 (二十二)输入两个字符串,输出两个字符串集合的并集
- Python合并2个字典成1个新字典的9种方法
- 从Powershell 入侵脚本学到的如何执行后台runspace~
- 从网页(WEB)登录SAP
- OpenCV使用pthread实现多线程加速处理图像(C++)
- 解决 c3p0 和 MySQL 集成情况下,连接长时间闲置后重新使用时报错的问题
- tf.shape()和tf.reshape()
- VALSE学习(十二):视频时序建模和动作识别
- inDesign教程,如何创建具有吸引力的边注栏?
- Pyinstaller打包过程中报错“AttributeError: 'str' object has no attribute 'items''”问题解决
- 怎么使用水经注万能地图下载器制作百度个性化地图-人造区域篇
- 2022手机号段大全、归属运营商整理—2022.01.04更新(包含三大运营商)
- 数据采集工具:八爪鱼
- “注释”是程序员的自我修养
- 车载网络与计算机网络有什么不同,浅谈汽车车载网络的应用
- nbiot和2g_NBIoT网络覆盖性能评价与优化
- 《论语》原文及其全文翻译 学而篇1
- SQL Server ansi_null_default | ansi_null_dflt_on
- 华为电脑可以升级鸿蒙系统吗,华为电脑现在是鸿蒙系统吗_华为p40升级鸿蒙系统...