目录

简介

先决条件

要求

使用的组件

背景信息

配置

智能许可的HCM-F配置工作流程

集群关联CSSM

当您通过HCM-F将统一通信应用分配到智能许可服务时，会发生什么情况？

日志演练（HLM日志设置为Detailed）

简介

本文档介绍如何通过Cisco Hosted Collaboration Solution(HCS)12.5中的Cisco Hosted Collaboration Solution(HCS)与智能帐户同步

思科托管协作调解实施(HCM-F)

先决条件

要求

Cisco 建议您了解以下主题：

Cisco Unified Communications Manager (CUCM) 12.5 版

HCM-F 12.5

CUCM智能许可 — 直接模式

思科智能软件管理(CSSM)

使用的组件

本文档中的信息基于以下软件和硬件版本：

CUCM 12.5.X

HCM-F 12.5.1

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

托管许可证管理器(HLM)在HCM-F中作为服务运行。已开发HLM/HCM-F，以将思科统一通信应用(UC)应用注册到思科云中运行的智能许可服务。将UC应用分配给智能许可服务后，即可从CSSM门户跟踪这些应用的许可证使用情况，该门户将充当HCS合作伙伴的单一许可证管理存储库。

HCM-F HLM服务允许在HCM-F中配置智能帐户，并允许从HCM-F执行与此智能帐户相关的任何基于集群的操作。

思科云中的智能许可服务通过OAuth身份验证公开不同的应用编程接口(API)。此外，UC应用确实会公开API，以允许HCM-F执行集群操作过程中涉及的多个步骤，如“分配”和“取消分配”。

因此，HCM-F利用两端公开的API执行集群操作。

此集成需要连接到思科云服务：

cloudsso1.cisco.com -> 72.163.4.74

cloudsso2.cisco.com -> 173.37.144.211

cloudsso3.cisco.com -> 173.38.127.38

swapi.cisco.com -> 146.112.59.25

HCM-F/Proxy与思科云服务之间的所有通信均通过端口TCP/443上的TLS连接完成。

配置

作为HCS合作伙伴管理员，登录Cisco API Developer Portal选择 浏览>智能帐户和许可API >智能帐户

要在HCM-F中配置智能帐户，需要API客户端：

在此步骤中生成的客户端凭证使用“API服务”应用类型，需要智能帐户API关联，并为HCM-F中的智能帐户配置访问提供。提供正确的客户端凭证和智能帐户域名后，HCM-F将完成配置并使用相同的访问详细信息与智能许可服务进行交互。

具体而言，它会根据cloudsso.cisco.com进行身份验证，以获取Oauth2.0承载令牌，然后通过swapi.cisco.com从云许可证服务获取所有虚拟帐户。虚拟帐户获取所需的时间取决于虚拟帐户和从卫星同步的虚拟帐户的数量。此操作最多需要一个小时。忽略从卫星同步的虚拟帐户。

智能许可的HCM-F配置工作流程

导航到Infrastructure Manager > Smart Licensing > Configure Smart Account:

此处的信息使用本文档前面部分中生成的输出进行填充。

导航到Infrastructure Manager > Smart Licensing > Transport Mode:

需要在HCM-F中设置传输模式，才能将HCM-F和UC应用连接到CSSM。

注意：HCM-F 12.5.1仅支持直接模式集成，即传输模式可设置为直接或代理

导航到Infrastructure Manager > Smart Licensing > Virtual Account Summary:

注意: {要查看与智能帐户关联的虚拟帐户。从列表中选择智能帐户名称。“虚拟帐户”(Virtual Accounts)页面显示虚拟帐户列表。}

集群关联CSSM

要将UC应用“分配”到CSSM，您需要确保12.5集群和UC应用都存在并配置在HCM-F资产中，同时提供管理员和平台凭证。

完成智能帐户配置后，HCM-F将同步来自CSSM的所有数据并更新SDR、智能帐户以及虚拟帐户数据。在SDR中更新虚拟帐户数据后，允许管理员用户将群集分配到任何虚拟帐户。

此群集操作称为“群集分配”，从VA中删除群集操作称为“群集取消分配”。  集群从一个VA移动到另一个VA称为“集群重新分配”。

要将集群分配到CSSM，请导航至

基础设施管理器>智能许可>虚拟帐户摘要：

选择要使用的虚拟帐户。

集群分配：选择分配:

选择要分配的UC应用，然后选择Assign按钮：

分配完成后，UC应用将显示为已分配给您使用的虚拟帐户(VA):

