迁移语音渠道的数据

备注

功能可用性信息如下。

Dynamics 365 Contact Center—嵌入 Dynamics 365 Contact Center—独立 Dynamics 365 Customer Service

使用配置迁移工具将语音渠道的配置从源组织迁移到目标组织。

备注

但是,我们建议您使用解决方案框架迁移配置。 详细信息: 使用解决方案迁移通道的配置

有关如何使用配置迁移工具的信息,请参阅以下文章:

先决条件

必须满足以下先决条件:

  • 在源组织中,如果统一路由规则集涉及以下内容,则在继续迁移之前,请确保它们存在于目标组织中:
    • 自定义实体
    • 属性
    • 关系
    • 选项集
    • 查找值
  • 确保执行迁移的用户对源组织和目标组织中的以下统一路由实体具有所需特权:
    • 工作流 (msdyn_liveworkstream)
    • 渠道配置 (msdyn_omnichannelconfiguration)
    • 通知模板 (msdyn_notificationtemplate)
    • 会话模板 (msdyn_sessiontemplate)
    • 工作时间 (msdyn_operatinghour)
    • 特征 (characteristic)
    • 评分模型 (rating model)
    • 评分值 (ratingvalue)
    • 产能配置文件 (msdyn_capacityprofile)
    • 队列 (queue)
    • 决策合同 (msdyn_decisioncontract)
    • 决策规则集 (msdyn_decisionruleset)
    • 分配配置 (msdyn_assignmentconfiguration)
    • 分配配置步骤 (msdyn_assignmentconfigurationstep)
    • 传递配置 (msdyn_routingconfiguration)
    • 传递配置步骤 (msdyn_routingconfigurationstep)
    • 工作流产能配置文件 (msdyn_liveworkstreamcapacityprofile)
    • 上下文变量 (msdyn_ocliveworkstreamcontextvariable)

重要提示

帐户、渠道、Azure 通信服务电话号码获取、电话号码配置、机器人配置以及 AI 和分析设置的迁移不在范围内。

迁移语音渠道配置

您必须按照列出的顺序执行这些步骤,才能成功迁移配置数据。 使用表中的信息并引用每个配置的相应示例架构。

  1. 使用解决方案迁移配置
  2. 导出和导入基于技能的路由的配置
  3. 导出和导入产能配置文件的配置
  4. 导出和导入语音渠道队列的配置
  5. 导出和导入语音渠道工作流的配置
  6. 迁移语音渠道的数据
  7. 验证您的迁移
  8. 数据导出和导入疑难解答

使用解决方案迁移配置

如果您在语音传递设置中使用自定义会话模板和通知,请执行使用解决方案迁移配置中概述的步骤

迁移基于技能的配置

如果在统一路由设置中使用基于技能的路由规则集,请执行迁移数据以进行基于技能的传递中概述的步骤。 确保为语音正确调整任何筛选提取 xml。

迁移配置产能配置文件

如果您在语音传递设置中配置了产能配置文件,请执行导出和导入产能配置文件数据中概述的步骤。

迁移语音渠道队列的配置

要导出和导入语音渠道的队列,请执行迁移基于统一传递的记录队列的数据中概述的步骤。

