This document describes the effects that Control Characters have on the Cisco Unity Connection (CUC) when present in the subject line of a voice message.
Cisco recommends that you have knowledge of the CUC.
The information in this document is based on the CUC Versions 8.X and later.
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.
The presence of Control Characters in the subject line or the Sender Display Name header of a message disrupts the attempts of the CUC to sync messages with the Microsoft Exchange Server. Some legacy phones send ^A as the first character in the Sender Display Name header to the CUC Server in order to create a voice message action. The CUC server drafts the subject header from the Sender Display Name header, so it also contains the ^A character. This breaks the Unified Messaging flow.
The Exchange Web Service (EWS) request-response is used in order to synchronize voice messages between your CUC mailbox and the Microsoft Exchange Server. When the CUC synchronizes the voice message that contains the ^A character to the Exchange server, it sends a subject line with the same character, and the message is saved successfully in the Exchange mailbox. The CUC uses the CreateItem EWS request in order to create the voice message on the Exchange Server.
When the CUC attempts to search items via the FindItem EWS request in the Exchange mailbox for any user (in this case, items such as voice messages with a subject line that contains the ^A character), the Exchange Server responds with Start of Heading (SOH) as the subject content (hexadecimal 01, ).
The CUC uses Simple API for XML (SAX) parser in order to parse the EWS response XML. The SAX parser parses XML with the grammar that is defined in XML Version 1.0 (the version that is supported by the CUC). The SOH content is an invalid XML 1.0 character. When the XML SAX parser attempts to parse the Control Characters, it fails with a fatal error and the sync attempt does not continue for the rest of the messages in the mailbox.
All of the CUC versions prior to Version 10.x do not have a fix for Cisco bug ID CSCur53311.
CLI Queries for Verification
In order to check for Control Characters in the Sender Display Name header or the subject line, you can use these CLI queries:
- Enter this command into the CLI in order to obtain the total number of messages that are affected:
run cuc dbquery unitymbxdb1 select count(*) from vw_mailbox as mb, vw_message as mThis query checks for the first character in the Sender Display Name header and verifies whether it is an SOH character.
where mb.mailboxobjectid = m.mailboxobjectid AND left(m.senderdisplayname,1)=CHR(1)
- Enter this command into the CLI in order to check for the SOH character at any position in the subject line of the message:
run cuc dbquery unitymbxdb1 select count(*) from vw_message where instr
The defect that is described in Cisco bug ID CSCur53311 is fixed in CUC Version 10.5(2). This version is available for download from the Cisco Software Download web page.
Complete these steps for a temporary fix:
- Ensure that there are no messages sent to the CUC server with ^A in the subject line.
- Enter this command in to the CLI in order to obtain a list of the affected users, and then disable the Single Inbox feature for them:
run cuc dbquery unitymbxdb1 Select description from vw_mailbox mb inner join
vw_message m on mb.mailboxobjectid = m.mailboxobjectid where instr(subject,
- Delete the identified voice messages manually:
- Enter this command into the CLI in order to obtain the message object ID and folder object ID of the affected messages:
run cuc dbquery unitymbxdb1 Select messageobjectid, folderobjectid from
vw_messagewithsynch where instr(subject,CHR(1),1)!=0
- Enter this command into the CLI in order to run the csp_messagesdelete stored procedure and delete the voice message on the CUC Server:
run cuc dbquery unitymbxdb1 execute procedure csp_messagesdelete
- Identify these messages on the Exchange Server with the help of an Exchange administrator and delete them. Enter this command into the CLI (before the messages are deleted in the CUC):
run cuc dbquery unitymbxdb1 Select sender, senderdisplayname, subject, creationtime,
rfc822messageid from vw_message where instr(subject,CHR(1),1)!=0
- Enable Unified Messaging after all of the affected messages are deleted from the CUC and Exchange Servers.