(智能许可>集群摘要

当您通过HCM-F将统一通信应用分配到智能许可服务时，会发生什么情况？

以下是所执行的HLM工作流程：

- 确认

- 许可证模式更改

- 传输模式更改

- 注册

在“作业”部分(Infrastructure Manager > Administration > Jobs)中可以看到以下内容：

日志演练（HLM日志设置为Detailed）

1. HLM从数据库获取集群分配请求，并检查该集群是否符合条件：

2019-06-26 13:17:35,199 INFO [53] Getting the Instance of Cluster Assignment Agent ClusterAssignmentRequest

2019-06-26 13:17:35,199 DEBUG [53] AgentMessageDispatcher::process -- Agent with instance >SMART_LIC_CLUSTER_OPERATION<Exist in memory,no need to read from persistence store-- ClusterAssign(SMART_LIC_CLUSTER_OPERATION)

2019-06-26 13:17:35,199 INFO [169] processing Agent SMART_LIC_CLUSTER_OPERATION

2019-06-26 13:17:35,332 DEBUG [169] isProgressInfoChanged : true

2019-06-26 13:17:35,332 DEBUG [169] job.getStatusInfo: :Verification - Inprogress|License Mode Change - Not Started|Transport Mode Change - Not Started|Registration - Not Started|

2019-06-26 13:17:35,357 INFO [169] jobKID from create: 26

2019-06-26 13:17:35,357 DEBUG [169] Update method at End : JobDTOcom.cisco.hcs.HLM.smartlic.dto.JobDTO Object {

sDRJobPK: 26

jobId: null

jobType: PROVISIONING

description: Assignment of Cluster cl-beta to HCS-DEMO Started

JobEntity: JOB_ENTITY_SMARTACCOUNT

entityName: null

status: IN_PROGRESS

isModifiable: true

isDeletable: true

isRestartable: false

isCancelable: false

progressInfo: {Verification=Inprogress, License Mode Change=Not Started, Transport Mode Change=Not Started, Registration=Not Started}

errorDescription: null

recommendedAction: null

2.集群符合条件：

<com.cisco.hcs.hcsagent.message.smartlic.ClusterAssignmentResp>

<messageType>ClusterAssignmentResp</messageType>

<source>

<serviceName>ClusterAssign</serviceName>

<instance>SMART_LIC_CLUSTER_OPERATION</instance>

</source>

<destination>

<serviceName>SDRUI</serviceName>

<instance>HCS-SMARTLIC-LIB0</instance>

</destination>

<sessionID>5fbb89a2-c62b-4d85-b385-3648c8010413</sessionID>

<transactionID>b2e1cfe6-b8fb-462c-a874-374e19afd110</transactionID>

<fault>false</fault>

<Fork>false</Fork>

<requeueCount>0</requeueCount>

<jobId>26</jobId>

<responseCode>PASS</responseCode>

<responseDesc>SmartLicNoError</responseDesc>

<smartLicRespCode defined-in="com.cisco.hcs.hcsagent.message.smartlic.ClusterOperationsResponse">PASS</smartLicRespCode>

<smartLicRespReason defined-in="com.cisco.hcs.hcsagent.message.smartlic.ClusterOperationsResponse">SmartLicNoError</smartLicRespReason>

<smartLicRespCode>PASS</smartLicRespCode>

<smartLicRespReason>SmartLicNoError</smartLicRespReason>

</com.cisco.hcs.hcsagent.message.smartlic.ClusterAssignmentResp>

3. HLM将CUCM中的产品类型更改为HCS:

2019-06-26 13:17:35,646 DEBUG [33] First pool session created: SDRSyncSession@f11306

2019-06-26 13:17:35,650 INFO [169] UCAppDeploymentModeConnection: Opening secure connection to: https://XXX.YYY.ZZZ:8443/platform-services/services/DeploymentModeService?wsdl

2019-06-26 13:17:35,650 INFO [169] UCAppDeploymentModeConnectionPort successfully opened

2019-06-26 13:17:35,652 DEBUG [33] Pool session created: SDRSyncSession@2cd71b

2019-06-26 13:17:35,659 DEBUG [33] Pool session created: SDRSyncSession@a4e538

2019-06-26 13:17:35,667 DEBUG [33] Pool session created: SDRSyncSession@b3c0d9

2019-06-26 13:17:35,667 INFO [33] Pool is valid. Pool create time in Ms: 1561547855646, poolRunning: false

2019-06-26 13:17:35,667 INFO [33] Created 4 pool sessions.

4. HLM指示服务Cisco HCS调配适配器(CHPA)将集群分配到CSSM:

2019-06-26 13:17:39,102 DEBUG [169] Agent: sending to [chpa]

-------

<com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsRequest>

<messageType>GetTransportSettingsRequest</messageType>

<source>

<serviceName>ClusterAssign</serviceName>

</source>

<destination>

<serviceName>chpa</serviceName>

</destination>

<sessionID>getTransport-4</sessionID>

<fault>false</fault>

<Fork>false</Fork>

<requeueCount>0</requeueCount>

<deviceId>

<type>ApplicationInstance</type>

<key class="com.cisco.hcs.sdr.v10_0.KIDInt">

<internalValue>4</internalValue>

</key>

</deviceId>

<clusterName>cl-beta</clusterName>

</com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsRequest>

---------

2019-06-26 13:17:39,104 DEBUG [169] Agent: Sent message to chpa(null)

2019-06-26 13:17:39,104 INFO [169] UCAppTimerTask , Timer Task started at:Wed Jun 26 13:17:39 CEST 2019

2019-06-26 13:17:39,104 DEBUG [169] com.cisco.hcs.HLM.smartlic.core.clusterops.utils.UCAppTimerRegister , UCApp Timer Task Registered successfully , initial delay ,0 interval , 300000

2019-06-26 13:17:39,104 DEBUG [81655] UCAppTimerTask , Timer Task Attempt of Retry 0

2019-06-26 13:17:39,104 INFO [169] JMS Message is Processed and leaving out from JMS thread

2019-06-26 13:17:44,207 DEBUG [45] KeepAliveConsumerProcessor::process -- enter

2019-06-26 13:17:44,207 DEBUG [94] KeepAliveConsumerProcessor::process -- enter

2019-06-26 13:17:44,208 DEBUG [45] KeepAliveConsumerProcessor::process -- received broadcast message for service sdrcnf

2019-06-26 13:17:44,208 DEBUG [45] noChange -- sdrcnf is Alive

2019-06-26 13:17:44,208 DEBUG [45] KeepAliveMonitor::setExpiresBy:

2019-06-26 13:17:44,208 DEBUG [94] KeepAliveConsumerProcessor::process -- received broadcast message for service sdrcnf

2019-06-26 13:17:44,208 DEBUG [45] now: 26/06/2019 01:17:44.208

2019-06-26 13:17:44,208 DEBUG [94] noChange -- sdrcnf is Alive

2019-06-26 13:17:44,208 DEBUG [45] expected by: 26/06/2019 01:19:44.208

2019-06-26 13:17:44,208 DEBUG [94] KeepAliveMonitor::setExpiresBy:

2019-06-26 13:17:44,208 DEBUG [94] now: 26/06/2019 01:17:44.208

2019-06-26 13:17:44,208 DEBUG [94] expected by: 26/06/2019 01:19:44.208

2019-06-26 13:17:46,105 INFO [36] Perfmon Category in Publish Counter update is Cisco HCS License Manager

2019-06-26 13:17:46,106 DEBUG [36] AgentJmx: JMS connection already up, reusing connection

2019-06-26 13:17:49,420 INFO [63] smartLicAuditProcessor::process enter...

2019-06-26 13:17:50,075 INFO [66] smartLicAuditProcessor::process enter...

5.集群分配成功：

2019-06-26 13:17:50,390 INFO [68] LicUsageAuditProcessor::process enter...

2019-06-26 13:17:52,331 DEBUG [53]

AgentMessageDispatcher -- Received msg by RouteBuilder[ClusterAssign-null] :

---------------

<com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsResponse>

<messageType>GetTransportSettingsResponse</messageType>

<source>

<serviceName>chpa</serviceName>

<instance>3998890f-ac1c-4ee8-baf8-6b0d2331387b</instance>

</source>

<destination>

<serviceName>ClusterAssign</serviceName>

</destination>

<sessionID>getTransport-4</sessionID>

<fault>false</fault>

<Fork>false</Fork>

<requeueCount>0</requeueCount>

<deviceId>

<type>ApplicationInstance</type>

<key class="com.cisco.hcs.sdr.v10_0.KIDInt">

<internalValue>4</internalValue>

</key>

</deviceId>

<responseCode>PASS</responseCode>

<responseReason>chpaNoError</responseReason>

<clusterName>cl-beta</clusterName>

<mode>HTTP/HTTPS Proxy</mode>

<url></url>

<ipAddress>proxy.esl.cisco.com</ipAddress>

<port>8080</port>

</com.cisco.hcs.hcsagent.message.chpa.GetTransportSettingsResponse>

-

progressInfo: {Verification=Pass, License Mode Change=Not Applicable, Transport Mode Change=Not Applicable, Registration=Pass}

errorDescription: null

recommendedAction: null

jobTypeChanged: true

descriptionChanged: true

JobEntityChanged: true

entityNameChanged: false

statusChanged: true

isModifiableChanged: false

isDeletableChanged: false

isRestartableChanged: false

isCancelableChanged: false

progressInfoChanged: false

errorDescriptionChanged: false

recommendedActionChanged: false

}