迁移语音渠道工作流的配置

  1. 使用配置迁移工具为语音工作流创建架构并从源组织导出数据。

    • 实体显示名称:创建架构时,请按表中提到的相同顺序选择实体。
    • 属性显示名称:建议您选择下表中定义的属性。 不需要选择现成的系统定义的属性,如“创建者”、“创建时间”、“修改者”、“修改时间”和“负责人”。 如果需要,可以选择自定义属性。
    • 使用 FetchXML 筛选记录:对于每个实体,使用下表中提到的适当 FetchXML 查询来根据您的要求获取单个、多个或所有记录。 对于单个或多个记录,您需要使用源组织来获取 uiname 中的正确名称和值中的 GUID。 如果需要,可以使用高级查找菜单项构造适当的 FetchXML 查询。
    • 配置导入设置:对于“决策合同”实体,请确保选中不更新现有记录复选框。
  2. 确保语音渠道配置中引用的工作流包含在迁移中。

    序列号 实体显示名称(逻辑名称) 属性显示名称(逻辑名称) 使用 FetchXML 筛选记录
    1. 工作流 (msdyn_liveworkstream)
    • API 密钥 (msdyn_apikey)
    • API 密钥版本号 (msdyn_apikeyversionnumber)
    • 允许自动消息 (msdyn_enableautomatedmessages)
    • 允许的状态 (msdyn_allowedpresences)
    • 拒绝或超时后分配工作项 (msdyn_assignworkitemafterdecline)
    • 处于非活动状态后自动关闭 (msdyn_autocloseafterinactivity)
    • 阻止处于总结状态的容量 (msdyn_blockcapacityforwrapup)
    • 机器人队列 (msdyn_bot_queue)
    • 机器人规则 (msdyn_bot_rule)
    • 机器人用户 (msdyn_bot_user)
    • CallbackPreviewDialing (msdyn_notificationtemplate_callback_previewdialing)
    • 连接器 (msdyn_connectorsurl)
    • 咨询 (msdyn_notificationtemplate_consult)
    • 聊天渠道的对话模式 (msdyn_conversationmode)
    • 客户 ID (msdyn_customerid)
    • 未结束会话的客户断开连接保持持续时间 (msdyn_customerdisconnectholddurationforopenconversation)
    • 产能 (msdyn_capacityrequired)
    • 产能格式 (msdyn_capacityformat)
    • 渠道 (msdyn_streamsource)
    • 合同 ID (msdyn_routingcontractid)
    • 默认 (msdyn_sessiontemplate_default)
    • 默认队列 (msdyn_defaultqueue)
    • 方向 (msdyn_direction)
    • 允许从基于推送的工作流中进行选择 (msdyn_enableselectingfrompushbasedworkstreams)
    • 实体 (msdyn_masterentityroutingconfigurationid)
    • 回退语言 (msdyn_fallbacklanguage)
    • 等待之后跟进 (msdyn_followupafterwaiting)
    • 处理时间阈值 (msdyn_handlingtimethreshold)
    • 已通过身份验证的传入 (msdyn_notificationtemplate_incoming_auth)
    • 未通过身份验证的传入 (msdyn_notificationtemplate_incoming_unauth)
    • 为默认 (msdyn_isdefault)
    • 在整个对话中保持同一代理 (msdyn_enableagentaffinity)
    • 上次验证日期 (msdyn_lastvalidationon)
    • 上次验证状态 (msdyn_lastvalidationstatus)
    • 匹配逻辑 (msdyn_matchinglogic)
    • 最大并发 (msdyn_maxconcurrentconnection)
    • 模式 (msdyn_mode)
    • 名称 (msdyn_name)
    • 通知 (msdyn_notification)
    • 通知方案占位符 (msdyn_notificationscenarioplaceholder)
    • 出站队列 (msdyn_outboundqueueid)
    • 记录标识规则 (msdyn_recordidentificationrule)
    • 记录标识验证规则 (msdyn_recordidentificationvalidationrule)
    • 限制下载录制内容 (msdyn_restrictdownloadrecording)
    • 限制下载脚本 (msdyn_restrictdownloadtranscript)
    • 屏幕弹出超时 (msdyn_screenpoptimeout)
    • 屏幕弹出超时 (msdyn_screenpoptimeout_optionSet)
    • 安全 API 密钥(msdyn_secureapikey)
    • 技能附加规则计数 (msdyn_skillattachmentrulescount)
    • 技能附加规则计数(上次更新时间)(msdyn_skillattachmentrulescount_date)
    • 技能附加规则计数(状态)(msdyn_skillattachmentrulescount_state)
    • 会话方案占位符 (msdyn_sessionscenarioplaceholder)
    • SupervisorAssign (msdyn_notificationtemplate_supervisorassign)
    • 传输 (msdyn_notificationtemplate_transfer)
    • 等待时间阈值 (msdyn_waitingtimethreshold)
    • 工作分配模式 (msdyn_workdistributionmode)
    • 工作流 (msdyn_liveworkstreamid)
    示例 1:所有语音工作流

    示例 2:单个语音工作流

    示例 3:多个语音工作流
    2. 上下文变量 (msdyn_ocliveworkstreamcontextvariable)
    • 姓名 (msdyn_name)
    • 关系名称 (msdyn_relationshipname)
    • 类型 (msdyn_datatype)
    • 工作流 (msdyn_liveworkstreamid)
    • IsList (msdyn_islist)
    • 可修改 (msdyn_ismodifiable)
    • 显示名称 (msdyn_displayname)
    • 可显示 (msdyn_isdisplayable)
    • 实体逻辑名称 (msdyn_entitylogicalname)
    • 上下文变量 (msdyn_ocliveworkstreamcontextvariableid)
    • 状态 (statecode)
    • 状态描述 (statuscode)
    • 系统定义的 (msdyn_issystemdefined)
    示例 1:所有语音工作流的上下文变量

    示例 2:单个语音工作流的上下文变量

    示例 3:多个语音工作流的上下文变量
    3. 决策合同 (msdyn_decisioncontract)
    • 合同定义 (msdyn_contractdefinition)
    • 决策合同 (msdyn_decisioncontractid)
    • 姓名 (msdyn_name)
    • 唯一名称 (msdyn_uniquename)
    示例 1:所有语音工作流的决策合同

    示例 2:单个语音工作流的决策合同

    示例 3:多个语音工作流的决策合同
    4. 决策规则集 (msdyn_decisionruleset)
    • AI Builder 模型 (msdyn_aibmodelid)
    • 创作模式 (msdyn_authoringmode)
    • 决策规则集 (msdyn_decisionrulesetid)
    • 描述 (msdyn_description)
    • 输入合同 (msdyn_inputcontractid)
    • 为输入集合 (msdyn_isinputcollection)
    • ML 模型类型 (msdyn_mlmodeltype)
    • 姓名 (msdyn_name)
    • 输出合同 (msdyn_outputcontractid)
    • 规则集定义 (msdyn_rulesetdefinition)
    • 规则集类型 (msdyn_rulesettype)
    • 唯一名称 (msdyn_uniquename)
    示例 1:所有语音工作流的决策规则集

    示例 2:单个语音工作流的决策规则集

    示例 3:多个语音工作流的决策规则集
    5. 路由配置 (msdyn_routingconfiguration)
    • 是可用配置 (msdyn_isactiveconfiguration)
    • 姓名 (msdyn_name)
    • 路由配置 (msdyn_routingconfigurationid)
    • 唯一名称 (msdyn_uniquename)
    • 工作流 (msdyn_liveworkstreamid)
    示例 1:所有语音工作流的传递配置

    示例 2:单个语音工作流的传递配置

    示例 3:多个语音工作流的传递配置
    6. 路由配置步骤 (msdyn_routingconfigurationstep)
    • 姓名 (msdyn_name)
    • 路由配置 (msdyn_routingconfigurationid)
    • 路由配置步骤 (msdyn_routingconfigurationstepid)
    • 规则集 (msdyn_rulesetid)
    • 步骤顺序 (msdyn_steporder)
    • 步骤类型 (msdyn_type)
    • 唯一名称 (msdyn_uniquename)
    示例 1:所有语音工作流的传递配置步骤

    示例 2:单个语音工作流的传递配置步骤

    示例 3:多个语音工作流的传递配置步骤
    7. 工作流产能配置文件 (msdyn_liveworkstreamcapacityprofile)
    • 产能配置文件 (msdyn_capacityprofile_id)
    • 姓名 (msdyn_name)
    • 工作流 (msdyn_workstream_id)
    • 工作流产能配置文件 (msdyn_liveworkstreamcapacityprofileid)
    示例 1:所有语音工作流的工作流产能配置文件

    示例 2:单个语音工作流的工作流产能配置文件

    示例 3:多个语音工作流的工作流产能配置文件
  3. 生成架构并保存它。

  4. 导出数据并生成压缩 (zip) 文件。

  5. 使用配置迁移工具,选择导入数据的选项,然后选择压缩文件。

