Lync UCMA呼叫建立仅在30秒后提供忙响应

Lync UCMA呼叫建立仅在30秒后提供忙响应,lync,lync-2010,ucma,Lync,Lync 2010,Ucma,我正在尝试在UCMA工作流应用程序中使用以下代码建立呼叫: try{ var conversation = new Conversation(endpoint); avCall = new AudioVideoCall(conversation); avCall.EndEstablish(avCall.BeginEstablish(CalleeParty,options,null,null)); catch (FailureResponseException frex){ _logger.Wri

我正在尝试在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应用程序中建立的,所以我根本听不到任何表示铃声和忙碌状态的声音


这正常吗?如果不正常,我如何修复它?

您可以在调用BeginEstablish之前订阅Call.StateChanged事件

如果您这样做了,那么当呼叫通过不同的状态时,您将收到通知。在您的示例中,您将看到呼叫直接从建立移动到终止。(已接受的呼叫将转到已建立,然后在任何一方挂断后最终终止)

MSDN在这里有一个有用的可视化图表:。事实上,我将把它链接到这里,让每个人都能看到:

此外,Michael Greenlee还提供了一个示例,并介绍了如何获取其他信息,如TransitionReason


希望能有所帮助。

谢谢你,汤姆,我确实试过了,也试过了临时响应接收事件,它可以显示你在通话中得到的响应,如:铃声、尝试等。问题是,当远程用户拒绝通话时,在我收到忙信息之前有30秒的间隔。i、 e我的应用程序在30秒内未收到任何响应。例如:我在呼叫建立期间得到以下响应:101-183-180-183等,然后如果用户拒绝呼叫,我得到404,但30秒后,就好像呼叫消失30秒,没有任何响应一样。