如果网站位于服务器上并且Lync位于本地用户环境中,如何使Lync Client正常工作?

时间:2013-06-17 14:57:59

标签: c# lync lync-client-sdk

我正在尝试启动Lync Conversation,它似乎正在我的本地环境中运行,这也是安装Microsoft Lync的地方。现在,当我尝试将此代码移动到托管在服务器上的网站上,然后尝试在本地计算机上的浏览器上运行此代码时,它将无法运行。我收到错误,“microsoft.Lync.Model.clientNotFoundException”。我猜它是因为它在服务器上而不是在用户的本地计算机上寻找Lync客户端? 如何让它在用户的计算机上查找客户端? 谢谢!

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Lync.Model.Extensibility;
using Microsoft.Lync.Model;
namespace PlusLyncDial

{
    public class LyncDial
    {        
        public static void DialNumber(string number)
        {
            number = number.Trim();
            if(number[0]!='1')
            {
                number = "1" + number;
            }
            List<string> participants = new List<string>();
            participants.Add("tel:+" + number);
            LyncClient.GetClient();
            // Start the conversation.
            LyncClient.GetAutomation().BeginStartConversation(
                AutomationModalities.Audio,
                participants,
                null,
                (ar) =>
                {
                    try
                    {
                        ConversationWindow newWindow = LyncClient.GetAutomation().EndStartConversation(ar);
                    }
                    catch { }
                },
                null);
        }
    }  
}

2 个答案:

答案 0 :(得分:1)

您无法从服务器控制用户的Lync客户端。如果您希望用户的客户端开始呼叫,请使用tel:前缀:

创建超链接
<a href="tel:+9900032etc">Click to call</a>

当用户点击此链接时,浏览器会调用电话链接的处理程序,该处理程序应该是用户的Lync客户端(或skype,或者当他使用该移动电话进行浏览时)。

答案 1 :(得分:0)

正如Willem指出的那样,您无法直接从另一台计算机上影响Lync客户端。如果您想代表用户开始呼叫,您可以使用基于UCMA(基于服务器)的应用程序来创建呼叫并根据需要添加参与者。

UCMA SDK可从http://www.microsoft.com/en-us/download/details.aspx?id=10566

获取