重要提示

当您提取包含上下文变量的决策规则集 (msdyn_decisionrulesets) 时,有些决策规则集将在没有依赖项映射的情况下创建。 要解决此问题,请执行以下步骤:

  1. 导入所有实体的数据,包括决策规则集实体 (msdyn_decisionrulesets)。
  2. 再次导入决策规则集实体的数据。 此步骤确保导入决策规则集的所有依赖项映射。

若需示例方案以获取所有必需记录,请参阅语音工作流的示例架构

适用于工作流实体的 FetchXML

示例 1:所有语音工作流

<fetch distinct="true"> 
  <entity name="msdyn_liveworkstream"> 
    <filter type="and"> 
      <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
      <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
    </filter> 
  </entity> 
</fetch>

示例 2:单个语音工作流

<fetch>
  <entity name="msdyn_liveworkstream"> 
    <filter type="and"> 
      <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
    </filter> 
  </entity> 
</fetch> 

示例 3:多个语音工作流

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"> 
  <entity name="msdyn_liveworkstream"> 
    <filter type="and"> 
      <condition attribute="msdyn_liveworkstreamid" operator="in"> 
        <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}</value> 
        <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44098}</value> 
      </condition> 
    </filter> 
  </entity> 
</fetch>  

适用于上下文变量实体的 FetchXML

