我正在为基于 Lync 的公司目录开发自定义 UI。我使用 Lync 2013 执行此搜索:
Container.Instance.Lync.ContactManager.BeginSearch(SearchQuery,
SearchProviders.GlobalAddressList,
SearchFields.AllFields,
SearchOptions.IncludeContactsWithoutSipOrTelUri,
500,
ContactsAndGroupsCallback, SearchQuery);
对于每个匹配的联系人,我尝试访问他们的端点以显示电话号码:
var cit = ContactInformationType.ContactEndpoints;
var endpoints = contact.GetContactInformation(cit) as List<object>;
Problem
如果找到的联系人位于我用于连接 Lync 的帐户的联系人列表中,则我可以访问完整的详细信息(5 个端点)。但是,如果他不在联系人列表中,我只能访问 1 个端点。
有什么想法为什么会发生这样的事情吗?是否有我需要关闭的全局隐私设置或其他设置?
如何随时访问所有端点?
谢谢。
PS:我尝试单独加载结果集中的每个联系人,但仍然得到相同的行为。
我在尝试编写一个程序来获取 Lync SDK 2010 上所有用户的状态时遇到了类似的问题。选择所有用户并读取其状态(在线/离线等)。但它仅适用于客户联系人列表中的那些联系人。我不知道为什么,但没有找到解决方案。稍后我使用 UCMA 4(带有应用程序端点),尽管从 AD 收到列表并且只能获取当前状态。
也许使用 AD 搜索有意义?通过用户 sip 查找电话号码?如果是这样,请尝试对 DirectorySearcher 使用此过滤器:
searcher.Filter = "(&(objectClass=user)(msRTCSIP-PrimaryUserAddress=*))"; //put sip instead of *
附:你用的是什么sdk?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)