在Ubuntu上配置OpenSIPS基于MySQL实现用户认证

慢慢来
慢慢来
发布时间:2026-10-14| 2人浏览过
原创

在Ubuntu系统中使用OpenSIPS搭建SIP服务器时,默认配置往往不包含数据库支持。要实现基于用户名和密码的用户认证,需要手动启用MySQL模块、建立数据库表结构,并在主配置文件中加载认证逻辑。本文将提供从编译依赖安装到配置验证的完整步骤。

1. 准备环境与编译支持

OpenSIPS默认安装时通常不包含db_mysql模块。要在编译阶段使其支持MySQL数据库,需先安装必要的开发库,然后调整编译配置。

第1步:安装MySQL开发包

为了避免编译过程中因缺少头文件而失败,请先安装libmysqlclient-dev:

sudo apt-get install libmysqlclient-dev

第2步:启用MySQL模块并重编译

进入OpenSIPS源码目录,修改Makefile.conf文件。操作要点如下:

  • 在exclude_modules列表中移除db_mysql。
  • 在include_modules列表中添加db_mysql。

也可以通过命令行参数直接指定包含该模块进行编译:

make include_modules="db_mysql" modules prefix=/

完成修改后重新执行编译安装命令。

2. 部署MySQL与创建数据库

在配置OpenSIPS连接数据库之前,需确保系统已安装MySQL服务端。

第1步:安装MySQL服务

使用以下命令安装MySQL服务器及客户端:

sudo apt-get install mysql-server mysql-client

安装过程中会要求设置root用户的密码。安装完成后,可通过以下命令验证是否成功:

sudo mysql -p

输入设置的密码若能进入数据库交互界面即表示安装成功。

第2步:初始化OpenSIPS数据库

使用opensipsctl脚本创建所需的数据库架构:

sudo opensipsdbctl create

执行此命令时会要求输入MySQL root密码。随后脚本会提示选择要创建的附加表,根据需求确认后即可完成创建。

注意:用户认证主要依赖subscriber表,请确认该表已生成。脚本内部实际上调用了/etc/opensips/opensipsctlrc配置文件中的参数,并结合/lib/opensips/opensipsctl下的相关base文件进行建表操作。

MySQL连接URL的标准格式为:mysql://username:password@domain/dbname,后续配置中需核对与此一致。

3. 配置用户认证逻辑

核心工作在于修改opensips.cfg主配置文件,加载认证模块、配置全局变量并定义路由规则。同时需检查opensipsctlrc以匹配数据库连接信息。

第1步:修改主配置文件

编辑opensips.cfg,重点完成以下部分:

  1. 加载动态库:确保配置中包含了loadmodule "auth.so"、loadmodule "auth_db.so"以及数据库模块。
  2. 全局参数:配置正确的数据库URL地址。
  3. 路由策略:在处理注册或请求的路由分支中,加入认证检查逻辑(通常使用if (!www_authorize(...)) { exit; })。原文档提示官方文档中曾提及错误示例,请以实际运行结果为准,通常应使用exit而非break来终止当前处理流程。

第2步:验证与启动

配置保存后,首先检查语法是否正确:

sudo opensips -c

若返回无错误信息,则启动服务:

sudo opensipsctl start

如遇启动失败,请查看系统日志排查具体原因:

vim /var/log/syslog

4. 添加用户与测试

当服务正常运行且认证模块加载无误后,即可创建测试用户。

第1步:创建SIP账户

使用opensipsctl add命令添加用户,语法格式为opensipsctl add <username> <password>:

opensipsctl add alice@192.168.139.121 123456
opensipsctl add bob@192.168.139.121 123456

第2步:连通性测试

下载一个SIP软电话客户端,使用上述创建的用户名和密码进行注册尝试。若注册成功且能发起呼叫,说明基于MySQL的用户认证配置已完成。

以上就是在Ubuntu中使用MySQL实现OpenSIPS用户认证的详细内容,更多关于OpenSIPS配置与SIP服务器运维的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。