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 <username> <password> opensipsctl add alice@192.168.139.121 123456 opensipsctl add bob@192.168.139.121 123456 然后下载SIP客户端进行测试!SQL查询超时的设置具体相关方法(关于timeout的处理)