用 cURL 控制 OpenSIPS3.4
- `opensips-cli -x mi reload_routes`,重读脚本路由
- `opensips-cli -x mi ds_list`,就是 dispatcher list 的缩写,简单明了
- `opensips-cli -x mi ds_reload`,修改 OpenSIPS 数据库的 dispatcher 表之后,用此命令读到内存
- `opensips-cli -x mi get_statistics all`,取所有统计数据
换成 cURL
- `curl -XPOST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": "1", "method": "reload_routes", "params": {}}' http://127.0.0.1:8888/mi | jq`
- `curl -XPOST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": "1", "method": "ds_list", "params": {}}' http://127.0.0.1:8888/mi | jq`
- `curl -XPOST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": "1", "method": "ds_reload", "params": {}}' http://127.0.0.1:8888/mi | jq`
- `curl -XPOST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": "1", "method": "get_statistics", "params": [["all"]]}' http://127.0.0.1:8888/mi | jq`
当然需要配置好 opensips-cli.cfg 和 opensips.cfg
# opensips.cfg
loadmodule "httpd.so"
modparam("httpd", "port", 8888)loadmodule "mi_fifo.so"
modparam("mi_http", "root", "mi")
...
# opensips-cli.cfg
[default]
log_level: DEBUG
prompt_name: opensips-cli
prompt_intro: Welcome to OpenSIPS Command Line Interface!
prompt_emptyline_repeat_cmd: False
history_file: ~/.opensips-cli.history
history_file_size: 1000
output_type: pretty-print
#communication_type: fifo
communication_type: http
fifo_file: /tmp/opensips_fifo
url: http://127.0.0.1:8888/midatabase_schema_path: /usr/share/opensips/postgres
database_admin_url: postgres://postgres@127.0.0.1
database_url: postgres://opensips:opensipsrw@127.0.0.1
database_name: opensips
database_modules: ALL