示例 1:所有语音工作流上下文变量

<fetch>
    <entity name="msdyn_ocliveworkstreamcontextvariable" >
        <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="aa" >
            <filter type="and" >
                <condition attribute="msdyn_streamsource" operator="eq" value="192440000" />
                <condition attribute="msdyn_mode" operator="eq" value="717210001" />
            </filter>
        </link-entity> 
    </entity>
</fetch> 

示例 2:单个语音工作流上下文变量

<fetch>
    <entity name="msdyn_ocliveworkstreamcontextvariable" >
        <filter type="and" >
            <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{D3A1F09D-51A0-A6B7-266D-58E1BDB97B53}" />
        </filter>
    </entity>
</fetch>

示例 3:多个语音工作流上下文变量

<fetch>
    <entity name="msdyn_ocliveworkstreamcontextvariable" ><a name="BKMK3vwcv"></a>
        <filter type="or" >
            <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{D3A1F09D-51A0-A6B7-266D-58E1BDB97B53}" />
            <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" /> 
        </filter>
    </entity>
</fetch>

适用于决策合同实体的 FetchXML

示例 1:所有语音工作流的决策合同

<fetch distinct="true" >
    <entity name="msdyn_decisioncontract" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="an" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="an" operator="eq" value="192440000" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="bd" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="bd" operator="eq" value="192440000" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="bk" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="bk" operator="eq" value="192440000" />
            </filter>
        </filter>
        <link-entity name="msdyn_liveworkstream" from="msdyn_routingcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="an" />
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="ba" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bb" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bc" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bd" />
                </link-entity>
            </link-entity>
        </link-entity>
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="bh" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bi" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bj" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bk" />
                </link-entity>
            </link-entity>
        </link-entity>
    </entity>
</fetch>

示例 2:单个语音工作流的决策合同

<fetch distinct="true" >
    <entity name="msdyn_decisioncontract" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="an" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="bd" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="bk" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
        </filter>
        <link-entity name="msdyn_liveworkstream" from="msdyn_routingcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="an" />
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="ba" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bb" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bc" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bd" />
                </link-entity>
            </link-entity>
        </link-entity>
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="bh" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bi" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bj" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bk" />
                </link-entity>
            </link-entity>
        </link-entity>
    </entity>
