Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Problema

Causa raiz

Versões Afetadas

Consultas CLI para verificação

Solução

Introduction

Este documento descreve os efeitos que os Caracteres de Controle têm no Cisco Unity Connection (CUC) quando presentes na linha de assunto de uma mensagem de voz.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento do CUC.

Componentes Utilizados

As informações neste documento são baseadas no CUC versões 8.X e posteriores.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Problema

A presença de Caracteres de Controle na linha de assunto ou no cabeçalho do Nome de Exibição do Remetente de uma mensagem interrompe as tentativas do CUC de sincronizar mensagens com o Microsoft Exchange Server. Alguns telefones herdados enviam ^A como o primeiro caractere no cabeçalho Sender Display Name para o CUC Server para criar uma ação de mensagem de voz. O servidor CUC redige o cabeçalho do assunto do cabeçalho Nome de Exibição do Remetente, portanto ele também contém o caractere ^A. Isso interrompe o fluxo do Unified Messaging.

Note: Esse problema está documentado na ID de bug da Cisco CSCur53311.

Causa raiz

A solicitação-resposta do Exchange Web Service (EWS) é usada para sincronizar mensagens de voz entre sua caixa de correio do CUC e o Microsoft Exchange Server. Quando o CUC sincroniza a mensagem de voz que contém o ^A caractere com o servidor Exchange, ele envia uma linha de assunto com o mesmo caractere e a mensagem é salva com êxito na caixa de correio do Exchange. O CUC usa a solicitação EWS CreateItem para criar a mensagem de voz no Exchange Server.

Quando o CUC tenta pesquisar itens através da solicitação FindItem EWS na caixa de correio do Exchange para qualquer usuário (neste caso, itens como mensagens de voz com uma linha de assunto que contém o caractere ^A), o Exchange Server responde com o Início do Cabeçalho (SOH) como o conteúdo do assunto (hexadecimal 01, &#x1;).

O CUC usa o analisador de API Simples para XML (SAX) para analisar o XML de resposta EWS. O analisador SAX analisa XML com a gramática definida no XML Versão 1.0 (a versão suportada pelo CUC). O conteúdo SOH é um caractere XML 1.0 inválido. Quando o analisador SAX XML tenta analisar os Caracteres de Controle, ele falha com um erro fatal e a tentativa de sincronização não continua para o restante das mensagens na caixa de correio.

Versões Afetadas

Todas as versões do CUC anteriores à versão 10.x não têm uma correção para o bug da Cisco ID CSCur53311.

Consultas CLI para verificação

Para verificar se há caracteres de controle no cabeçalho Nome de exibição do remetente ou na linha de assunto, você pode usar estas consultas CLI:

- Insira este comando na CLI para obter o número total de mensagens afetadas:

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)
Esta consulta verifica o primeiro caractere no cabeçalho Sender Display Name e verifica se é um caractere SOH.

- Insira este comando na CLI para verificar o caractere SOH em qualquer posição na linha de assunto da mensagem:

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

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

Tip: Você pode modificar essas consultas para verificar se há outros Caracteres de Controle ou Caracteres Padrão. Substitua o valor em CHR() pelo valor apropriado. Consulte a Tabela de Códigos ASCII  para obter informações adicionais.

Solução

O defeito descrito no bug da Cisco ID CSCur53311 é corrigido no CUC versão 10.5(2). Esta versão está disponível para download na página da Web Cisco Software Download.

Conclua estes passos para uma correção temporária:

1. Verifique se não há mensagens enviadas ao servidor CUC com ^A na linha de assunto.

2. Insira este comando na CLI para obter uma lista dos usuários afetados e desative o recurso Caixa de entrada única para eles:

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. Exclua as mensagens de voz identificadas manualmente:

- Insira este comando na CLI para obter a ID do objeto da mensagem e a ID do objeto da pasta das mensagens afetadas:

run cuc dbquery unitymbxdb1 Select messageobjectid, folderobjectid from

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

- Insira este comando na CLI para executar o procedimento armazenado csp_messagesdelete e excluir a mensagem de voz no servidor CUC:

run cuc dbquery unitymbxdb1 execute procedure csp_messagesdelete

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

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

4. Identifique essas mensagens no Exchange Server com a ajuda de um administrador do Exchange e exclua-as. Insira este comando na CLI (antes que as mensagens sejam excluídas no CUC):

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

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

Note: A parte rfc822messageid é usada para mapear as mensagens afetadas na caixa de correio do CUC para as mensagens na caixa de correio do Exchange Server.

5. Ative o Unified Messaging depois que todas as mensagens afetadas forem excluídas do CUC e dos Exchange Servers.