1

認証付きの Kamailio SIP サーバーが稼働しています。ここで、abc@localhost.com という SIP ユーザーが、データベース テーブルに格納されている他のすべての SIP ユーザーではなく、xyz@locahost.com という特定の SIP ユーザーとのみ通信できるようにします。解決策を見つけようとしましたが、それを行う方法を見つけることができました。どんな助けでも大歓迎です。

したがって、シナリオは次のとおりです。

SIP User 1 ---------------> SIP User 2 のみで、SIP User 1 の場合 ---------------> SIP User 3 アクセスは拒否された

4

1 に答える 1

1

ユーザーとそのユーザーがダイヤルできるものとの関係を維持する必要があります。1 つのオプションは、データベースに独自のテーブルを作成し、それをチェックするために sqlops を使用することです。

テーブル (dialrules という名前) に src 列と dst 列があり、src が dst の呼び出しを許可されているかどうかがわかるとします。

alice が bob、carol、david に電話できるようにするためのレコードの例:

{src: "alice", dst: "bob"}
{src: "alice", dst: "carol"}
{src: "alice", dst: "david"}

次に、誰か(アリス)が電話をかけているときは、次のような条件があります。

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;
}
于 2015-08-28T16:21:44.583 に答える