1

Asterisk.Net の古いコピーから AsterNet の最新バージョンにアップグレードしようとしています。以前は Call オブジェクトを返す AsteriskManager.OriginateCall() で呼び出しを開始していました。その呼び出しオブジェクトには、UniqueId と ChannelName がありました。

今、SendAction() で呼び出しを開始し、それを OriginateAction に送信しています。だから私の最初の質問は、それは正しい方法ですか? 私が得た結果では、UniqueId が null であり、ChannelName がないためです。チャネル名が属性にあるのではないかと思ったのですが、Attributes も null です。

では、発信したばかりの通話のチャネル名と一意の ID を取得するにはどうすればよいでしょうか?

4

2 に答える 2

3

これが私が行った方法です: OriginateAction を作成しました。OriginateAction で、Asynch を true に設定しました。次に、タイムアウト付きの SendEventGeneratingAction() で送信しました。返される ResponseEvents が null でないこと、responseEvents.Events.Count > 0 であること、および responseEvents.Events[0] が OriginateResponseEvent であることを確認します。responseEvents.Events[0] には、必要なすべての情報が含まれています。

于 2014-03-21T15:46:35.883 に答える
-1

Action Originateのページを参照してください。ライブラリのソースコードも確認してください。

originate をトリガーした後、アクション ID 情報を持つイベントOriginateResponseを取得します。その後、actionid に基づいて詳細情報を提供するイベント (バージョンに依存) が生成されます。

他の解決策は、送信していくつかの変数を生成した後、dialplay UserEvent コマンドで必要なすべての情報を返すことです。

PS。アスタリスクでの経験のないダイヤル コアの作成は、負荷がかかると問題が発生するため、非常に悪い考えです。すでに作成されたコアを使用するか、専門家を雇ってください。

于 2014-03-07T12:42:25.650 に答える