</fetch>

示例 3:多个语音工作流的决策合同

<fetch distinct="true" >
    <entity name="msdyn_decisioncontract" >
        <filter type="or" >
            <filter type="and" >
                <filter type="or" >
             	       <condition attribute="msdyn_liveworkstreamid" entityname="an" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
       	       <condition attribute="msdyn_liveworkstreamid" entityname="an" operator="eq" uiname="Voice Workstream 2" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
         </filter>
            </filter>
            <filter type="and" >
                <filter type="or" >
             	       <condition attribute="msdyn_liveworkstreamid" entityname="bd" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
       	       <condition attribute="msdyn_liveworkstreamid" entityname="bd" operator="eq" uiname="Voice Workstream 2" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
         </filter>
            </filter>
            <filter type="and" >
                <filter type="or" >
             	       <condition attribute="msdyn_liveworkstreamid" entityname="bk" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
       	       <condition attribute="msdyn_liveworkstreamid" entityname="bk" operator="eq" uiname="Voice Workstream 2" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
         </filter>
            </filter>
        </filter>
        <link-entity name="msdyn_liveworkstream" from="msdyn_routingcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="an" />
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="ba" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bb" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bc" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bd" />
                </link-entity>
            </link-entity>
        </link-entity>
        <link-entity name="msdyn_decisionruleset" from="msdyn_outputcontractid" to="msdyn_decisioncontractid" link-type="outer" alias="bh" >
            <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="bi" >
                <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="bj" >
                    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="bk" />
                </link-entity>
            </link-entity>
        </link-entity>
    </entity>
</fetch>

适用于决策规则集实体的 FetchXML

示例 1:所有语音工作流的决策规则集

<fetch distinct="true" >
    <entity name="msdyn_decisionruleset" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_mode" entityname="af" operator="eq" value="717210001" />
                <condition attribute="msdyn_streamsource" entityname="af" operator="eq" value="192440000" />
            </filter>
        </filter>
        <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="ad" >
            <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="ae" >
                <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="af" />
            </link-entity>
        </link-entity>
    </entity>
</fetch>

示例 2:单个语音工作流的决策规则集

<fetch distinct="true" >
    <entity name="msdyn_decisionruleset" >
        <filter type="or" >
            <filter type="and" >
                <condition attribute="msdyn_liveworkstreamid" entityname="af" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
            </filter>
        </filter>
        <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="ad" >
            <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="ae" >
                <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="af" />
            </link-entity>
        </link-entity>
    </entity>
</fetch>

示例 3:多个语音工作流的决策规则集

<fetch distinct="true" >
    <entity name="msdyn_decisionruleset" >
        <filter type="or" >
            <filter type="or" >
                <condition attribute="msdyn_liveworkstreamid" entityname="af" operator="eq" uiname="Voice Workstream" uitype="msdyn_liveworkstream" value="{d3a1f09d-51a0-a6b7-266d-58e1bdb97b53}" />
                <condition attribute="msdyn_liveworkstreamid" entityname="af" operator="eq" uiname="Voice Workstream 1" uitype="msdyn_liveworkstream" value="{f9e18e67-d1a8-ed11-aad1-00224805c057}" />
            </filter>
        </filter>
        <link-entity name="msdyn_routingconfigurationstep" from="msdyn_rulesetid" to="msdyn_decisionrulesetid" link-type="outer" alias="ad" >
            <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="outer" alias="ae" >
                <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="outer" alias="af" />
            </link-entity>
        </link-entity>
    </entity>
</fetch>

适用于路由配置实体的 FetchXML

示例 1:所有语音工作流的传递配置

<fetch>
  <entity name="msdyn_routingconfiguration"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
        <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

示例 2:单个语音工作流的传递配置

<fetch>
  <entity name="msdyn_routingconfiguration"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

示例 3:多个语音工作流的传递配置

<fetch>
  <entity name="msdyn_routingconfiguration"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="in"> 
          <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}</value> 
          <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44098}</value> 
        </condition> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

