客户希望为他的应用程序网站启用聊天/即时信使。他在内部使用 Lync Server 与内部聊天。现在,他需要以下内容: 外部用户(不会是 AD 用户)登录到 Web 端能够与公司内部的人聊天。内部用户将通过他的 lync 客户端接收这些消息。
实现这一目标的最佳方法是什么?我想到了将来自 web 端的消息委托给 lync 服务器来完成其余工作的 bot。但是我如何以外部用户的身份发送消息?
客户希望为他的应用程序网站启用聊天/即时信使。他在内部使用 Lync Server 与内部聊天。现在,他需要以下内容: 外部用户(不会是 AD 用户)登录到 Web 端能够与公司内部的人聊天。内部用户将通过他的 lync 客户端接收这些消息。
实现这一目标的最佳方法是什么?我想到了将来自 web 端的消息委托给 lync 服务器来完成其余工作的 bot。但是我如何以外部用户的身份发送消息?
解决此问题的常用方法是使用以下组件:
例如,WCF 服务可以公开一些方法:
GetPresence(targetSipUri)
- 返回给定 uri 的存在值SendIM(targetSipUri, message)
- 向给定的 uri 发送 IMGetReplies()
- 对任何回应进行民意调查当您深入了解细节时,您可能需要更多方法 - 例如,生成对话令牌并传递它可能是一个想法
Web UI 可以显示具有在线状态的联系人列表 ( GetPresence
),然后允许用户单击在线联系人以启动新的对话窗口并发送初始消息 ( SendIM
),然后轮询服务以获取联系人的任何回复 ( GetReplies
) - 注意,机器人必须在内部对回复进行排队,直到调用 GetReplies。
有可能满足您需求的商业产品 - 快速搜索Lync webchat
应该会出现一些。此外,可能值得研究Lync Web App,看看这是否适用于您的客户
编辑:回答下面的评论 - 是的,您的内部用户将看到来自“我们的 Lync Bot”的对话。如果您不知道您的用户是谁(例如浏览购物网站的随机潜在客户),您可以从他们那里获取一些信息(名称、要讨论的产品等)并让机器人将其显示给内部用户,或者作为一部分IM 对话,或作为对话窗口扩展中显示的对话上下文。
如果您的外部用户是事先知道的(例如注册客户),并且内部用户必须将对话视为来自他们,那么您将需要为每个对话创建一个 UserEndpoint - 但这将依赖于让用户在 AD 中。