在 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

从 UCMA 应用程序中的电话号码检索 Lync 联系人

UCMA设置lync在线状态

在 Lync 2013 体系结构上迁移 UCMA 3 应用程序

UCMA 应用程序未连接到 Lync 服务器

如何访问 UCMA 3.0 SDK 中的 Lync 2010 白板功能?