适用于路由配置步骤实体的 FetchXML

示例 1:所有语音工作流的传递配置步骤

<fetch>
  <entity name="msdyn_routingconfigurationstep"> 
    <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="inner" alias="ak"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="al"> 
        <filter type="and"> 
          <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
          <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
        </filter> 
      </link-entity> 
    </link-entity> 
  </entity> 
</fetch>

示例 2:单个语音工作流的传递配置步骤

<fetch>
  <entity name="msdyn_routingconfigurationstep"> 
    <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="inner" alias="ak"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="al"> 
        <filter type="and"> 
          <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312EFC}" /> 
        </filter> 
      </link-entity> 
    </link-entity> 
  </entity> 
</fetch>

示例 3:多个语音工作流的传递配置步骤

<fetch> 
  <entity name="msdyn_routingconfigurationstep"> 
    <link-entity name="msdyn_routingconfiguration" from="msdyn_routingconfigurationid" to="msdyn_routingconfigurationid" link-type="inner" alias="ak"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="al"> 
        <filter type="and"> 
          <condition attribute="msdyn_liveworkstreamid" operator="in"> 
            <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}</value> 
            <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44098}</value> 
          </condition> 
        </filter> 
      </link-entity> 
    </link-entity>
  </entity>
</fetch>

适用于工作流产能配置文件实体的 FetchXML

示例 1:所有语音工作流的工作流产能配置文件

<fetch>
  <entity name="msdyn_liveworkstreamcapacityprofile"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_workstream_id" link-type="inner" alias="am"> 
      <filter type="and"> 
        <condition attribute="msdyn_mode" operator="eq" value="717210001" /> 
        <condition attribute="msdyn_streamsource" operator="eq" value="192440000" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

示例 2:单个语音工作流的工作流产能配置文件

<fetch>
  <entity name="msdyn_liveworkstreamcapacityprofile"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_workstream_id" link-type="inner" alias="am"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312EFC}" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

示例 3:多个语音工作流的工作流产能配置文件

<fetch>
  <entity name="msdyn_liveworkstreamcapacityprofile"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_workstream_id" link-type="inner" alias="am"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="in"> 
          <value uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream">{759255C7-7AC8-98E0-7E3E-59A7F0312EFC}</value> 
          <value uiname="Test Voice Workstream 2" uitype="msdyn_liveworkstream">{E6246229-33AC-5A9E-2FFE-51668AD44215}</value> 
        </condition> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>

迁移语音渠道设置的配置

假设工作流必须已经存在;在目标组织中手动创建或先前迁移。

