文章目录
- 1. 背景
- 2. OpenSIPS 的 HTTP 管理接口对接
- 2.1 脚本配置
- 2.2 请求方式
1. 背景
OpenSIPS
是功能完善的开源 SIP 代理服务器,它在支持 SIP 代理的主要功能以外,也为使用者提供了一套 MI 管理接口。面向不同的通信方式,OpenSIPS 还提供了对应的 MI 功能对接模块,使用者可以很方便地将这套管理接口集成到业务系统中,下文将介绍 HTTP 的对接方式
2. OpenSIPS 的 HTTP 管理接口对接
2.1 脚本配置
要使用 HTTP 协议对接 OpenSIPS 的管理接口,需要在 OpenSIPS 的启动脚本中添加以下配置,主要涉及到 2 个模块:
httpd
httpd 模块用于在 OpenSIPS 启动时开启一个 HTTP 服务器接收请求,读者有兴趣可前往 httpd 官方传送门mi_http
mi_http 模块负责处理 HTTP 请求,主要逻辑是调用 MI 模块执行命令,读者有兴趣可前往 mi_http 官方传送门
loadmodule "httpd.so"
# 配置 HTTP 服务器的监听端口,未指定监听 IP 时会默认绑定本地所有可用 IP
modparam("httpd", "port", 8888)
loadmodule "mi_http.so"
2.2 请求方式
修改配置启动 OpenSIPS 后,直接发送 HTTP 请求即可完成交互,需注意请求体为 json-rpc 格式,以下为一个 curl 查看 支持的所有 MI 命令 的示例:
curl -X POST 'http://127.0.0.1:8888/mi' --header 'Content-Type: application/json-rpc' --data '{"id":"603095441","jsonrpc":"2.0","method":"which","params":[]}'