我有两个 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
关键字,调用实际上被分叉到两个位置:它响铃 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
属性是只读的,并且 setterInnerEndpoint.Gruu
是受保护的。无论如何,我不知道如何为给定的 SIP URI 获取 Gruu ......
谢谢。