allowguest=yes
でsip.conf
を有効にすることなく、プロバイダーからSIP呼び出しを受信するようにアスタリスク(Elastix)ボックスを構成しようとしています。
基本的に、SIPトランクプロバイダーは複数のIPを使用してコールをPBXに送信するため、一致するHost=
フィールドがないと、コールはドロップされます。ただし、allowguest=yes
を有効にすると、誰でもPBXに通話を送信できます。PBXをファイアウォールで保護して、プロバイダーからの着信SIPのみを許可することができますが、これにより、SIP携帯電話が世界中のどこにでも登録できなくなります。
これは一般的な問題であるに違いありません。過去に、AsteriskがHost={subnet}
または複数のHost=
エントリを言うことをサポートしていないことがわかりました。これはまだ当てはまりますか?この問題を回避するにはどうすればよいですか?
正しい解決策-プロバイダーにすべてのIPを要求し、すべてをtrunk1-trunk2 ... trunkXとして追加します
次のように、permit
/deny
句を使用してHost=dynamic
および制限アクセスを設定できると思います。
[trunk]
...
Host=dynamic
deny=0.0.0.0/0.0.0.0 ; deny access
permit=192.168.0.0/255.255.255.0 ; allow 192.168.0.0/24 subnet
...
また、iptablesチェーンを簡単にセットアップして、5060 port
(またはSIPポート))へのアクセスを制限することができます。これはとにかく行う必要があります。