基于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如下:

  http://www.jb51.net/article/35752.htm

  配置的过程中在网上找了很多资料,通常是配置文件检查能通过,但总是不能运行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 <username> <password>

  opensipsctl add alice@192.168.139.121 123456

  opensipsctl add bob@192.168.139.121 123456

  然后下载SIP客户端进行测试!

(0)

相关推荐

  • VMware Workstation12安装Ubuntu和VMware Tools教程

    之前我通过百度经验上的过程来安装Ubuntu16,但是每次安装的时候没有什么问题,就是安装好了Tools,也设置好了共享文件夹,但是在路径:/mnt/hgfs 下每次都找不到共享文件夹.后来我研究了好久,应该是安装的时候出了问题.下面是正确可行的安装方法: 一.下载Ubuntu镜像: Ubuntu官网下载地址 二.创建虚拟机 打开VMware Workstation,点击创建新的虚拟机 选择自定义,点下一步,如下图所示: 点下一步,如下图所示: 选择稍后安装操作系统,如下图所示: 选择Linux

  • ubuntu14.04 使用中遇到的问题及解决方法集锦

    这是第二次安装使用ubuntu了,虽然上一次因为不习惯和不会使用一两天就放弃了,这次坚持的时间稍微长一点,目前ubuntu的基本使用也熟悉了.但是由于ubuntu上的应用太少,常用软件,比如QQ,Photoshop,旺旺等软件无法使用所以日常使用还是以windows为主.目前电脑是windows7和ubuntu 14.04双系统.以下是一些遇到的小问题和解决方法: 安装解压(RAR)软件,打开windows下的rar文件 sudo apt-get install unrar shift+prin

  • 解决mongodb在ubuntu下启动失败,提示couldn‘t remove fs lock errno:9 Bad file descriptor的错误

    按照官网上的安装方法: 在ubuntu系统下有可能出现如下错误: couldn't remove fs lock errno:9 Bad file descriptor 此时需要修改文件所有者 $ sudo mkdir -p /data/db/ $ sudo chown 'USERNAME' /data/db 其中第一句是建立你的数据库文件夹,第二句修改该文件夹的所有者 之后就可以成功启动mongodb了 参考:stackoverflow.com/questions/15229412/unabl

  • ubuntu中打开终端的三种解决方法

    这个不应该称得上是一个问题,但是,发现对于新手,确实是个难题因为少有人能够提到这一点,基本都是上来就直接讲用到的命令.我开始的时候也曾经被这个问题困扰着,后来,搜了一会儿才弄明白.1.在菜单内的附件上面有2.在运行命令的输入框打开3-..--------------------------------------------------------------------------------1.很好弄,在左上角的菜单上点一下,出来一列,在里面选择[附件] 中的[终端],点一下就OK.那是快捷

  • 在VMWare上安装ubuntu及VMWare Tools详细教程

    一.摘要 该文主要介绍了如何在虚拟机上安装ubuntu,和安装VMWare Tools设置共享文件夹,最后对ubuntu做了简单的介绍. 二.实验平台 1.VMware Workstation 2.Ubuntu10.04 三.在VMWare上安装ubuntu vmware10安装ubuntu13.10的详细步骤:http://www.jb51.net/os/Ubuntu/160480.html 四.初识ubuntu 1.ubuntu终端 打开终端: Applications-->Accessor

  • Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题

    如果需要用php的mail()函数来发送邮件,是需要服务器安装sendmail组件才能支持的,这个在php的手册中mail()函数部分也有介绍到.然后在 在Ubuntu下安装sendmail的命令: 复制代码 代码如下: sudo apt-get install sendmail 安装好之后,启动sendmail服务: 复制代码 代码如下: sudo service sendmail start 有了sendmail的支持,就可以在php中用mail()函数发送邮件了. 一般造成在php用mai

  • VMware Tools(ubuntu系统)安装图文教程

    前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过程. 猿友们都知道linux不太好用,如果你想将你主机Windows上的文件或安装包放到虚拟机上,VMware Tools是必不可少的工具. 欢迎关注,相互学习讨论,后续还会有更多linux搭建java开发环境和框架相关博客. 下面小宝鸽附上VMware Tools安装的详细流程. 1.打开虚拟机VMware Workstation,启动Ubuntu系统,菜

  • VMware“该虚拟机似乎正在使用中”问题解决方案

    1)故障现象: 最近使用vmware workstation测试资料,经常会出现打开虚拟机的时候提示:"该虚拟机正在被使用",点击"获取所有权"或者"取消"都不能处理问题(一般是没有正常虚拟机导致的). 2)处理方法: a.查找*.lck文件,然后删除. b.重启vmware workstation服务 3)参考资料 http://www.jb51.net/diannaojichu/380769.html

  • VMware Ubuntu安装图文教程

    不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要去多了解一下linux. (博主网上查了一下,现在大部分服务器安装的系统主要有:ubuntu server.centos.suse linux enterprise, redhat linux等) 于是今天博主就在虚拟机上安装了Ubuntu

  • Ubuntu VMware出现提示No 3D support is available的解决方法

    像我这样的Ubuntu脑残粉,电脑上只安装了Ubuntu,但是有时又必须得使用Windows,于是就装了一个Windows虚拟机,使用的是VMware,问题出在默认设置下启动虚拟机无法启动3D硬件加速,下面看看如何解决. 通常情况下,你会看到下面这个图 解决方法 查看驱动是否正确安装,使用sudo lshw -C display ,如果能够正常识别显卡,说明驱动没有问题.尝试修改虚拟机的 *.vmx 文件,在文件的最后添加mks.gl.allowBlacklistedDrivers = "TRU

随机推荐