목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

문제

근본 원인

영향을 받는 버전

확인을 위한 CLI 쿼리

솔루션

소개

이 문서에서는 음성 메시지의 제목 줄에 제어 문자가 CUC(Cisco Unity Connection)에 미치는 영향에 대해 설명합니다.

사전 요구 사항

요구 사항

Cisco는 CUC에 대해 알고 있는 것을 권장합니다.

사용되는 구성 요소

이 문서의 정보는 CUC 버전 8.X 이상을 기반으로 합니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

문제

메시지의 제목 줄 또는 보낸 사람 표시 이름 헤더에 컨트롤 문자가 있으면 Microsoft Exchange Server와 메시지를 동기화하려는 CUC의 시도가 중단됩니다. 일부 레거시 전화기는 음성 메시지 작업을 만들기 위해 보낸 사람 표시 이름 헤더의 첫 번째 문자로^A를 CUC Server로 보냅니다. CUC 서버는 보낸 사람 표시 이름 헤더에서 제목 헤더를 초안하므로 A 문자도 포함됩니다.이렇게 하면 통합 메시징 흐름이 끊어집니다.

참고:이 문제는 Cisco 버그 ID CSCur53311에 설명되어 있습니다.

근본 원인

CUC 사서함과 Microsoft Exchange Server 간에 음성 메시지를 동기화하는 데 EWS(Exchange Web Service) 요청 응답이 사용됩니다.CUC에서 ^A 문자가 포함된 음성 메시지를 Exchange 서버로 동기화하면 제목 줄이 같은 문자로 전송되고 메시지가 Exchange 사서함에 성공적으로 저장됩니다.CUC는 CreateItem EWS 요청을 사용하여 Exchange Server에 음성 메시지를 만듭니다.

CUC가 Exchange 사서함의 FindItem EWS 요청을 통해 모든 사용자(이 경우 ^A 문자가 포함된 제목 줄이 있는 음성 메시지 등)를 검색하려고 하면 Exchange Server는 제목 내용(16진수 01, &#x1;)으로 제목(SOH)의 시작(SOH)으로 응답합니다.

CUC는 SAX(Simple API for XML) 파서를 사용하여 EWS 응답 XML을 구문 분석합니다.SAX 파서는 XML 버전 1.0에 정의된 문법(CUC에서 지원되는 버전)으로 XML을 구문 분석합니다. SOH 콘텐츠가 잘못된 XML 1.0 문자입니다.XML SAX 파서가 제어 문자를 구문 분석하려고 하면 오류가 발생하여 실패하며 사서함의 나머지 메시지에 대해 동기화 시도가 계속되지 않습니다.

영향을 받는 버전

버전 10.x 이전의 모든 CUC 버전에는 Cisco 버그 ID CSCur53311에 대한 수정 사항이 없습니다.

확인을 위한 CLI 쿼리

Sender Display Name 헤더 또는 제목 줄에서 제어 문자를 확인하려면 다음 CLI 쿼리를 사용할 수 있습니다.

- 영향을 받는 총 메시지 수를 얻으려면 CLI에 이 명령을 입력합니다.

run cuc dbquery unitymbxdb1 select count(*) from vw_mailbox as mb, vw_message as m

where mb.mailboxobjectid = m.mailboxobjectid AND left(m.senderdisplayname,1)=CHR(1)
이 쿼리는 Sender Display Name 헤더의 첫 번째 문자를 확인하고 SOH 문자인지 확인합니다.

- CLI에 이 명령을 입력하여 메시지의 제목 줄에 있는 임의의 위치에서 SOH 문자를 확인합니다.

run cuc dbquery unitymbxdb1 select count(*) from vw_message where instr

(subject,CHR(1),1)!=0

팁:이러한 쿼리를 수정하여 다른 제어 문자 또는 표준 문자를 확인할 수 있습니다.CHR()의 값을 적절한 값으로 바꿉니다.자세한 내용은 ASCII 코드 테이블 을 참조하십시오.

솔루션

Cisco 버그 ID CSCur53311에 설명된 결함은 CUC 버전 10.5(2)에서 고정되어 있습니다. 이 버전은 Cisco 소프트웨어 다운로드 웹 페이지에서 다운로드할 수 있습니다.

임시 수정에 대해 다음 단계를 완료합니다.

1. 제목 줄에 ^A가 있는 CUC 서버로 보낸 메시지가 없는지 확인합니다.

2. 영향을 받는 사용자 목록을 가져오려면 CLI에 이 명령을 입력한 다음 해당 사용자에 대해 단일 받은 편지함 기능을 비활성화합니다.

run cuc dbquery unitymbxdb1 Select description from vw_mailbox mb inner join

vw_message m on mb.mailboxobjectid = m.mailboxobjectid where instr(subject,

CHR(1),1)!=0

3. 식별된 음성 메시지를 수동으로 삭제합니다.

- 영향을 받는 메시지의 메시지 객체 ID 및 폴더 객체 ID를 얻으려면 CLI에 이 명령을 입력합니다.

run cuc dbquery unitymbxdb1 Select messageobjectid, folderobjectid from

vw_messagewithsynch where instr(subject,CHR(1),1)!=0

- csp_messagesdelete 저장 프로시저를 실행하고 CUC 서버에서 음성 메시지를 삭제하려면 CLI에 다음 명령을 입력합니다.

run cuc dbquery unitymbxdb1 execute procedure csp_messagesdelete

(pFolderObjectId='db252856-0c1a-4b19-a476-7ee4f7bc4298', pMessages=

'5d6cfc0e-17cb-4849-b193-e1435a816ad7', pNummessages=1)

4. Exchange 관리자의 도움을 받아 Exchange Server에서 이러한 메시지를 식별하고 삭제합니다.CLI에 이 명령을 입력합니다(CUC에서 메시지를 삭제하기 전에).

run cuc dbquery unitymbxdb1 Select sender, senderdisplayname, subject, creationtime,

rfc822messageid from vw_message where instr(subject,CHR(1),1)!=0

참고:rfc822messageid 부분은 CUC 사서함의 영향을 받는 메시지를 Exchange Server 사서함의 메시지에 매핑하기 위해 사용됩니다.

5. 영향을 받는 모든 메시지가 CUC 및 Exchange 서버에서 삭제된 후 통합 메시징을 활성화합니다.