다음을 통해 공유


음성 채널에 대한 데이터 마이그레이션

구성 마이그레이션 도구를 사용하여 음성 채널에 대해 원본 조직에서 대상 조직으로 구성을 마이그레이션합니다. 구성 마이그레이션 도구를 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

전제 조건

다음 전제 조건을 충족해야 합니다.

  • 원본 조직에서 통합 라우팅 규칙 집합이 다음을 참조하는 경우 마이그레이션을 진행하기 전에 해당 규칙 집합이 대상 조직에 있는지 확인합니다.
    • 사용자 지정 엔터티
    • 특성
    • 관계
    • 옵션 집합
    • 값 조회
  • 마이그레이션을 수행하는 사용자에게 소스 및 대상 조직의 다음 통합 라우팅 엔터티에 대한 필수 권한이 있는지 확인하세요.
    • 작업 스트림(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 Communication Services 전화 번호 획득, 전화 번호 구성, 봇 구성, AI 및 분석 설정의 마이그레이션은 범위에 포함되지 않습니다.

음성 채널 구성 마이그레이션

구성 데이터를 성공적으로 마이그레이션하려면 나열된 순서대로 단계를 수행해야 합니다. 테이블의 정보를 사용하고 각 구성에 해당하는 샘플 스키마를 참조하십시오.

  1. 솔루션을 사용하여 구성 마이그레이션
  2. 기술 기반 라우팅을 위한 구성 내보내기 및 가져오기
  3. 용량 프로필에 대한 구성 내보내기 및 가져오기
  4. 음성 채널 큐에 대한 구성 내보내기 및 가져오기
  5. 음성 채널 작업 스트림에 대한 구성 내보내기 및 가져오기
  6. 음성 채널 구성 마이그레이션
  7. 마이그레이션 확인
  8. 데이터 내보내기 및 가져오기 문제 해결

솔루션을 사용하여 구성 마이그레이션

음성 라우팅 설정에서 사용자 지정 세션 템플릿 및 알림을 사용하는 경우 솔루션을 사용하여 구성 마이그레이션에 설명된 단계를 수행하십시오.

기술 기반 구성 마이그레이션

스킬 기반 라우팅 규칙 세트가 통합 라우팅 설정에서 사용되는 경우 스킬 기반 라우팅을 위한 데이터 마이그레이션에 설명된 단계를 수행합니다. 음성에 맞게 필터링 가져오기 xml을 적절하게 조정해야 합니다.

구성 용량 프로필 마이그레이션

음성 라우팅 설정에서 용량 프로필을 구성한 경우 용량 프로필에 대한 데이터 내보내기 및 가져오기에 설명된 단계를 수행합니다.

음성 채널 큐에 대한 구성 마이그레이션

음성 채널에 대한 큐를 내보내고 가져오려면 큐를통합 라우팅 기반 레코드 큐에 대한 데이터 마이그레이션에 설명된 단계를 수행합니다.

음성 채널 작업 스트림에 대한 구성 마이그레이션

  1. 구성 마이그레이션 도구를 사용하여 스키마를 생성하고 음성 작업 스트림을 위해 원본 조직에서 데이터를 내보냅니다.

    • 엔터티 표시 이름: 스키마를 생성할 때 표에 언급된 것과 동일한 순서로 엔터티를 선택합니다.
    • 특성 표시 이름: 다음 테이블에 정의된 특성을 선택하는 것이 좋습니다. 만든 사람, 만든 사람, 수정한 사람, 수정한 사람 및 담당자와 같은 기본 시스템 정의 속성을 선택할 필요가 없습니다. 필요한 경우 사용자 정의 특성을 선택할 수 있습니다.
    • FetchXML 레코드 필터링에 사용: 각 엔터티에 대해 다음 표에 언급된 적절한 FetchXML 쿼리를 사용하여 단일, 다중 또는 모든 레코드를 기반으로 가져옵니다. 귀하의 요구 사항에. 단일 또는 다중 레코드의 경우 소스 조직을 사용하여 uiname의 올바른 이름과 값의 GUID를 가져와야 합니다. 필요한 경우 상세하게 찾기 메뉴 항목을 사용하여 적절한 FetchXML 쿼리를 구성할 수 있습니다.
    • 가져오기 설정 구성: 의사결정 계약 엔터티의 경우 기존 레코드 업데이트 안 함 확인란을 선택했는지 확인합니다.
  2. 음성 채널 구성에서 참조되는 작업 스트림이 마이그레이션에 포함되어 있는지 확인하십시오.

    S.No. 엔터티 표시 이름(논리 이름) 특성 표시 이름(논리 이름) 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_issystemdefine)
    샘플 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_inputcontractid)
    • 규칙 집합 정의(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)
    • 이름(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. 구성 마이그레이션 도구를 사용하여 스키마를 만들고 음성 채널 및 관련 엔터티에 대한 원본 조직의 데이터를 내보냅니다.

    • 엔터티 표시 이름: 스키마를 만들 때 테이블에 언급된 시퀀스의 엔터티를 선택합니다.
    • 특성 표시 이름: 다음 테이블에 정의된 특성을 선택하는 것이 좋습니다. 만든 사람, 만든 사람, 수정한 사람, 수정한 사람 및 소유자와 같은 시스템 정의 속성을 선택할 필요가 없습니다. 필요한 경우 사용자 정의 특성을 선택할 수 있습니다.
    S.No. 엔터티 표시 이름(논리 이름) 특성 표시 이름(논리 이름)
    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. Voice(msdyn_ocvoice)
    • 언어(msdyn_languageid)
    • 이름(msdyn_name)
    • 피치(msdyn_pitch)
    • 말하는 속도(msdyn_speakingspeed)
    • 상태(statecode)
    • 상태 설명(statuscode)
    • 음성(msdyn_ocvoiceid)
    • 음성 이름(msdyn_voicename)
    • 음성 스타일(msdyn_voicestyle)
    5. 음성 채널 언어 설정(msdyn_ocvoicechannellanguagesetting) 참고:
    - 이 테이블을 마이그레이션하기 전에 설문 조사 봇 시스템 사용자(msdyn_surveybotsystemuserid)가 사용자(systemuser) 테이블에 있는지, 각 레코드의 보류 음악(msdyn_holdmusicid) 및 대기 음악(msdyn_waitmusicid) 열에서 참조하는 모든 음악 파일이 대상 환경의 전화 음악(msdyn_ocphonemusic) 테이블에 이미 있는지 확인하십시오. 안타깝게도 전화 음악 테이블에는 파일 열이 있으므로 마이그레이션할 수 없습니다.
    • 음악 보류(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:
    

참조 항목

통합 라우팅을 기반 레코드에 대한 구성 마이그레이션