在UCMA 4.0应用程序中接受Lync客户端的来电

时间:2014-07-22 07:53:11

标签: lync ucma lync-2013

我有两个Lync客户端Hulk和Batman。绿巨人称蝙蝠侠为蝙蝠侠的Lync客户端。

现在,我想编写一个 UCMA 4.0 受信任的应用程序,该应用程序应接受该来电,以便两个Lync客户端Hulk和Batman之间存在RTP连接。

我执行以下操作:

_userEndpoint.RegisterForIncomingCall<AudioVideoCall>(IncomingCallDelegate);

使用new关键字创建了用户端点(使用SIP URI sip:batman_lync@artus.demo 配置):new UserEndpoint(_collaborationPlatform, endpointSettings);

但是由于这个new关键字,调用实际上是分叉到两个位置:它会调用Batman的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的setter受保护。我不知道如何获得给定SIP URI的Gruu ......

感谢。

1 个答案:

答案 0 :(得分:0)

您正在有效地将另一个设备(端点)添加到SIP地址,然后在该设备上应答呼叫,以便呼叫在已应答的其他设备上停止响铃是正确的。不可否认,我很惊讶在场,并没有改变到#34;。

如果您想在特定设备上自动接听电话,我会建议UCMA可能是错误的工作工具,并建议使用Lync Client SDK在本地监听传入的AV电话。

相关问题