Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 无配置存储复制的UCMA端点_Windows_Visual Studio_Lync_Ucma - Fatal编程技术网

Windows 无配置存储复制的UCMA端点

Windows 无配置存储复制的UCMA端点,windows,visual-studio,lync,ucma,Windows,Visual Studio,Lync,Ucma,我正在尝试使用UCMA sdk构建解决方案,但没有访问配置存储的权限。有没有可能不使用UCMA?我有一个用户名/密码可以用来登录lync网络,我想也许我可以访问类似的东西。UCMA应用程序可以在两种不同的模式下运行: 在此模式下,您不能创建“”,但如果您拥有用户的sip地址和密码,则可以创建“UserEndpoint” 在此模式下,您可以创建“”,并且可以使用“UserEndpoint”创建模拟任何用户,而无需用户密码 受信任应用程序的设置有两种类型 2.1。自动配置的受信任应用程序 这是一

我正在尝试使用UCMA sdk构建解决方案,但没有访问配置存储的权限。有没有可能不使用UCMA?我有一个用户名/密码可以用来登录lync网络,我想也许我可以访问类似的东西。

UCMA应用程序可以在两种不同的模式下运行:

  • 在此模式下,您不能创建“”,但如果您拥有用户的sip地址和密码,则可以创建“UserEndpoint”

  • 在此模式下,您可以创建“”,并且可以使用“UserEndpoint”创建模拟任何用户,而无需用户密码

    受信任应用程序的设置有两种类型

    2.1。自动配置的受信任应用程序 这是一个非常容易设置的代码,但很难设置运行在机器上。我并不推荐这种设置,因为机器设置要求很高

    2.2。手动配置的受信任应用程序 这一个有更多的“设置”代码,但更容易设置机器运行。我会推荐这种设置,因为我发现整体设置要容易得多

    这两种类型的受信任应用程序都要求您先在Lync中查看受信任应用程序的详细信息,然后才能运行它们

    您使用的UCMA应用程序设置取决于您如何配置实例

    基本不受信任(客户端)应用程序:

    var clientPlatformSettings = new ClientPlatformSettings("lync.front.end.server.address", SipTransportType.Tls)
    var collaborationPlatform = new CollaborationPlatform(clientPlatformSettings);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    var serverPlatformSettings = new ProvisionedApplicationPlatformSettings("lync.front.end.server.address", "trusted application id")
    var collaborationPlatform = new CollaborationPlatform(serverPlatformSettings);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    var certificate = CertificateHelper.GetLocalCertificate("trusted application pool qfdn");
    var settings = new ServerPlatformSettings("lync.front.end.server.address", Dns.GetHostEntry("localhost").HostName, trusted_application_port, trusted_application_gruu, certificate);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    自动配置的受信任应用程序:

    var clientPlatformSettings = new ClientPlatformSettings("lync.front.end.server.address", SipTransportType.Tls)
    var collaborationPlatform = new CollaborationPlatform(clientPlatformSettings);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    var serverPlatformSettings = new ProvisionedApplicationPlatformSettings("lync.front.end.server.address", "trusted application id")
    var collaborationPlatform = new CollaborationPlatform(serverPlatformSettings);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    var certificate = CertificateHelper.GetLocalCertificate("trusted application pool qfdn");
    var settings = new ServerPlatformSettings("lync.front.end.server.address", Dns.GetHostEntry("localhost").HostName, trusted_application_port, trusted_application_gruu, certificate);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    手动配置的受信任应用程序:

    var clientPlatformSettings = new ClientPlatformSettings("lync.front.end.server.address", SipTransportType.Tls)
    var collaborationPlatform = new CollaborationPlatform(clientPlatformSettings);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    var serverPlatformSettings = new ProvisionedApplicationPlatformSettings("lync.front.end.server.address", "trusted application id")
    var collaborationPlatform = new CollaborationPlatform(serverPlatformSettings);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    
    var certificate = CertificateHelper.GetLocalCertificate("trusted application pool qfdn");
    var settings = new ServerPlatformSettings("lync.front.end.server.address", Dns.GetHostEntry("localhost").HostName, trusted_application_port, trusted_application_gruu, certificate);
    ...
    await Task.Factory.FromAsync(collaborationPlatform.BeginStartup, collaborationPlatform.EndStartup, null);
    

    有很多细节缺失。一旦您知道要开发哪种类型的UCMA应用程序,您就可以在internet上搜索该类型的特定示例。

    是的,您可以使用UserEndpoint进行此操作。它不需要使用配置存储进行任何复制(只要您拥有您所说的用户名和密码)

    我在这里比较了应用程序端点和用户端点:


    这里有一个使用用户端点发送IM的工作示例:

    仿真器肯定会有用我尝试运行此代码时遇到此错误:
    Microsoft.Rtc.signing.TlsFailureException类型的异常发生在Microsoft.Rtc.Collaboration.dll中,但未在用户代码中处理其他信息:目标主体名称不正确
    知道如何修复它吗?