3

最も簡単な方法は何ですか?そして、それをどのように実装できますか?

私は次のようなことを考えました:

  1. Webサーバーにページをリクエストします
  2. PHPはアスタリスクにダイヤルする番号を送信します(phpとアスタリスクは同じマシンで実行されています)
  3. アスタリスクが電話をかける

また

  1. phpsipクライアントがリモートアスタリスクサーバーに登録します
  2. Php sipクライアントは、ダイヤルする番号をアスタリスクに送信します
  3. 電話が鳴る

何か聞こえても構わない、鳴るだけで十分

4

1 に答える 1

2

コールファイル

最も簡単な方法は、コールファイルを生成することです。アスタリスクには、スプールディレクトリを介してコールを開始する機能があります。

https://wiki.asterisk.org/wiki/display/AST/Asterisk+Call+Files

ヒントと注意:

  • 別のディレクトリに呼び出しファイルを作成し、それをスプールディレクトリに移動する必要があります(アスタリスクはファイルをすぐに解析するため、コピーは使用しないでください。ただし、移動は安全です)。

  • 呼び出しファイルは、ユーザーが所有している必要があります。アスタリスクは次のように実行されます。

  • アスタリスク(ファイルのutime())は、変更されたタイムスタンプをチェックし、変更されたタイムスタンプが将来のものである場合は、そのタイムスタンプの呼び出しをスケジュールします。

AMI-AsteriskManagerインターフェイス

スクリプト(AMI)を介して呼び出しを開始することもできます。manager.confでログイン(つまり、ユーザー名、パスワード)を設定する必要があります。ポート5038のアスタリスクサーバーIPでTelnetを使用してAMIをテストします。

Action: Login
Username: username
Secret: password

Action: Originate
Channel: SIP/123
Context: default
Exten: 012345678
Priority: 1
Callerid: AMICall

Action: Logoff

PHP-AMI( PHP-AGIに付属)を使用してダイヤルアウトすることもできます。

manager.confのセキュリティノート:

 ---------------------------- SECURITY NOTE -------------------------------
; Note that you should not enable the AMI on a public IP address. If needed,
; block this TCP port with iptables (or another FW software) and reach it
; with IPsec, SSH, or SSL vpn tunnel.  You can also make the manager
; interface available over http/https if Asterisk's http server is enabled in
; http.conf and if both "enabled" and "webenabled" are set to yes in
; this file.  Both default to no.  httptimeout provides the maximum
; timeout in seconds before a web based session is discarded.  The
; default is 60 seconds.
;

AJAM-非同期JavascriptAsteriskManager

AJAMは、httpを介してAsterisk Manager Interface(AMI)と通信するために有効にして使用できるWebサーバーです。

于 2013-02-23T14:53:22.257 に答える