1

UCMA ワークフロー アプリケーションで次のコードを使用して通話を確立しようとしています。

try{
var conversation = new Conversation(endpoint);
avCall = new AudioVideoCall(conversation);
avCall.EndEstablish(avCall.BeginEstablish(CalleeParty,options,null,null));
catch (FailureResponseException frex){
_logger.WriteToLog(frex.Message, "TransferCall", this.CallerUri, this.CalleeParty);
}
catch (OperationFailureException ofex)
{
_logger.WriteToLog(ofex.Message, "TransferCall", this.CallerUri, this.CalleeParty);
}
catch (RealTimeException rtex){
}
_logger.WriteToLog(rtex.Message, "TransferCall", this.CallerUri, this.CalleeParty);
}

宛先パーティが呼び出しを拒否した場合、アプリケーションはタイムアウト (30 秒) が経過した後にのみビジー応答を受信します。また、呼び出しは ucma アプリケーション内で確立されるため、呼び出し中や通話中の状態を示す音声はまったく聞こえません。

それは正常ですか?そうでない場合、どうすれば修正できますか?

4

1 に答える 1

2

BeginEstablish を呼び出す前に、Call.StateChanged イベントをサブスクライブできます。

これを行うと、通話がさまざまな状態を通過するときに通知されます。あなたの例では、通話が確立中から終了に直接移動することがわかります。(受け入れられたコールは、確立中から確立済みになり、いずれかの当事者が電話を切ると、最終的に終了します)。

MSDN には、便利なビジュアル ダイアグラムがあります: http://msdn.microsoft.com/en-us/library/hh347379.aspx。実際、誰もが見られるようにここにリンクします。

Lync 通話状態

また、Michael Greenlee のブログ投稿では、まさにこれについて説明しており、TransitionReason などの追加情報を取得する方法についても説明しています。

それが役立つことを願っています。

于 2012-04-17T19:27:27.767 に答える