语音和统一通信 : Cisco Unity Connection

CUC统一消息问题由于在语音留言标题栏的控制字符

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈

简介

本文描述控制字符有在Cisco Unity Connection的作用(CUC),当存在语音留言的标题栏时。

贡献用Anirudh M Mavilakandy, Cisco TAC工程师和Ratnesh奈斯, Cisco工程师。  

先决条件

要求

思科建议您有CUC的知识。

使用的组件

本文档中的信息根据CUC版本8.X和以上。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

问题

控制字符或消息的发送方显示名称报头出现在标题栏的打乱CUC的尝试对同步消息用Microsoft Exchange服务器。 一些传统电话发送^A作为在发送方显示名称报头的第一个字符对CUC服务器为了创建语音留言操作。 CUC服务器草拟从发送方显示名称报头的附属的报头,因此也包含^A字符。这中断统一消息流。

注意:此问题在Cisco Bug ID CSCur53311描述。

根本原因

Exchange网站服务(EWS)请求响应用于为了同步在您的CUC邮箱和Microsoft Exchange服务器之间的语音留言。当CUC同步包含^A字符到Exchange服务器的语音留言时,发送与同一个字符的一标题栏,并且消息在Exchange邮箱顺利地保存。CUC使用CreateItem EWS请求为了创建在Exchange服务器的语音留言。

当CUC尝试通过在Exchange邮箱的FindItem EWS请求搜索项目所有用户(在这种情况下,项目例如与包含^A字符)的标题栏时的语音留言, Exchange服务器回应开始标题(SOH)作为学科内容(十六进制01, )。

CUC使用简单API XML (萨克斯管)分析程序为了解析EWS答复XML。萨克斯管分析程序解析与在XML版本1.0的语法的XML (CUC支持)的版本定义。SOH内容是一个无效XML 1.0字符。当XML萨克斯管分析程序尝试解析控制字符时,失效与致命错误,并且同步尝试不为消息的其余在邮箱的继续。

受影响的版本

所有在版本10.x之前的CUC版本没有Cisco Bug ID的CSCur53311一个修正。

验证的CLI查询

为了检查在发送方显示名称报头或标题栏的控制字符,您能使用这些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)
    此查询检查在发送方显示名称报头的第一个字符并且验证它是否是SOH字符。 

  • 输入此命令到CLI为了检查SOH字符在消息的标题栏的所有位置:
    run cuc dbquery unitymbxdb1 select count(*) from vw_message where instr
    (subject,CHR(1),1)!=0

提示:您能修改这些查询为了检查其他控制字符或标准字符。用appropriate值替换在CHR()的值。参考ASCII代码表其他信息。

解决方案

在Cisco Bug ID CSCur53311描述的缺陷在CUC版本10.5(2)修复。此版本可以从Cisco软件下载网页的下载。

完成一个临时修正的这些步骤:

  1. 保证没有发送的消息到有^A的CUC服务器在标题栏。

  2. 输入此in命令对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. 手工删除已确定语音留言:

    • 输入此命令到CLI为了获取消息对象ID和受影响的消息的文件夹对象ID :
      run cuc dbquery unitymbxdb1 Select messageobjectid, folderobjectid from
      vw_messagewithsynch where instr(subject,CHR(1),1)!=0
    • 输入此命令到CLI为了运行csp_messagesdelete存储过程和删除在CUC服务器的语音留言:
      run cuc dbquery unitymbxdb1 execute procedure csp_messagesdelete
      (pFolderObjectId='db252856-0c1a-4b19-a476-7ee4f7bc4298', pMessages=
      '5d6cfc0e-17cb-4849-b193-e1435a816ad7', pNummessages=1)
  4. 在交换管理员帮助下识别在Exchange服务器的这些消息并且删除他们。(在消息在CUC删除)前,请输入此命令到CLI :
    run cuc dbquery unitymbxdb1 Select sender, senderdisplayname, subject, creationtime,
     rfc822messageid from vw_message where instr(subject,CHR(1),1)!=
    0

    注意rfc822messageid部分用于为了映射在CUC邮箱的受影响的消息到在Exchange服务器邮箱的消息。

  5. 在所有的Enable (event)统一消息受影响的消息以后从CUC和Exchange服务器删除。


Document ID: 118797