🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

一、环境准备

二、依赖安装

三、源码编译(耗时约15分钟)

四、快速配置

五、服务配置

六、服务管理

七、功能测试

八、进阶配置建议

九、排错指南

img

一、环境准备

  1. 系统要求:Ubuntu 20.04/22.04 LTS
  2. 推荐配置:2核CPU/2GB内存/20GB硬盘
  3. 更新系统:
sudo apt update && sudo apt upgrade -y

二、依赖安装

sudo apt install -y git gcc make flex bison \
libncurses5-dev libssl-dev libmysqlclient-dev \
libxml2-dev pkg-config

三、源码编译(耗时约15分钟)

wget https://opensips.org/pub/opensips/3.4.3/opensips-3.4.3.tar.gz
tar zxvf opensips-3.4.3.tar.gz
cd opensips-3.4.3

./configure \
--prefix=/usr/local/opensips \
--enable-mysql \
--enable-tls \
--enable-websockets

make -j$(nproc) && sudo make install

四、快速配置

  1. 创建配置目录:
sudo mkdir -p /etc/opensips
sudo install opensips.cfg /etc/opensips/
sudo install opensipsctlrc /etc/opensips/
  1. 数据库初始化:
mysql -u root -p
CREATE DATABASE opensips;
CREATE USER 'opensips'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL ON opensips.* TO 'opensips'@'localhost';
FLUSH PRIVILEGES;
exit

/usr/local/opensips/sbin/opensipsdbctl create

五、服务配置

修改/etc/opensips/opensips.cfg关键参数:

listen=udp:192.168.1.100:5060
mpath="/usr/local/opensips/lib/opensips/modules/"

# 数据库配置
db_url="mysql://opensips:your_password@localhost/opensips"

# 加载模块
loadmodule "db_mysql.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"

六、服务管理

启动服务:

sudo /usr/local/opensips/sbin/opensipsctl start

查看状态:

sudo opensipsctl monitor

七、功能测试

  1. 创建测试用户:
sudo opensipsctl add 1000 123456
sudo opensipsctl add 1001 654321
  1. SIP注册测试(使用sipp工具):
sudo apt install sipp

# 发起注册请求
sipp -sf register.xml 192.168.1.100:5060 \
-s 1000 -ap 123456 -m 1

# 测试通话
sipp -sf uac.xml 192.168.1.100:5060 \
-s 1001 -ap 654321 -m 1 -d 5000

八、进阶配置建议

  1. TLS加密通信:
sudo openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
  1. WebSocket支持:
listen=ws:192.168.1.100:5066
loadmodule "proto_ws.so"

九、排错指南

  1. 查看实时日志:
tail -f /var/log/opensips.log
  1. 常见错误处理:
  • 注册失败:检查usrlocregistrar模块加载状态
  • 数据库连接失败:验证db_url格式mysql://user:password@host/database
  • 端口占用:sudo netstat -tulnp | grep 5060
  1. 性能优化:
children=64      # 根据CPU核心数调整
tcp_accept=64    # TCP连接处理数
memlog=1         # 启用内存日志

教程特点:

  1. 版本时效性:基于当前最新稳定版3.4.3
  2. 配置优化:包含TLS和WebSocket的快速配置方法
  3. 实战测试:提供完整的SIP注册和呼叫测试方案
  4. 性能调优:包含关键参数优化建议

建议配合官方文档(https://www.opensips.org/Documentation)阅读,可根据实际需求启用更多模块。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