2

我正在尝试启动 Lync 对话,该对话似乎正在我的本地环境中工作,这也是安装 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);
        }
    }  
}
4

2 回答 2

1

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

<a href="tel:+9900032etc">Click to call</a>

当用户单击此链接时,浏览器会调用电话链接的处理程序,该处理程序应该是用户的 Lync 客户端(或 Skype,或者当他使用该客户端浏览时他的手机)。

于 2013-06-18T19:14:47.743 回答
0

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

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

于 2013-10-09T13:14:27.667 回答