お問い合わせ

ブログ

これまでに経験してきたプロジェクトで気になる技術の情報を紹介していきます。

Asterisk Ami で電話をかける

okuda Okuda 3 years

今回は、アスタリスクアミでもう少し実践的なことをします。 アスタリスクアミを介して電話をかけます。

Asterisk Ami Commands

origin関数を使い始める前に、Asterisk内で使用できるすべてのAsteriskAMIコマンドを見て行きます。

Asterisk CLIにログインして、次のコマンドを使用してみましょう。

$ manager show commands

これにより、使用可能なすべてのAsteriskAMIコマンドのリストビューが表示されます。

# output
 AbsoluteTimeout  Set Absolute Timeout # タイムアウトの設定
  AgentCallbackLo  Sets an agent as logged in by callback # コールバックによってログインしたエージェントを設定
  AgentLogoff      Sets an agent as no longer logged in # 長くログインしていないエージェントを設定
  Agents           Lists agents and their status # エージェントとそのステータスを一覧表示
  ChangeMonitor    Change monitoring filename of a channel # チャネルの監視ファイル名を変更
  Command          Execute Asterisk CLI Command # アスタリスクCLIコマンドを実行
  DBGet            Get DB Entry # DBエントリを取得
  DBPut            Put DB Entry # DBエントリをセット
  Events           Control Event Flow # イベントフローの制御
  ExtensionState   Check Extension Status # 拡張ステータスを確認
  GetConfig        Retrieve configuration # 構成を取得
  Getvar           Gets a Channel Variable # チャネル変数を取得
  Hangup           Hangup Channel # チャネルをハングアップ
  IAXnetstats      Show IAX Netstats # IAX Netstatsを表示
  IAXpeers         List IAX Peers # IAX Peersを表示
  ListCommands     List available manager commands # 使用可能なマネージャーコマンドを一覧表示
  Logoff           Logoff Manager # マネージャーをログオフ
  MailboxCount     Check Mailbox Message Count # メールボックスのメッセージ数を確認
  MailboxStatus    Check Mailbox # メールボックスの確認
  Monitor          Monitor a channel # チャネルを監視
  Originate        Originate Call # 発信
  Park             Park a channel # パークチャンネル
  ParkedCalls      List parked calls # パーク中のチャンネルを表示
  PauseMonitor     Pause monitoring of a channel                          
  Ping             Keepalive command # チャネルの監視を一時停止
  PlayDTMF         Play DTMF signal on a specific channel. # 特定のチャネルでDTMF信号を再生
  QueueAdd         Add interface to queue. # インターフェイスをキューに追加
  QueuePause       Makes a queue member temporarily unavailable # キューメンバーを一時的に使用不可にする
  QueueRemove      Remove interface from queue. # キューからインターフェイスを削除
  Queues           Queues # キュー
  QueueStatus      Queue Status # キューステータスを表示
  Redirect         Redirect (transfer) a call # 通話をリダイレクト
  SetCDRUserField  Set the CDR UserField # CDR User Fieldを設定
  Setvar           Set Channel Variable # チャネル変数を設定
  SIPpeers         List SIP peers (text format) # SIP peersの一覧をテキストで表示
  SIPshowpeer      Show SIP peer (text format) # SIP peersをテキストで表示
  Status           Lists channel status # ステータスを一覧表示
  StopMonitor      Stop monitoring a channel # チャネルの監視を停止
  UnpauseMonitor   Unpause monitoring of a channel # チャネルの監視の一時停止を解除
  UpdateConfig     Update basic configuration # 基本構成を更新
  UserEvent        Send an arbitrary event # 任意のイベントを送信
  WaitEvent        Wait for an event to occur # イベントが発生を待機

Asterisk AMIオリジンダイヤル

アスタリスク発信アミダイヤルアクションを使用するために、 最初にアスタリスクアミコマンドで見つけることができる必要な構文を理解する必要があります。

$ manager show command Originate

これにより、Originateコマンドのドキュメントが開き、使用可能な関連オプションの概要が表示されます。

# output
[Arguments]
ActionID
    ActionID for this transaction. Will be returned.
Channel
    Channel name to call.
Exten
    Extension to use (requires 'Context' and 'Priority')
Context
    Context to use (requires 'Exten' and 'Priority')
Priority
    Priority to use (requires 'Exten' and 'Context')
Application
    Application to execute.
Data
    Data to use (requires 'Application').
Timeout
    How long to wait for call to be answered (in ms.).
CallerID
    Caller ID to be set on the outgoing channel.
Variable
    Channel variable to set, multiple Variable: headers are allowed.
Account
    Account code.
EarlyMedia
    Set to 'true' to force call bridge on early media..
Async
    Set to 'true' for fast origination.
Codecs
    Comma-separated list of codecs to use for this call.
ChannelId
    Channel UniqueId to be set on the channel.
OtherChannelId
    Channel UniqueId to be set on the second local channel.

次のステップはそれを試すことです。

これを行うには、Asterisk Amiに接続し、自分自身の認証から始めます。 接続して認証されると、OriginateDialコマンドの使用を開始できるようになります。

次のコマンドを作成することで実行できます。

$ Action:Originate
$ Channel:PJSIP/101
$ Contect:phones
$ Exten:100
$ Priority:1

これで内線101がダイヤルされ、ユーザーがピックアップした後、内線100がダイヤルされます。

Asterisk Ami で電話をかける 2021-08-23 14:03:40

コメントはありません。

4320

お気軽に
お問い合わせください。

お問い合わせ
gomibako@aska-ltd.jp