AMI 多彩な起源。 CTIアプリケーションでのアプリケーション

Originateは、英語から「give a start」として翻訳できます。 チームの能力は非常に広く、すべてが明らかではありません。 Originateは、CTIアプリケーションの開発者の中で、最も人気のあるAMIチームの1つです。 多くの場合、発信コールを開始し、コールバックを整理するために使用されます。 この記事では、高度な機能について検討します。



AMIのセットアップとTelnet接続の例
/etc/asterisk/manager.confファイルでアカウントをセットアップします。



[general] enabled = yes port = 5038 bindaddr = 0.0.0.0 [1cami] ; secret=PASSWORD1cami deny=0.0.0.0/0.0.0.0 permit=0.0.0.0/0.0.0.0 ;    . read=call write=originate
      
      





次に、Asterisk CLIコンソールでコマンドを実行する必要があります。



 module reload manager
      
      





接続するには、telnetツールを使用します。



 ~ # telnet 127.0.0.1 5038 Asterisk Call Manager/1.2
      
      





アスタリスクコールマネージャー 」プロンプトが表示されたら、すぐにコマンドを入力できます。 最初のコマンドは許可でなければなりません。



 Action: Login Username: 1cami Secret: PASSWORD1cami
      
      





コマンド入力の完了は空行です。 成功すると、答えが得られます。



 Response: Success Message: Authentication accepted
      
      







基本的な発信元の例



AMIコマンドパラメータの説明
  • チャンネル - チャンネルの名前。 形式タイプ/識別子。 タイプ-使用されるSIP / IAX2 / DAHDIドライバーに応じたチャネルタイプ
  • コンテキスト -呼び出しのコンテキストの名前。 ExtenおよびPriorityと組み合わせて使用​​する必要があります
  • Exten- 「コンテキスト」のコンテキストで定義された電話番号
  • 優先度 -優先度。コール処理を開始するコンテキスト内の位置。
  • タイムアウト -ミリ秒単位のタイムアウト。 発信通話の発信者が応答しなかった場合、通話は終了します
  • CallerID-発信コールのcallerid値。 形式「従業員名<電話番号>」
  • 変数 -元のチャネルの変数の設定
  • アカウント -発信通話のaccauntcodeフィールドの値
  • アプリケーション -実行されるdialplanコマンドは、「Data」パラメーターと組み合わせて使用​​されます
  • 非同期は、コマンドの非同期実行の兆候です。 「1」に設定すると、結果は「OriginateResponse」という名前の「Event」タイプのパッケージで返されます。Data -Dialplan Command Parameters
  • ActionID-リクエスト識別子。複数の非同期リクエストを同時に使用する場合に役立ちます。 結果を元のクエリと一致させることができます




OriginateResponseという名前のイベント応答コード

  • 0 =コンテキストに番号が見つかりません
  • 1 =回答なし
  • 4 =成功(回答済み)
  • 8 =混雑しているか利用できない




from-internalのコンテキストで、SIPチャネル104から番号74952293042へのコールを開始することを検討してください。



 Action: Originate Channel: SIP/104 Context: from-internal Exten: 74952293042 Priority: 1 Callerid: 104 Variable: SIPADDHEADER="Call-Info:\;answer-after=0"
      
      





このコマンドの結果として、SIP / 104チャネルに接続された内部電話が鳴ります。 受話器を取り上げた後、コールは、コンテキストfrom-internal、優先度1の番号74952293042に行きます。



場合によっては、発信通話をインターコムと組み合わせると便利です。そのためには、Variableパラメーターを使用する必要があります。

Cisco、Linksys、Yealink、および一部のソフトフォンの場合、「 SIPADDHEADER 」変数を「 Call-Info:\; answer-after = 0 」に設定するのが適切です。



職場でLinksys電話を使用するとします。 Originateの結果、SIP / 104チャネルに接続された電話で通話への自動応答が機能します。



コールピックアップ



誰もが近くの電話で受けた通話を傍受する機能について聞いた。

通常、この機能は「スターコード」 * 8によって実装されます。



インターセプトを実装するには、DialplanでPickUpまたはPickupChanアプリケーションを使用できます。ネットワークには、かなり多くの使用例があります。



AMIを使用してこの機能を整理する方法は?



コールをキャプチャするには、Originateコマンドを使用できます。 彼女には2つの興味深いオプションがあります。



