コールバックハンターとジンヤヤサービスの人気は、長年にわたって機能してきたIP ATC Askoziaを使用して、当社のWebサイトからのコールバックの可能性を実現するためのアイデアをまき散らしました。 以前、
別の投稿で彼女について書いた。

サイトがパブリックネットワーク上にあり、Askoziaがローカルネットワーク内にあり、パブリックドメインで公開するのが怖かったため、状況は複雑でした。
アスタリスクのサイトからコールバックメカニズムを実装するためのアルゴリズムは、非常に多く書かれています。 最も一般的なのは、クライアントがサイトで電話番号を入力した後に、Originate AMIコマンドを生成することです。 それでは始めましょう。
アスコツィアの側に設定
Askoziaの最新バージョンでは、SIP電話システムへの攻撃に対する積極的な保護のメカニズムが、Linuxサークルで広く知られているiptables_fail2banのペアの形でようやく登場しました。 これは、Askoziaには読み取り専用のLinuxカーネルがあり、FreePBXなどの一般的なディストリビューションに対しても、ハッキングに対する保護が大幅に向上しているためです。 もちろん、あなたは私と議論することができますが:)
したがって、ソースデータ:
ウェブサイト
www.telefon1c.ruのIPアドレスは93.188.40.98です。
93.188.40.99のパブリックアドレスを持つ仮想マシンとしてデプロイされたAskozia
ファイアウォールとfail2banの設定
まず、ファイアウォールを有効にし、ローカルネットワークからシステムへのアクセスを許可して、サブネットを示します。 この場合、172.16.32.0 / 24を設定すると、172.16.32.0〜172.16.32.255の範囲のすべてのアドレスが意味されます。

ファイアウォールを設定するときに、Askoziaをクラウドにインストールするオプションを選択し、そのようなデフォルトのブロックオプションを受け取りました

念のため、ファイアウォール設定が正しくない場合にAskozia WebインターフェイスにアクセスするためのホームIPアドレスを指定しました。そうしないと、管理パネルにアクセスできなくなります:)
次に、fail2banをアクティブにして、パスワードの推測をブロックします。 これは1目盛りで行われ、残りの設定はデフォルトで残されます。

サイトがファイアウォールを介してAMIインターフェイスに到達できるように、iptablesのカスタムルールを追加します。
これを行うには、詳細セクションで次の行を追加します。
iptables -A INPUT -p tcp -s 93.188.40.98 --dport 5038 -j ACCEPT写真のようになります:

これで、ファイアウォール設定を完了し、変更を保存して、AMIインターフェイスの設定に進むことができます。
最小限の権限で新しい
ウェブコールユーザーを作成し、1つのIPアドレス、
つまりサイトからのみアクセスできるようにします。

ハードパスワードを設定してみましょう:
9 [U. [2o {9 $?H $$ suここで、Webサイトからどこに電話をかけるかを理解する必要があります。 トリッキーなものを発明せず、顧客がHOTLINEで私たちに電話するのと同じルートに沿って送信することにしました。 これは内線番号
93のコールキューです

さて、最後に必要なことは、クライアントへの呼び出しを行うプロバイダーコンテキストを取得することです。 これを行うには、プロバイダー設定編集カードを開き、アドレスバーからそのコンテキストをコピーします。

これで、サイトからのコールバックを構成するために必要なものがすべて揃いました。
- IPアドレスAskozia : 93.188.40.99
- ユーザーAMIログイン: webcall
- ユーザーAMIパスワード: 9 [U. [2o {9 $?H $$ su
- プロバイダーコンテキスト: SIP-PROVIDER-1646711234f40d80266c2f
- 内線電話番号: 93
サイト側のスクリプティング
まず、サイトで電話番号を入力するための簡単なフォームを描く必要があります。

Bitrix Webサイトcall.phpからのフォームのコード AMIコマンド/ajax/ajax_call_handler_inc.phpを生成するためのハンドラーのphpコード <?php if (isset($_REQUEST["call_send"])){
結果として何が起こったのか: