我是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?
答案 0 :(得分:2)
首先,您需要了解可以使用UCMA编写的应用程序类型:
受信任的服务器应用程序
此类型的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用户端点
在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>
在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);
}}}
此外,您必须编码,以便接收消息并回复消息。