迁移语音渠道的数据

  1. 使用配置迁移工具为语音渠道和相关实体创建架构并从源组织导出数据。

    • 实体显示名称:创建架构时,请按表中提到的顺序选择实体。
    • 属性显示名称:建议您选择下表中定义的属性。 不必选择系统定义的属性,如“创建者”、“创建时间”、“修改者”、“修改时间”和“负责人”。 如果需要,可以选择自定义属性。
    序列号 实体显示名称(逻辑名称) 属性显示名称(逻辑名称)
    1. 语音渠道设置 (msdyn_ocvoicechannelsetting) 用于筛选语音渠道设置记录的 FetchXML
    注意:
    - 替换条件部分中 msdyn_liveworkstream 的值。
    - 不要包括“电话号码”(msdyn_phonenumberid) 列,因为“电话号码”表中的记录特定于环境,无法迁移。 您需要在目标环境中手动分配电话号码。 如果出于任何原因不允许您执行此操作,您可以包括“电话号码”列。 但是,在导入之前,您需要在导出的 zip 文件中手动编辑 data.xml 文件,在目标环境中将其值替换为正确的电话号码 GUID。
    - 确保纳入到架构中指明插件已启用的实体声明中。 (disableplugins="false")
    • 通知平均等待时间 (msdyn_announceaveragewaittime)
    • 通知队列中的位置 (msdyn_announcepositioninqueue)
    • 启用录制的代理控制 (msdyn_agentrecordingcontrolsenabled)
    • 启用听录的代理控制 (msdyn_agenttranscriptioncontrolsenabled)
    • 启用代理控制以添加外部参与者 (msdyn_agentexternalparticipantcontrolenabled)
    • 启用代理控制以添加外部参与者 (msdyn_agentexternalparticipantcontrolenabled)
    • 在 Teams 上启用代理控制以添加外部参与者 (msdyn_agentexternalteamsparticipantcontrolenabled)
    • 姓名 (msdyn_name)
    • 工作时间 (msdyn_operatinghoursid)
    • 已启用录制 (msdyn_recordingenabled)
    • 录制模式 (msdyn_recordingmode)
    • 状态 (statecode)
    • 状态描述 (statuscode)
    • 已启用听录 (msdyn_transcriptionenabled)
    • 听录模式 (msdyn_transcriptionmode)
    • 语音渠道设置 (msdyn_voicechannelsettingid)
    • 工作流 (msdyn_liveworkstreamid)
    2. 本地化 (msdyn_oclocalizationdata) 用于筛选语音渠道本地化记录的 FetchXML
    • 自动消息 (msdyn_systemmessageid)
    • 默认本地化文本 (msdyn_defaultlocalizedtext)
    • 实体列名称 (msdyn_entitycolumnname)
    • 实体名称 (msdyn_entityname)
    • 实体记录 ID (msdyn_entityrecordid)
    • 为默认 (msdyn_isdefault)
    • 语言代码 (msdyn_customerlanguageid)
    • 语言代码 (msdyn_languagecode)
    • 本地化 (msdyn_oclocalizationdataid)
    • 本地化文本 (msdyn_localizedtext)
    • 组织 ID (organizationid)
    • 状态 (statecode)
    • 状态描述 (statuscode)
    3. 消息 (msdyn_ocsystemmessage)
    • 渠道 (msdyn_streamsource)
    • 默认语言 (msdyn_defaultlanguage)
    • 实例 ID (msdyn_instanceid)
    • 消息 (msdyn_ocsystemmessageid)
    • 消息说明 (msdyn_messagedescription)
    • 邮件收件人 (msdyn_messagereceiver)
    • 消息模板触发器 (msdyn_messagetemplatetrigger)
    • 消息文本 (msdyn_messagetext)
    • 消息触发器 (msdyn_systemmessageeventtype)
    • 消息类型 (msdyn_messagetype)
    • 姓名 (msdyn_name)
    • 组织 ID (organizationid)
    • 状态 (statecode)
    • 状态描述 (statuscode)
    4. 语音 (msdyn_ocvoice)
    • 语言 (msdyn_languageid)
    • 姓名 (msdyn_name)
    • 音调 (msdyn_pitch)
    • 语速 (msdyn_speakingspeed)
    • 状态 (statecode)
    • 状态描述 (statuscode)
    • 语音 (msdyn_ocvoiceid)
    • 语音名称 (msdyn_voicename)
    • 语音风格 (msdyn_voicestyle)
    5. 语音渠道语言设置 (msdyn_ocvoicechannellanguagesetting) 注意:
    - 在迁移此表之前,确保用户 (systemuser) 表中存在调查机器人系统用户 (msdyn_surveybotsystemuserid),并且目标环境的电话音乐 (msdyn_ocphonemusic) 表中的每个记录中已存在暂候音乐 (msdyn_holdmusicid) 和等待音乐 (msdyn_waitmusicid) 列引用的所有音乐文件。 很遗憾,电话音乐表中有文件列,无法迁移。
    • 暂候音乐 (msdyn_holdmusicid)
    • 主要 (msdyn_isprimary)
    • 语言 (msdyn_languageid)
    • 姓名 (msdyn_name)
    • 状态 (statecode)
    • 状态描述 (statuscode)
    • 调查机器人系统用户 (msdyn_surveybotsystemuserid)
    • 语音 (msdyn_ocvoiceid)
    • 语音渠道语言设置 (msdyn_ocvoicechannellanguagesettingid)
    • 语音渠道设置 (msdyn_ocvoicechannelsettingid)
    • 等待音乐 (msdyn_waitmusicid)
    6. 预配状态 (msdyn_ocprovisioningstate) 用于筛选语音预配状态记录的 FetchXML
    • voicechannelsettingsid (msdyn_ocvoicechannelsettingsid)
    • 姓名 (msdyn_name)
  2. 生成架构并保存它。

  3. 导出数据并生成压缩 (zip) 文件。

  4. 使用配置迁移工具,选择导入数据的选项,然后选择压缩文件。

