在 UCMA 4.0 应用程序中接受 Lync 客户端的来电
Posted
技术标签:
【中文标题】在 UCMA 4.0 应用程序中接受 Lync 客户端的来电【英文标题】:Accept a Lync client's incoming call in UCMA 4.0 application 【发布时间】:2014-07-22 07:53:11 【问题描述】:我有两个 Lync 客户 Hulk 和 Batman。绿巨人打电话给蝙蝠侠,之后它给蝙蝠侠的 Lync 客户端打了电话。
现在,我想编写一个 UCMA 4.0 受信任的应用程序,它应该接受来电,以便在两个 Lync 客户端 Hulk 和 Batman 之间建立 RTP 连接。
我执行以下操作:
_userEndpoint.RegisterForIncomingCall<AudioVideoCall>(IncomingCallDelegate);
用户端点(使用 SIP URI sip:batman_lync@artus.demo 配置)是使用 new
关键字创建的:new UserEndpoint(_collaborationPlatform, endpointSettings);
但是由于这个new
关键字,调用实际上被分叉到两个位置:它响铃蝙蝠侠的Lync 客户端和调用IncomingCallDelegate
。在我接听IncomingCallDelegate
的电话后,蝙蝠侠的 Lync 客户端停止响铃,但很遗憾,Lync 客户端没有在通话中(它的状态也设置为“可用”)。
public void IncomingCallDelegate(object sender, CallReceivedEventArgs<AudioVideoCall> args)
_logger.Log("Call incoming...");
var call = args.Call;
call.BeginAccept(ar =>
call.EndAccept(ar);
_logger.Log("Call accepted.");
, null);
如何接受正确的用户端点?用户端点的 EndpointUri
属性是只读的,InnerEndpoint.Gruu
的设置器受到保护。无论如何,我不知道如何获取给定 SIP URI 的 Gruu...
谢谢。
【问题讨论】:
【参考方案1】:您实际上是在向 SIP 地址添加另一台设备(端点),然后在该设备上接听电话,因此呼叫在其他设备上停止响铃是正确的,因为它已被接听。诚然,我很惊讶出席并没有变成“待命”。
如果您想在特定设备上自动接听电话,我建议 UCMA 可能不适合这项工作,并建议使用 Lync Client SDK 在本地监视传入的 AV 呼叫。
【讨论】:
以上是关于在 UCMA 4.0 应用程序中接受 Lync 客户端的来电的主要内容,如果未能解决你的问题,请参考以下文章
升级到 Skype for Business 2015 后 UCMA 4.0 应用程序中的 TLSFailureException