我正在研究使用UCMA 5.0的解决方案。我希望能够在本地测试我的解决方案,但是当我查看文档时,似乎我需要将我的解决方案部署到所谓的“可信服务器”。我想在本地测试所有内容,并避免将文件复制到远程服务器(并在那里测试)。任何提示如何做到这一点?
UCMA应用有两种主要类型:
客户端应用程序只能创建UserEndpoint,并且必须提供所有身份验证信息(即用户密码)。如果这就是您所需要的,那么您可以在任何地方运行它而无需任何设置。
服务器应用程序更复杂,因为应用程序和运行它的机器是Lync“信任”的。您可以使用ApplicationEndpoint或UserEndpoint,它们比普通端点更有力量(无需密码和更多功能)。如果这是您所需要的,那么您需要设置您的机器才能运行服务器UCMA应用程序。
服务器应用程序有两种主要类型:
手动配置需要更多编码,因为您需要事先了解在Lync中创建的所有内容。
自动配置需要较少的编码,但机器设置很多。
我建议总是使用手动配置,因为自动配置的机器设置是我认为疯狂的......
因此,要在自己的机器上运行,您需要:
将计算机设置为应用程序池后,可以使用New-CsTrustedApplication和New-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差异,因此它们之间的切换非常简单。
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);
}