Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Problem

Ursache

Betroffene Versionen

CLI-Abfragen für die Überprüfung

Lösung

Einführung

Dieses Dokument beschreibt die Auswirkungen von Kontrollzeichen auf Cisco Unity Connection (CUC), wenn diese in der Betreffzeile einer Sprachnachricht vorhanden sind.

Voraussetzungen

Anforderungen

Cisco empfiehlt, den CUC zu kennen.

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf den CUC-Versionen 8.x und höher.

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Problem

Das Vorhandensein von "Control Characters" (Zeichen für die Steuerung) in der Betreffzeile oder dem Header "Sender Display Name" einer Nachricht unterbricht die Versuche des CUC, Nachrichten mit Microsoft Exchange Server zu synchronisieren. Einige Legacy-Telefone senden ^A als erstes Zeichen im Header des Senderanzeigennamens an den CUC-Server, um eine Sprachnachrichtenaktion zu erstellen. Der CUC-Server zieht den Betreff-Header aus dem Header "Sender Display Name", sodass er auch das ^A-Zeichen enthält. Dadurch wird der Unified Messaging-Fluss unterbrochen.

Hinweis: Dieses Problem ist in der Cisco Bug-ID CSCur53311 dokumentiert.

Ursache

Die Anforderungsantwort des Exchange Web Service (EWS) wird verwendet, um Sprachnachrichten zwischen Ihrer CUC-Mailbox und dem Microsoft Exchange Server zu synchronisieren. Wenn der CUC die Sprachnachricht synchronisiert, die das ^A-Zeichen enthält, an den Exchange-Server, sendet er eine Betreffzeile mit demselben Zeichen, und die Nachricht wird erfolgreich in der Exchange-Mailbox gespeichert. Der CUC verwendet die CreateItem EWS-Anforderung, um die Sprachnachricht auf dem Exchange-Server zu erstellen.

Wenn der CUC versucht, Elemente über die FindItem EWS-Anforderung im Exchange-Postfach für einen Benutzer zu durchsuchen (in diesem Fall Elemente wie Sprachnachrichten mit einer Betreffzeile, die das ^A-Zeichen enthält), antwortet der Exchange Server mit dem SOH-Beginn (Start of Heading) als Betreff-Inhalt (hexadezimale 01 &#x1;).).

Der CUC verwendet Simple API for XML (SAX) Parser, um die EWS-Antwort-XML zu analysieren. Der SAX Parser analysiert XML mit der Grammatik, die in XML Version 1.0 definiert ist (die vom CUC unterstützte Version). Der SOH-Inhalt ist ein ungültiges XML 1.0-Zeichen. Wenn der XML-SAX-Parser versucht, die Control-Zeichen zu analysieren, schlägt er mit einem schwerwiegenden Fehler fehl, und der Synchronisierungsversuch wird für die übrigen Nachrichten in der Mailbox nicht fortgesetzt.

Betroffene Versionen

Alle CUC-Versionen vor Version 10.x haben keine Behebung für die Cisco Bug-ID CSCur53311.

CLI-Abfragen für die Überprüfung

Sie können folgende CLI-Abfragen verwenden, um im Header "Sender Display Name" (Name der Absenderanzeige) oder in der Betreffzeile nach "Control Characters" (Zeichen der Steuerung) zu suchen:

- Geben Sie diesen Befehl in die CLI ein, um die Gesamtzahl der betroffenen Nachrichten abzurufen:

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)
Diese Abfrage überprüft, ob das erste Zeichen im Header "Sender Display Name" (Name der Absenderanzeige) vorhanden ist und ob es sich um ein SOH-Zeichen handelt.

- Geben Sie diesen Befehl in die CLI ein, um an einer beliebigen Stelle in der Betreffzeile der Nachricht nach dem SOH-Zeichen zu suchen:

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

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

Tipp: Sie können diese Abfragen ändern, um nach anderen Steuerelementzeichen oder Standardzeichen zu suchen. Ersetzen Sie den Wert in CHR() durch den entsprechenden Wert. Weitere Informationen finden Sie in der ASCII- Codes-Tabelle .

Lösung

Der in der Cisco Bug-ID CSCur53311 beschriebene Fehler ist in CUC Version 10.5(2) behoben. Diese Version kann von der Website Cisco Software Download heruntergeladen werden.

Gehen Sie wie folgt vor, um eine temporäre Fehlerbehebung durchzuführen:

1. Vergewissern Sie sich, dass keine Nachrichten an den CUC-Server gesendet werden, die ^A in der Betreffzeile enthalten.

2. Geben Sie diesen Befehl in die CLI ein, um eine Liste der betroffenen Benutzer abzurufen, und deaktivieren Sie dann die Funktion für den einzelnen Posteingang:

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. Löschen Sie die identifizierten Sprachnachrichten manuell:

- Geben Sie diesen Befehl in die CLI ein, um die Nachrichtenobjekt-ID und Ordner-Objekt-ID der betroffenen Nachrichten abzurufen:

run cuc dbquery unitymbxdb1 Select messageobjectid, folderobjectid from

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

- Geben Sie diesen Befehl in die CLI ein, um die gespeicherte Prozedur csp_messagesdelete auszuführen und die Sprachnachricht auf dem CUC-Server zu löschen:

run cuc dbquery unitymbxdb1 execute procedure csp_messagesdelete

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

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

4. Identifizieren Sie diese Meldungen auf dem Exchange-Server mithilfe eines Exchange-Administrators und löschen Sie sie. Geben Sie den folgenden Befehl in die CLI ein (bevor die Nachrichten im CUC gelöscht werden):

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

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

Hinweis: Der Rfc822messageid-Teil wird verwendet, um die betroffenen Nachrichten im CUC-Postfach den Nachrichten im Exchange-Server-Postfach zuzuordnen.

5. Aktivieren Sie Unified Messaging, nachdem alle betroffenen Nachrichten vom CUC- und Exchange-Server gelöscht wurden.