在本地计算机上测试UCMA应用程序

问题描述 投票:0回答:2

我正在研究使用UCMA 5.0的解决方案。我希望能够在本地测试我的解决方案,但是当我查看文档时,似乎我需要将我的解决方案部署到所谓的“可信服务器”。我想在本地测试所有内容,并避免将文件复制到远程服务器(并在那里测试)。任何提示如何做到这一点?

ucma skype-for-business
2个回答
4
投票

UCMA应用有两种主要类型:

客户端应用程序只能创建UserEndpoint,并且必须提供所有身份验证信息(即用户密码)。如果这就是您所需要的,那么您可以在任何地方运行它而无需任何设置。

服务器应用程序更复杂,因为应用程序和运行它的机器是Lync“信任”的。您可以使用ApplicationEndpointUserEndpoint,它们比普通端点更有力量(无需密码和更多功能)。如果这是您所需要的,那么您需要设置您的机器才能运行服务器UCMA应用程序。

服务器应用程序有两种主要类型:

手动配置需要更多编码,因为您需要事先了解在Lync中创建的所有内容。

自动配置需要较少的编码,但机器设置很多。

我建议总是使用手动配置,因为自动配置的机器设置是我认为疯狂的......

因此,要在自己的机器上运行,您需要:

  • 设置机器运行UCMA server application。我建议使用单个实例池。
  • 为您的计算机创建证书(通常是Web服务器)。阅读以上链接,证书设置一直是客户获得正确的头号问题区域,因此请仔细阅读上述链接。
  • 如果您疯了,请将您的机器设置为store replication point以进行自动配置。

将计算机设置为应用程序池后,可以使用New-CsTrustedApplicationNew-CsTrustedApplicationEndpoint根据需要创建受信任的应用程序和受信任的应用程序端点。

我会非常习惯使用lync powershell命令,因为它非常有用。

另外,我还推荐UCMA v4.0而不是v5.0。 v4应用程序在Skype for Business和Lync 2013上运行正常。此外,如果您使用UCMA 4.0,您可以安装Lync 2013 ocscore.msi(随UCMA 4.0运行时一起提供),并允许您自己运行Lync powershell命令机器(针对S4B和Lync 2013)。我还没弄明白如何在UCMA 5.0上做到这一点而不会破坏某些东西......

4.0和5.0之间没有API差异,因此它们之间的切换非常简单。


0
投票

UserEndpoint方法简单易行。

我在这里粘贴一些代码供参考。有了这个,您可以从初始化UserEndpoint开始。

using Microsoft.Rtc.Collaboration;
using Microsoft.Rtc.Signaling;


    private static string fqdn = ConfigurationManager.AppSettings["ServerFQDN"];
    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; 

var platformSettings = new ClientPlatformSettings(userAgent, SipTransportType.Tls);
_platform = new CollaborationPlatform(platformSettings);

        UserEndpointSettings settings = new UserEndpointSettings(sipaddress,fqdn);
        settings.Credential = new System.Net.NetworkCredential(username, password, domain);
        settings.AutomaticPresencePublicationEnabled = true;

        _endpoint = new UserEndpoint(_platform, settings);

        try
        {
            await _platform.BeginStartup();
            await _endpoint.BeginEstablish();

            _endpoint.RegisterForIncomingCall<InstantMessagingCall>(
                OnIncomingInstantMessagingCallReceived);
        }
© www.soinside.com 2019 - 2024. All rights reserved.