0

Asteriskは初めてですが、呼び出しファイルを生成してスプールフォルダーに移動することで、発信呼び出しを行うことができます。それをAGIスクリプトにリンクして、さらに多くのことを行うための呼び出しを取得することもできます

問題は、cdrdbデータベースのCLI番号を含むすべての詳細を確認できますが、呼び出し元の番号は確認できないことです。'dst'列の文字's'のみ。

また、「core showchannels concise」と入力すると、現在の発信通話のチャネルが表示されますが、「SIP/0001c」などと表示されます。

宛先番号を渡すことができるコールファイルまたはAGIスクリプトに入れる必要があるものはありますか?それとも、ここでダイヤルプランを実行する必要がありますか?

ところで、電話は反抗的に通過しています。

ありがとう

4

1 に答える 1

2

差出人:http ://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

ダイヤルしている電話番号は、*によってCDRに保存されません。CDR処理にこの情報が必要な場合は、コールファイルのCallerIDをこの番号に設定すると、保存されます。ただし、これにより、自分の電話番号に電話をかけている相手が表示されます。これはあまり意味がありません。より良い解決策は、ダイヤルしている番号を.callファイルのSet:channel変数に入れ、後でそれをCDRのUserFieldに入れることです。上記の最初のセクションの例を参照してください。

したがって、最良の方法は、次のようなターゲットを使用して、呼び出しファイルに変数を追加することだと思います(テキストに記載されています)。

Set: Target=5555555

次に、agiスクリプトに、問題の値を持つTargetという名前のチャネル変数があります。

GETVARIABLEまたはGETFULLVARIABLEを使用してコンテンツを取得し、 agiスクリプトで、 SET VARIABLE "CDR(myvariablename)" "value"を使用してCDR(myvariable)を設定することにより、カスタムCDRフィールドを追加します。

これにより、値がcdrに取得され、保存できるようになります。cdr_custom.confにカスタムフィールドを追加することで、csvバックエンドで試すことができます。たとえば、最後に$ {CSV_QUOTE($ {CDR(myvariablename)})}を追加します。

他のcdrバックエンドを使用している場合は、適切なドキュメントを確認する必要がある場合があります(mysqlの場合、およびおそらく残りの場合も、「userfield」列を使用することで解決できる場合があります)。

それが役に立てば幸い!

于 2012-06-21T13:28:06.533 に答える