- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何在托管 SIP 应用程序(服务器端技术,如 MSPL 或 UCMA)中检索 Lync 客户端的调用转发规则(路由)?我唯一找到的是一篇关于如何使用 Lync SDK 在客户端执行此操作的文章。
还有 this Answer和 this MSDN Article和 this Question似乎表明它确实有效,但我需要在特定时刻(如果用户在线或不在线)进行此设置,而不是在他登录到他的 Lync 帐户并发布他的状态信息后立即进行设置,如链接 #1 中所示。此外,有必要在不先创建 UserEndpoint 的情况下为任何客户端获取此信息。因此,最好使用 ApplicationEndpoint(或其他方法)实现这一点。
据我所知,应该可以从状态元数据中检索转发设置,但我没有得到此信息。
var categories = new string[] {
"state",
//"routing" // ?
};
var asyncresult = presenceSvc.BeginPresenceQuery(sips, categories, null, null, null);
var result = presenceSvc.EndPresenceQuery(asyncresult).ToList();
最佳答案
你不能用 ApplicationEndpoint 来做。您必须有一个 UserEndpoint。但是,您可以创建一个只需要 CollaborationPlateform 和 SipUser 而不需要任何密码的 UserEndpoint。
对于我的应用程序,我反编译了SEFAUtil.exe通过ILSpy了解他们在程序中的表现。我建议你看一看。
这是我实现它的技巧:
1/创建用户端点
创建用户端点时,即使未连接
,您也必须订阅此状态才能获取信息userEndpoint.LocalOwnerPresence.BeginSubscribe(null, null);
2/订阅PresenceNotificationReceived事件
userEndpoint.LocalOwnerPresence.PresenceNotificationReceived += OnCategoryNotificationReceived;
private static void OnCategoryNotificationReceived(object sender, LocalPresentityNotificationEventArgs e)
{
// Here you get the PresenceCategory and all the data of the user
foreach (PresenceCategoryWithMetaData current in e.AllCategories)
{
if (current.Name == "routing" && current.ContainerId == 0 && current.InstanceId == 0L)
// Creation of your Routing, I stock it in a Property
_routingCategory = new Routing(current);
}
// I set my event to continue my main thread
_routingCategoryUpdated.Set();
}
3/显示你想要的信息
// Wait until you get the information of the user
if (!_routingCategoryUpdated.WaitOne(10000))
{
Console.WriteLine("TimeOut Getting Informations");
return;
}
// Just display all the data you can need
else
{
Console.WriteLine($"User Aor: {userEndPointTarget.OwnerUri}");
Console.WriteLine($"Display Name: {userEndPointTarget.OwnerDisplayName}");
Console.WriteLine($"UM Enabled: {userEndPointTarget.UmEnabled}");
Console.WriteLine($"Simulring enabled: {_routingCategory.SimultaneousRingEnabled}");
if (_routingCategory.SimultaneousRingEnabled && _routingCategory.SimultaneousRing != null)
{
foreach (string time in _routingCategory.SimultaneousRing)
{
Console.WriteLine($"Simul_Ringing to: {time}");
}
}
if (_routingCategory.DelegateRingEnabled)
{
if (_routingCategory.SkipPrimaryEnabled)
{
Console.Out.Write("Forwarding calls to Delegates: ");
}
else if (_routingCategory.UserWaitTimebeforeTeamOrDelegates.TotalSeconds > 0.0)
{
Console.Out.Write($"Delay Ringing Delegates (delay:{ _routingCategory.UserWaitTimebeforeTeamOrDelegates.TotalSeconds} seconds): ");
}
else
{
Console.Out.Write("Simultaneously Ringing Delegates: ");
}
foreach (string delegateCurrent in _routingCategory.Delegates)
{
Console.Out.Write($"{delegateCurrent} ");
}
Console.Out.WriteLine();
}
else if (_routingCategory.TeamRingEnabled)
{
if (_routingCategory.UserWaitTimebeforeTeamOrDelegates.TotalSeconds > 0.0)
{
Console.Out.Write($"Delay Ringing Team (delay:{_routingCategory.UserWaitTimebeforeTeamOrDelegates.TotalSeconds} seconds). Team: ");
}
else
{
Console.Out.Write("Team ringing enabled. Team: ");
}
foreach (string currentTeam in _routingCategory.Team)
{
Console.Out.Write($"{currentTeam} ");
}
Console.Out.WriteLine();
}
else if (_routingCategory.CallForwardToTargetsEnabled)
{
if (_routingCategory.CallForwardingEnabled)
{
Console.Out.WriteLine($"Forward immediate to: {_routingCategory.CallForwardTo}");
}
else
{
Console.Out.WriteLine($"User Ring time: {_routingCategory.UserOnlyWaitTime}");
Console.Out.WriteLine($"Call Forward No Answer to: {_routingCategory.CallForwardTo[0]}");
}
}
else if (userEndPointTarget.UmEnabled)
{
Console.Out.WriteLine($"User Ring time: {_routingCategory.UserOnlyWaitTime}");
Console.Out.WriteLine("Call Forward No Answer to: voicemail");
}
else
{
Console.Out.WriteLine("CallForwarding Enabled: false");
}
关于c# - 使用服务器端技术(UCMA 或 MSPL)检索 Lync 客户端的调用转移规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26752709/
Skype for Business 似乎有很多不同的 SDK/API。我很难破译哪个适合服务器端 Bot 之类的应用程序,该应用程序可以将特定于域的信息传达给组织内的用户。例如,我们希望能够通过消息
创建可信服务器应用程序然后将其部署到 lync 服务器上的步骤是什么?我是 lync 服务器应用程序开发的新手。 最佳答案 终于解决问题了 This can be helpful. 但简单来说, 第
我们安装了 skype-for-business 服务器,我需要记录通过它的拨出电话。我下载了 SDK 并熟悉了记录器示例,一切正常。但是,我们使用原生 Skype for business 应用程序
我有一个使用 UCMA 获取 lync 用户状态的应用程序。 我有一个澄清。我已经下载了继承类的示例应用程序,如下所示: public class UcPresenceProvider : Micro
我正在尝试使用 UCMA SDK 构建解决方案,但无权访问配置存储。没有它可以使用 UCMA 吗?我有一个可用于登录 lync 网络的用户名/密码,我想也许我可以访问类似的东西。 最佳答案 是的,您可
我需要开发一个具有以下属性的聊天机器人: 平台 - Skype for Business On-Premise 功能 - 通过查看各种知识库(多平台 - 数据库、Web API 等)来回复用户查询 从
我是 UCMA 3.0 的新手(也是 Lync 服务器的新手),想要了解如何通过 UCMA 与 Lync 2010 服务器进行通信。我想要一些快速而肮脏的东西,例如向我展示如何设置开发环境的分步教程,
有没有人成功地使用 UCMA 2.0 sdk 通过即时消息流发送格式化文本? MSDN 上似乎没有很好的文档记录。那里有例子吗?有没有讲这个的书? 最佳答案 今天早些时候我自己在工作中遇到了这个问题。
我正在尝试从独立的 UCMA 应用程序向基于连接 IP 地址进行身份验证的 SIP 提供商 (Gamma) 发出出站调用。这是我试图实现此目的的代码(直接从 Michael Greenlee ( ht
目前,我正在开发一个 ucma 3.0 vxml 应用程序。在 voicexml 文档中,我使用一个记录元素来获取调用者的录音,然后将录音发送到外部网络服务器并将其保存到 wav 文件中。 保存的 w
我正在尝试使用 UCMA 示例并遇到了 https://msdn.microsoft.com/en-us/library/office/dn454827(v=office.16).aspx我从 htt
是否可以在不单独订阅所有在线实体的情况下从 Lync 服务器全局捕获所有在线状态更改? 我们所追求的似乎与 UCMA SDK 中的 RemotePresenceView 类非常相似,但该类仅允许您订阅
我正在尝试使用 UCMA 3.0 安排 lync session 。创建 session 后,我将 ConferenceUri 发送给用户并让他们加入 session 。 Lync Test 2.0
如何在托管 SIP 应用程序(服务器端技术,如 MSPL 或 UCMA)中检索 Lync 客户端的调用转发规则(路由)?我唯一找到的是一篇关于如何使用 Lync SDK 在客户端执行此操作的文章。 还
我目前正在使用 UCMA 4.0 并实现一个基于 IVR 的示例。当我运行示例时,它给出“不支持指定的方法。” 我写了下面的代码来播放 IVR on call。 public void playIVR
我们正在尝试弄清楚最新的 UCWA或 UCMA支持 Skype for Business Online。找了半天,看到2015年3月/4月有人发帖说UCMA/UCWA还不支持。但是后来,我找不到任何关
我使用 UCMA 3.0 编写了一个基本的 IVR 系统。它接收来电,然后使用以下类执行 VXML 脚本: Microsoft.Rtc.Collaboration.AudioVideo.VoiceXm
我刚刚使用 UCMA 4.0 制作了一个小型 LYNC 应用程序 - 它在我的本地机器上运行良好,但我在目标服务器上安装它时遇到问题。我已经fought and won with missing as
我正在寻找Lync 2010的客户端和服务器端API。但是我发现了许多可以开发的API。 有人知道它们之间有什么区别吗?请帮忙 Microsoft Lync Server 2010 SDK http:
我正在使用最新的 SFB Web SDK 将音频通话与 UCMA Bot 连接。我想将 Toast 消息从 SFB Web SDK 发送到 UCMA Bot。我尝试使用 IM 调用,工作正常,但在音频
我是一名优秀的程序员,十分优秀!