【发布时间】: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...
谢谢。
【问题讨论】: