最完整快速的安装方式安装开源OpenSIPS-3.1和CP控制界面-class 8
笔者在前面的文章中已经说明,安装CP仅是使用opensips的万里长征第一步。用户在使用这些界面系统和排查工具时仍然需要做一定的配置调整和处理,包括cfg文件,mysql和CP的php文件的设置。这里,笔者重点介绍OpenSIPS性能瓶颈检测工具和如何在opensips-CLI 工具配合SIPSAK工具来进行排查跟踪测试。
测试前准备:
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包括其他的开源软交换系统,一般都没有完全支持比较完整的系统瓶颈的工具,很多工具也都是各自独立的。维护人员很难通过一个工具来完整检测到比较完整的瓶颈性能的各种指标,例如SIP 消息,DNS消息,呼叫消息,数据库状态,网络状态,内存状态(是否有内存泄漏等)。在最新版本的opensips-CLI工具支持了所有以上这些瓶颈数据可以通过opensip的配置文件,通过自定义的方式来实现。CLI状态OK表示系统没有超过系统设置的阀值。cfg文件需要加载的模块包括:
1)exec_dns_threshold 和exec_msg_threshold,用户根据自己的设置,可以说1000或者更高的值。
2)modparam("db_mysql", "exec_query_threshold", 1000)
3)在cfg中的option中添加dnstest和sqltest支持

2、通过两个终端监控sipsak
用户安装sipsak以后,打开两个terminal 终端来查看两个不同的终端输出的结果。首先,执行sipsak 命令:
sipsak -s sip:sqltest@你的终端的ip地址 -F
sipsak -s sip:dnstest@你的终端的ip地址 -F

通过opensips-CLI 执行排查命令:
opensips-cli -x diagnose sql
3、opensips-cli -x diagnose输出
opensips-cli -x diagnose dnstest,sqltest输出:
opensips-cli -x diagnose dnstest,sqltest输出:


SIP消息状态:


4、使用opensips-cli -x trace跟踪呼叫方和被呼叫方
OpenSIPS-CLI提供了非常便利的跟踪工具来跟踪呼叫方和被呼叫方的交互信息。在配置trace之前,用户首先需要编辑cfg文件,加载和配置相关的trace 模块和参数。
- listen = hep_tcp:127.0.0.1:6061
- 或者新版本支持的socket
- socket=hep_tcp:127.0.0.1:6061
- loadmodule "tracer.so"
- 执行命令,跟踪呼叫方和被呼叫方。
- opensips-cli -x trace caller=1000 callee=1001

测试1000呼叫1001,CLI输出:

5、总结
笔者通过opensips-cli 支持的opensips-3.1来说明opensips的瓶颈检测工具,呼叫跟踪工具和sipsak测试工具实现对opensips环境下的状态监控和呼叫跟踪的演示。这些工具对系统维护人员来说是非常重要的工具,作为一个opensips的维护人员必须熟练掌握这些工具,有了这样的工具就会大大提高排查速度,快速定位问题。
参考资料:
www.opensips.org
www.asterisk.org.cn
www.freesbc.cn
