如何将UCMA代码指向专用的Skype for Business ID

时间:2017-07-28 08:37:25

标签: asp.net configuration skype-for-business ucma

我是UCMA Bot开发的新手。我开始使用UCMA 5.0 SDK(名为BuildaBot)中给出的示例应用程序。我无法设置viewPager.setCurrentItem(0); 。我为此Bot创建了一个专用的SkypeforBusiness ID。这是在我的组织云中创建的。我已在我们的本地服务器中部署了代码。 如何为此Skype ID集成我的代码。

我在UCMA 5.0 SDK的其他QuickSamples中发现,他们使用的是application endpoint。我可以在App.config中使用Skype ID(Bot的那个),应用程序在本地运行。在生产方案中,Bot针对许多用户,是否可以使用Userendpoint?

2 个答案:

答案 0 :(得分:2)

首先,您需要了解可以使用UCMA编写的应用程序类型:

  1. Trusted Server Applications
  2. Client Applications
  3. 受信任的服务器应用程序

    此类型的UCMA应用程序功能最强大,您可以使用ApplicationEndpoints或UserEndpoints(通过模拟)。它们仅限于在特定的预安装机器(应用程序池)上运行。因此,运行受信任的服务器应用程序的设置比客户端应用程序要高很多,也更难。受信任的服务器应用程序不需要任何用户名或密码,它们使用数字证书进行设置(可能发生的另一个设置问题是整理出正确的证书)。这意味着一旦运行,用户端点就很容易冒充用户。

    客户端应用

    UCMA客户端应用程序只能使用UserEndpoint。要使客户端应用程序使用用户端点,它必须知道他们希望使用的用户的用户名/密码详细信息。它们也不像“信任”那样。作为受信任的服务器应用程序UserEndpoint(尽管您可能永远不需要额外的权限)。

    两种应用程序类型都可以执行相同类型的操作,因此主要归结为运行需求。

    接下来,您需要了解两种类型的端点是什么:

    <强> ApplicationEndpoint

    应用程序端点只能由可信服务器应用程序使用。应用程序端点(客户端访问许可证)也没有CAL要求。不需要CAL可能是走这条路的主要原因。

    <强> UserEndpoint

    用户端点是通过AD集成的标准Lync用户设置,因此每个AD用户通常有一个UserEndpoint。 UserEndpoint需要分配某种CAL。无论是&#34;免费&#34; CAL许可证或不同级别的付费CAL许可证,具体取决于所需的功能。

    两种端点类型都只是您可以执行相同操作的SIP端点。所以你可以用任何一个编写机器人。我的猜测是使用ApplicationEndpoint的受信任的应用程序,因为您不需要在应用程序端点上支付CAL成本,您可以根据需要创建/使用。另外,创建应用程序端点(我发现)也比创建AD用户更容易。

答案 1 :(得分:0)

它不太可能通过互联网为UCMA找到现成的代码。经过大量的工作,我想出了我的问题的答案。 对于其他参考,我在这里更新。

如何创建UCMA用户端点

  1. 获取专用的SFB ID(如abc@domain.com),它将作为Bot。
  2. 在App.config中,提供运行样本所需的Bot参数(值)。

    <appSettings>
    Provide the FQDN of the Microsoft Lync Server-->    
    <add key="ServerFQDN" value="" />
    
    <!--The user name of the user(BOT) that the sample logs in as -->
    <add key="UserName" value="" /> 
    
    <!--The user domain of the user(BOT) that the sample logs in as -->
    <add key="UserDomain" value="" />
    
    <!--The user URI of the user(BOT) that the sample logs in as, in the format sip:user@host-->
    <add key="UserURI" value="sip:abc@domain.com" />
    
    <!--The user URI of the user(BOT) that the sample logs in as-->
    <add key="UserPwd" value="" />
    
    </appSettings>
    
  3. 在Program.cs中,将以下代码放在下面。这将建立用户端点。这意味着,您已将BOT ID映射到应用程序,现在您的应用程序将适用于该Bot id。

    using System.Configuration;
    using System.Collections.Concurrent;
    using Microsoft.Rtc.Collaboration;
    using Microsoft.Rtc.Signaling;
    
    namespace Bot
    {
    public class Program
    {
    private static string sipaddress = ConfigurationManager.AppSettings["UserURI"];
    private static string username = ConfigurationManager.AppSettings["UserName"];
    private static string password = ConfigurationManager.AppSettings["UserPwd"];
    private static string domain = ConfigurationManager.AppSettings["UserDomain"];
    
    CollaborationPlatform _platform;
    UserEndpoint _endpoint;
    
    static void Main(string[] args)
    {
    var platformSettings = new ClientPlatformSettings(userAgent, SipTransportType.Tls);
        _platform = new CollaborationPlatform(platformSettings);
    
        UserEndpointSettings settings = new UserEndpointSettings(sipaddress);
        settings.Credential = new System.Net.NetworkCredential(username, password, domain);
        settings.AutomaticPresencePublicationEnabled = true;
    
        _endpoint = new UserEndpoint(_platform, settings);
        }}}
    
  4. 此外,您必须编码,以便接收消息并回复消息。