我如何将 Lync 2010 与执行数据库查找并显示小弹出窗口、找到的信息以及带有一些选项的几个按钮的程序集成。
该程序已经在一些其他类型的电话系统上运行,我需要一个 Lync 连接器。
我不想在 Lync 中放置选项卡或其他 UI。
最佳答案
您需要从 Lync SDK 开始.您可以将应用构建为 Winforms 或 WPF 应用。
登录
要连接并登录到正在运行的 Lync 实例,请查看 this page从 SDK。确保保留对代表 Lync 的 LyncClient
对象的引用。这可以通过调用静态方法LyncClient.GetClient()
检测来电
要检测来电,您可以监听 ConversationManager.ConversationAdded
事件。 ConversationManager
是您的 LyncClient
实例上的一个属性。
要确定调用是 a) 音频调用还是 b) 来电(与用户拨出的电话相对),您可以使用以下方法:
bool IsIncomingAVCall(Conversation conversation)
{
// Test to see if the call contains the AV modality
bool containsAVModality = conversation.Modalities.ContainsKey(ModalityTypes.AudioVideo);
if (containsAVModality)
{
// Get the state of the AV modality
var state = conversation.Modalities[ModalityTypes.AudioVideo].State;
// 'Notified' means the call is incoming
if (state == ModalityState.Notified) return true;
}
return false;
}
在 ConversationAdded
事件中,您应该注册 Conversation.ParticipantAdded
事件,这样您就可以检查来电者是谁。 EventArgs 对象有一个 Participant
属性,而后者又有一个 Contact
属性。 Contact
属性有许多属性,包括 Uri
,它应该为您提供电话号码(如果您需要的话)。
然后您可以进行数据库调用并弹出您的信息。
编辑:我写了一篇关于屏幕弹出的博文,其中有更多细节 - here
调用电话
如果您的应用是 WPF,允许调用的最简单方法是使用 StartAudioCallButton控制。否则,说明 here应该有帮助。
关于c# - 将 Lync 2010 与外部程序集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144519/