SIPプロトコルを研究することで、最初にドメイン名の操作をサポートするという理解が得られました。 特に、SRVやNAPTRなどのDNSレコードを作成して、SIPクライアントにテレフォニーサーバーの検索場所を指示するだけで十分です。 その結果、alex @ mysite.ru、director @ mysite.ru、101 @ mysite.ruなどのユーザーを作成し、これらの番号に直接電話をかける機会が得られます。 特に、これらの番号はメールアドレスと一致する場合があります。
無料通話
インターネットを介して誰でもSIP URI番号と通常の電話を呼び出すことができるようになる時期はまだ遠いですが、今では明らかな利点を得ることができます。
マーケティングコンポーネント:可能な限りクライアントとの連絡に焦点を当てて会社を宣伝し、従業員とのさまざまなコミュニケーション方法を提供できます。
たとえば、従業員の名刺では、sip:director@mysite.ruのように、電子メールとの類推によってコミュニケーションの連絡先を指定できます。 このような通話のボーナスは、音声メニューをバイパスすることです。内線番号をダイヤルする必要はありません-興味のある従業員にすぐに接続して-時間を節約してください。
さまざまなWebサービスのWebRTCを使用して、ブラウザから直接無料で電話をかけることができます。これは、ホットライン8 800の請求書の支払いを節約する機会です。多くのお客様にとっては、携帯電話。
ほとんどの場合、SIP番号への呼び出しは両方の当事者にとって無料です。 また、ビデオコールなど、最新の電話の機能を最大限に活用します。 オープンな会議やセミナーを開催することは可能です。
人気のあるアスタリスクPBXでのセットアップを検討してください
独自のサーバーをセットアップするときは、セキュリティに細心の注意を払う必要があります。 残念ながら、今日の電話はハッキングのちょっとした話です。
アスタリスクはすでにインストールされ、通常の通話用に設定されていると考えています。
最初に、このサーバーのファイアウォールが有効で構成されているかどうかを確認します。 Debianのiptablesの設定例。 設定を/etc/iptables.upに保存します。 iptables-restoreを使用してダウンロードします。
設定ファイル/etc/iptables.up:
*filter # , :INPUT DROP # :FORWARD ACCEPT # :OUTPUT ACCEPT # -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # -A INPUT -i lo -j ACCEPT # ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # SSH -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # RTP , /etc/asterisk/rtp.conf -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT # SIP -A INPUT -p udp -m udp --dport 5060 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT COMMIT
サーバーがローカルネットワークへのゲートウェイとして使用されている場合、必要に応じてnatおよびmangleテーブルのルールを追加します。
スタートアップ構成を行います。 これを行うには、次の行をiptables-restore </etc/iptables.upの行を/ etc / network / interfacesファイルに追加します。
allow-hotplug eth1 iface eth1 inet dhcp post-up iptables-restore < /etc/iptables.up
次に、ログ分析用にfail2banを構成します。 SSHおよびアスタリスクモジュールを有効にすることをお勧めします。 詳細については、 こちらをご覧ください 。
DNSレコードを構成する
SIP URIへの呼び出しの場合、発信者にテレフォニーサーバーを探す場所を伝える必要があります。 このために、NAPTRおよびSRVレコードが使用されます。
mysite.ruドメインのNAPTRレコードは、サポートされているサービスを示します。
~$ host -t naptr mysite.ru mysite.ru has NAPTR record 10 50 "s" "SIP+D2U" "" _sip._udp.mysite.ru. mysite.ru has NAPTR record 10 51 "s" "SIP+D2U" "" _sip._udp.second.mysite.ru. mysite.ru has NAPTR record 20 50 "s" "SIP+D2T" "" _sip._tcp.mysite.ru. mysite.ru has NAPTR record 20 50 "s" "SIPS+D2T" "" _sips._tcp.mysite.ru.
この場合、mysite.ruドメインに対して4つのNAPTRレコードが定義されています。
- 10-フィールドOrder-サービスの優先順位。 値が低いほど、優先度が高くなります。
- 50-設定フィールド-ルールの優先度。 同一の注文値についてのみチェックされます。 この場合、クライアントがSIP + D2Uサービスをサポートしている場合、最初に要求が_sip._udp.mysite.ruに送信され、利用できない場合は_sip._udp.second.mysite.ruに送信されます
- 「S」はフラグフィールドです。 SRV記録が使用されていることを示します。
- 「SIP + D2U」-フィールドサービス。 サポートされているプロトコル。 この場合、UDPパケットを使用するSIP。 SIP + D2T-TCPパケット用。 SIPS + D2Tは、TCPパケットでTLS暗号化を使用します。
- 「」は正規表現フィールドです。 ドメイン名を抽出するための正規表現。 この場合、空です。
- _sip._udp.mysite.ru。 -SRVレコードの名前(このタイプの通信を担当するサーバー)。
次に、SRVレコードを構成する必要があります。
host -t srv _sip._udp.mysite.ru _sip._udp.mysite.ru has SRV record 10 0 5060 asterisk.mysite.ru.
- _sipはサービスフィールドです。 テレフォニーサービス。
- _udp-フィールドProto-プロトコル。 通常、_udpまたは_tcp。
- mysite.ru-レコードが作成されるドメイン名。
- 10-優先度フィールド-このエントリの優先度を設定します。
- 0-重みフィールド-相対的な優先順位。 同じ優先度のエントリの値を再生します。
- 5060-ポートフィールド。 サーバーがSIPコマンドを受け入れるポートを示します。
- asterisk.mysite.ru。 -フィールドターゲット-サーバー名。
実践が示しているように、多くのSIPクライアントはSRVレコード_sip._udpのみをチェックします。 および_sip._tcp。 NAPTR情報を除くドメイン用。
DNSとの電話の接続に関する詳細は対応する標準で見つけることができます。
アスタリスクサーバーを構成する
最初に、認証なしで呼び出しを許可し、別のコンテキストに配置する必要があります。 sip.confでこれを行うには:
[general] ... context=guest-call allowguest=yes ...
次に、extensions.confファイルにこのコンテキストを作成します。
[guest-call] exten = > director,1,Log(NOTICE,Good call IP=${CHANNEL(peerip)}) exten = > director,n,Dial(SIP/105@default) exten = > alex,1,Log(NOTICE, Good call IP=${CHANNEL(peerip)}) exten = > alex,n,Dial(SIP/106@default) exten = > 101,1,Log(NOTICE, Good call IP=${CHANNEL(peerip)}) exten = > 101,n,Dial(SIP/101@default) exten = > _.,1,Log(WARNING,Wrong call IP=${CHANNEL(peerip)}) exten = > _.,n,Playback(bad-user) exten = > _.,n,Hangup()
SIPリロードおよびダイヤルプランリロード設定を適用します。 このコンテキストでは、すべての不正な呼び出しを記録します。 次に、ローカルサブスクライバーが呼び出されます。 デフォルトをローカルユーザーのコンテキストに変更します。 ここで、不正な電話を受けるすべてのユーザーを登録します。
誤った呼び出しは、別のメッセージで記録されます。 このメッセージの分析をfail2banに追加して、選択をブロックします。たとえば、/ etc / fail2ban / filter.d / asterisk.conf構成ファイルで、次の行を追加します。
failregex = … … … Wrong call IP=<HOST>
このダイヤルプランには特に注意を払う必要があります。ローカルユーザーへの呼び出しのみを許可する必要があります。 正しいセットアップは、不愉快な驚きからあなたを救い、電話代の大きな請求書を受け取ります。
また、SIPプロトコルやSSHサーバーの実装など、あらゆるソフトウェアに脆弱性が存在することも覚えておく必要があります。 したがって、巨大なアカウントを取得するリスクを回避するために、プロバイダーとの残高に制限を設定することをお勧めします。
仮想サービスソリューション
最近、仮想PBXサービスの人気が高まり、それらの多くでSIP URIの呼び出しを行うことができます。 ドメインをテレフォニーサービスにバインドできるデジタルオフィスサービスもあります。 サービスを使用すると、テレフォニーサーバーの自己調整と保護が不要になります。 それらのほとんどは前払いで機能し、高額の請求書を受け取るリスクを排除します。
設定後、他のサービスからの呼び出しを受信して呼び出すことができます。 また、ゲストコールをサポートしている他社のアスタリスクサーバーに電話をかけることもできます。