若需示例方案以获取所有必需记录,请参阅语音渠道的示例架构

适用于语音渠道设置的 FetchXML

<fetch>
  <entity name="msdyn_ocvoicechannelsetting"> 
    <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ab"> 
      <filter type="and"> 
        <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
      </filter> 
    </link-entity> 
  </entity> 
</fetch>  

适用于语音渠道本地化的 FetchXML

<fetch>
  <entity name="msdyn_oclocalizationdata"> 
    <link-entity name="msdyn_ocsystemmessage" from="msdyn_ocsystemmessageid" to="msdyn_systemmessageid" link-type="inner" alias="ah"> 
      <filter type="and"> 
        <condition attribute="msdyn_streamsource" operator="eq" uiname="192440000"/> 
      </filter>
    </link-entity> 
  </entity> 
</fetch>  

适用于语言预配状态的 FetchXML

<fetch>
  <entity name="msdyn_ocprovisioningstate"> 
    <link-entity name="msdyn_ocvoicechannelsetting" from="msdyn_ocvoicechannelsettingid" to="msdyn_voicechannelsettingid" link-type="inner" alias="ac"> 
      <link-entity name="msdyn_liveworkstream" from="msdyn_liveworkstreamid" to="msdyn_liveworkstreamid" link-type="inner" alias="ad"> 
        <filter type="and"> 
          <condition attribute="msdyn_liveworkstreamid" operator="eq" uiname="Test Voice Workstream 1" uitype="msdyn_liveworkstream" value="{759255C7-7AC8-98E0-7E3E-59A7F0312ABC}" /> 
        </filter> 
      </link-entity> 
    </link-entity> 
  </entity> 
</fetch>

验证您的迁移

将统一路由相关配置数据从源组织成功导入目标组织后,在目标组织中执行以下步骤:

  1. 在 UI 中,确保语音渠道配置和规则集正确呈现并且不显示错误。

  2. 如果在统一路由规则集中使用技能和评分值,则需要手动链接、关联或创建用户、可预订资源和可预订资源特征记录。

  3. 如果产能配置文件用于统一路由的规则集和工作流,则您需要手动链接、关联或创建用户、可预订资源和可预订资源产能配置文件记录。

数据导出和导入注意事项

若要解决在迁移期间可能面临的任何问题,请按如下方式检查日志文件:

  • 在目标组织中导入数据时,如果您看到黄色警告符号,在配置迁移工具中检查以下日志:

    • Login_ErrorLog.log:提供有关使用配置管理工具登录组织时遇到的任何问题的信息。
    • DataMigrationUtility.log:提供有关上次迁移期间使用此工具执行的任务的信息。
    • ImportDataDetail.log:提供有关工具在上次数据导入中导入的数据的信息。

    详细信息:解决使用日志文件配置数据迁移问题

    指示数据导入期间出现的错误的黄色警告。

  • 如果日志包含网络错误,重复导入过程。

    下面是一个示例:

    Time: 11:46:09 PM
    Error: There was no endpoint listening at `https://www.contoso.com/XRMServices/2011/Organization.svc/web?SDKClientVersion=9.2.46.5279` that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
    Stack Trace: Service stack trace:
    

另请参见

迁移基于统一传递的记录的配置