最完整快速的安裝方式安裝開源OpenSIPS-3.1和CP控制界面-class 8
筆者在前面的文章中已經(jīng)說明,安裝CP僅是使用opensips的萬里長征第一步。用戶在使用這些界面系統(tǒng)和排查工具時仍然需要做一定的配置調(diào)整和處理,包括cfg文件,mysql和CP的php文件的設(shè)置。這里,筆者重點介紹OpenSIPS性能瓶頸檢測工具和如何在opensips-CLI 工具配合SIPSAK工具來進(jìn)行排查跟蹤測試。
測試前準(zhǔn)備:
1)安裝opensips-CLI最新版本支持opensips-3.1,編輯cfg文件,添加兩個測試號碼(1000,1001),使用軟電話注冊到opensips,并且已加載event_stream.so模塊:
apt remove opensips-cli
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 049AD65B
echo "deb https://apt.opensips.org buster cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list
apt update
apt install opensips-cli
2)安裝SIPSAK最新版本:

1、OpenSIPS性能瓶頸檢測
opensips包括其他的開源軟交換系統(tǒng),一般都沒有完全支持比較完整的系統(tǒng)瓶頸的工具,很多工具也都是各自獨立的。維護(hù)人員很難通過一個工具來完整檢測到比較完整的瓶頸性能的各種指標(biāo),例如SIP 消息,DNS消息,呼叫消息,數(shù)據(jù)庫狀態(tài),網(wǎng)絡(luò)狀態(tài),內(nèi)存狀態(tài)(是否有內(nèi)存泄漏等)。在最新版本的opensips-CLI工具支持了所有以上這些瓶頸數(shù)據(jù)可以通過opensip的配置文件,通過自定義的方式來實現(xiàn)。CLI狀態(tài)OK表示系統(tǒng)沒有超過系統(tǒng)設(shè)置的閥值。cfg文件需要加載的模塊包括:
1)exec_dns_threshold 和exec_msg_threshold,用戶根據(jù)自己的設(shè)置,可以說1000或者更高的值。
2)modparam("db_mysql", "exec_query_threshold", 1000)
3)在cfg中的option中添加dnstest和sqltest支持

2、通過兩個終端監(jiān)控sipsak
用戶安裝sipsak以后,打開兩個terminal 終端來查看兩個不同的終端輸出的結(jié)果。首先,執(zhí)行sipsak 命令:
sipsak -s sip:sqltest@你的終端的ip地址 -F
sipsak -s sip:dnstest@你的終端的ip地址 -F

通過opensips-CLI 執(zhí)行排查命令:
opensips-cli -x diagnose sql
3、opensips-cli -x diagnose輸出
opensips-cli -x diagnose dnstest,sqltest輸出:
opensips-cli -x diagnose dnstest,sqltest輸出:


SIP消息狀態(tài):


4、使用opensips-cli -x trace跟蹤呼叫方和被呼叫方
OpenSIPS-CLI提供了非常便利的跟蹤工具來跟蹤呼叫方和被呼叫方的交互信息。在配置trace之前,用戶首先需要編輯cfg文件,加載和配置相關(guān)的trace 模塊和參數(shù)。
- listen = hep_tcp:127.0.0.1:6061
- 或者新版本支持的socket
- socket=hep_tcp:127.0.0.1:6061
- loadmodule "tracer.so"
- 執(zhí)行命令,跟蹤呼叫方和被呼叫方。
- opensips-cli -x trace caller=1000 callee=1001

測試1000呼叫1001,CLI輸出:

5、總結(jié)
筆者通過opensips-cli 支持的opensips-3.1來說明opensips的瓶頸檢測工具,呼叫跟蹤工具和sipsak測試工具實現(xiàn)對opensips環(huán)境下的狀態(tài)監(jiān)控和呼叫跟蹤的演示。這些工具對系統(tǒng)維護(hù)人員來說是非常重要的工具,作為一個opensips的維護(hù)人員必須熟練掌握這些工具,有了這樣的工具就會大大提高排查速度,快速定位問題。
參考資料:
www.opensips.org
www.asterisk.org.cn
www.freesbc.cn
