我正在运行Asterisk11并实时使用MySQL。我以前用过FreePBX,它会显示实时注册的用户数量的所有细节。如果我在Asterisk CLI上键入show peer username,则可以检查用户注册。但是,我想知道一个特定的用户是否已经实时注册了SIP服务器。
示例
UserA - registered
UserB - unregistered
UserC - registered我检查了MySQL中的sip_buddies表,它只显示regseconds。我不能用这些信息判断一个用户是否注册了。有没有人知道如何实时查看用户注册?
发布于 2014-04-29 00:59:32
你有3个选择
1) (错误的) do命令"sip show peer“(rtcachefriends必须设置为yes)
2) (最好是)创建一个事件侦听器,它将通过AMI侦听事件并存储该信息。
3) (数据库变体)集合
rtupdate=yes
rtautoclear=yes并登记数据库注册时间。缺点-大量的数据库写入。
发布于 2014-04-29 02:32:24
这不是具体的答案,而是不同星号设置的相关解决方案。一些部署使用openSIPS作为客户端注册代理(它比Asterisk的SIP功能更好,即使使用新的pjsip堆栈也是如此)。在这种情况下,"sip show peer“将是空的。在这种情况下,您可以通过opensipsctl应用程序使用管理界面。代理上的opensipsctl ul show将显示注册到代理的所有客户端。
https://stackoverflow.com/questions/23345787
复制相似问题