SIPアカウント104で受信した通話を傍受する例を説明します。



 Action: Originate Channel: SIP/104 Application: PickupChan Data: SIP/104-0000003c Priority: 1 Callerid: 104 Variable: SIPADDHEADER="Call-Info:\;answer-after=0"
      
      





このOriginateの特性は、「コンテキスト」パラメーターを記述する必要がないことです。



ただし、傍受できるチャネルを追跡する必要があります。 この例では、チャネルは「SIP / 104-0000003b」と記述されています。



ChannelState 」が「5」(Ringing)に設定されているイベント「 Newstate 」の新しいチャネルの外観を追跡することができます。 以下はイベントの例です。



 Event: Newstate Privilege: call,all Channel: SIP/104-0000003c ChannelState: 5 ChannelStateDesc: Ringing CallerIDNum: 104 CallerIDName: Default Extension ConnectedLineNum: 104 ConnectedLineName: Uniqueid: askozia-1438348824.146
      
      





イベント「 Newstateが到着するとすぐに、「 ChannelState 」が「6」(Up)に設定され、コールはすでに応答されています。



 Event: Newstate Privilege: call,all Channel: SIP/104-0000003c ChannelState: 6 ChannelStateDesc: Up CallerIDNum: 104 CallerIDName: Default Extension ConnectedLineNum: 104 ConnectedLineName: Uniqueid: askozia-1438348824.146
      
      





注意深い読者は、この例に不合理な点があることに気付くでしょう。



 Action: Originate Channel: SIP/104 Application: PickupChan Data: SIP/104-0000003b
      
      





間違いはありません。 呼び出しはSIP / 104チャネルから行われ、PickupChanはSIP / 104-0000003bチャネルに対して行われます。 それは、あなた自身のチャンネルのためです。



例についてコメントします



この機能を日常的に使用するようになりました。 私の職場にはIP電話が設置されています。 ヘッドセットが電話に接続されています。

  1. 着信があります。
  2. CTIアプリケーションの[電話に出る]ボタンを押します。
  3. 上記の例が開始します。
  4. インストールされた「SIPADDHEADER」のおかげで、自動応答があります。
  5. 電話が発信コールとピックアップコールを行います。


物理的に、私は電話を取りません。 ヘッドセットでクライアントと通信します。 ハンズフリー-顔の利益。



会話の録音を聴く



場合によっては、電話からの会話の録音をコールバックの形式で聞くと便利です。 104番に電話がかかります。 答えると、会話の録音が聞こえます。



AMIの例:



 Action: Originate Channel: SIP/104 Application: Playback Data: /storage/usbdisk1/test_file Priority: 1 Callerid: Playback Variable: SIPADDHEADER="Call-Info:\;answer-after=0"
      
      





拡張子「 / storage / usbdisk1 / test_file 」なしで完全なファイル名を転送するデータとして、アプリケーション「 Playback 」が使用されます。



会話を盗聴する



新しい従業員を訓練するために、私たちは珍しいアプローチを使用し始めました。 各研修生は、上司の会話を傍受/聞くことができます。 これにより、従業員はすぐにクライアントとの会話を構築する方法を理解し始めます。

この場合、「 ChanSpy 」アプリケーションを使用します。



 Action: Originate Channel: SIP/104 Application: ChanSpy Data: SIP/105,qx Priority: 1 Callerid: Spy-105 <105> Variable: SIPADDHEADER="Call-Info:\;answer-after=0"
      
      









会話に参加する



場合によっては、キュレーターが会話に参加して状況を「誘導」する必要があります。 この場合、次の例を使用します。



 Action: Originate Channel: SIP/104 Application: ChanSpy Data: SIP/105,qBx Priority: 1 Callerid: Spy-105 <105> Variable: SIPADDHEADER="Call-Info:\;answer-after=0"
      
      









プロンプトモード



キュレーターは会話に参加してインターンを促すことができます:



 Action: Originate Channel: SIP/104 Application: ChanSpy Data: SIP/105,wx Priority: 1 Callerid: Spy-105 <105> Variable: SIPADDHEADER="Call-Info:\;answer-after=0"
      
      









おわりに



説明したチームはCTIアプリケーションに完全に適合し、従業員の使いやすさと効率を大幅に向上させることができます。



開発時には、 PAMI、NAMI、およびShift8プロジェクトに注意することをお勧めします



この記事が、originコマンドの動作を理解するのに役立ち、CTIアプリケーションがより機能的になることを願っています。



All Articles