配置 Kamailio 以允许 sip 用户向特定用户以外的任何人发送消息
Configure Kamailio to allow sip user from sending message to anyone but a specific user
我们有一个 Kamailio SIP 服务器和 运行 身份验证。现在我们希望 SIP 用户 say abc@localhost.com 只能与特定 SIP 用户 say xyz@locahost.com 通信,而不是与存储在数据库 table 中的所有其他 SIP 用户通信。我试图找到解决方案,但可以找到一种方法来做到这一点。任何帮助将不胜感激。
所以场景是:
SIP 用户 1 --------------> 仅限 SIP 用户 2
而如果
SIP 用户 1 --------------> SIP 用户 3 访问应该被拒绝
您必须保持用户与其可以拨打的内容之间的关系。一种选择是在数据库中创建自己的 table 并使用 sqlops 检查它。
说 table(命名拨号规则)将有 src 和 dst 列,以判断是否允许 src 调用 dst。
允许 alice 呼叫 bob、carol、david 的一些示例记录:
{src: "alice", dst: "bob"}
{src: "alice", dst: "carol"}
{src: "alice", dst: "david"}
然后,当有人 (alice) 打电话时,条件如下:
sql_query("ca", "select dst from dialrules where src='$fU' and dst='$rU'", "ra");
if($dbr(ra=>rows)<=0) {
# not allowed to dial this dst
send_reply("404", "Dst forbidden");
exit;
}
我们有一个 Kamailio SIP 服务器和 运行 身份验证。现在我们希望 SIP 用户 say abc@localhost.com 只能与特定 SIP 用户 say xyz@locahost.com 通信,而不是与存储在数据库 table 中的所有其他 SIP 用户通信。我试图找到解决方案,但可以找到一种方法来做到这一点。任何帮助将不胜感激。
所以场景是:
SIP 用户 1 --------------> 仅限 SIP 用户 2 而如果 SIP 用户 1 --------------> SIP 用户 3 访问应该被拒绝
您必须保持用户与其可以拨打的内容之间的关系。一种选择是在数据库中创建自己的 table 并使用 sqlops 检查它。
说 table(命名拨号规则)将有 src 和 dst 列,以判断是否允许 src 调用 dst。
允许 alice 呼叫 bob、carol、david 的一些示例记录:
{src: "alice", dst: "bob"}
{src: "alice", dst: "carol"}
{src: "alice", dst: "david"}
然后,当有人 (alice) 打电话时,条件如下:
sql_query("ca", "select dst from dialrules where src='$fU' and dst='$rU'", "ra");
if($dbr(ra=>rows)<=0) {
# not allowed to dial this dst
send_reply("404", "Dst forbidden");
exit;
}