UCMA转接失败的原因是背对背呼叫

时间:2015-12-17 12:50:40

标签: ucma lync-client-sdk

我有一个从来电者到我们的ucma服务器到客户端/运营商的背对背呼叫。当从呼叫者到ucma进行腿部转移时,可能会发生一些不同的结果;转移目标应答,不接听或忽略呼叫(忽略/忙碌按钮)。

我想区分后两者;忙,没有回答。在ucma应用程序中,我只获得一个FailureRequestException,其中包含文本“传输操作失败。有关更多信息,请参阅异常中的消息数据。” 我无法弄清楚异常中的任何地方,或者如何知道忙碌和无应答之间的区别。两者都生成相同的异常,没有明显的参数说明它们。

在这种情况下,我有什么方法可以知道传输失败的原因吗?

1 个答案:

答案 0 :(得分:1)

我不确定这是否会有所帮助,但是如果你能获得邀请的最终非临时状态代码,那么“忽略”结束将是603.没有答案将是“480” - 尽管如此由于许多其他原因,可以退回480(暂时不可用)。

如果用户有多个端点(例如Desktop Lync Client和Mobile Lync Client),也可能会混淆这种情况。因此,您最终会得到分叉的请求/响应,只有一个整体响应给您。那么你可能无法总是确切地说出呼叫被终止的原因。

我觉得你说你得到一个FailureRequestException很有趣。 我期待一个FailureResponseException。使用FailureResponseException异常,您可以提取状态代码。

来自UCMA 4.0 exception model msdn page

  

FailureResponseException

     

在收到请求的4xx,5xx或6xx响应时抛出。此异常包含ResponseData属性,该属性   包含完整的响应,包括响应代码,原因文本,   标题和邮件正文。在极少数情况下,这也可能被抛出   当发生4xx,5xx或6xx响应以外的错误时。在这样的   例如,ResponseData属性为null。