目录

简介

先决条件

要求

使用的组件

规则

背景信息

排除故障之前

确保已安装、配置并运行CsIpFaxSvc服务

设置邮件客户端以监控传真帐户

注册表设置

排除每个组件的故障

步骤 1：验证邮件是否可以从最终用户发送到传真帐户

步骤 2：验证邮件是否由IP传真服务处理

步骤 3：验证渲染操作

步骤 4：检验路由器是否接收并传送该消息

步骤 5：验证路由器是否发送DSN消息

步骤 6：验证DSN消息是否已收到

注意事项

Appendix

呈现引擎跟踪文件

Q.931断开原因代码

相关信息

简介

从Cisco Unity 4.0(4)和Cisco IOS®软件版本12.3(7)T开始的Cisco Unity IP传真配置向导支持从Cisco Unity用户到公共交换电话网(PSTN)上传真机的出站传真。此服务允许用户通过简单电子邮件发送出站传真。目的传真电话号码包含在电子邮件的主题行中，并被发送到Cisco Unity IP Fax服务检查的邮箱。服务将重新格式化邮件，以适当格式呈现所有附件，重新编址，并发送邮件。邮件通过简单邮件传输协议(SMTP)发送到配置了T.37 OffRamp功能的Cisco IOS网关，以便将传真发送到目的电话号码。

本文档讨论用于排除故障的常见步骤。有关Cisco IOS网关的初始配置步骤，请参阅Cisco Unity IP Fax出站网关配置示例。请参阅Cisco Unity的IP传真配置向导。

先决条件

要求

Cisco 建议您了解以下主题：

- Cisco Unity IP Fax出站流程的常规文档

请参阅IP传真配置向导和Cisco Unity IP Fax出站网关配置示例。

- 使用Microsoft Exchange 2000/2003的SMTP的基本知识

- Cisco IOS IP Voice over(VoIP)配置

活动的Cisco Unity服务器（带Cisco Unity IP Fax配置向导2.0.0.19版或更高版本）与本文档中定义的网关配置结合使用，以便具有完整、可操作的系统。在IOS网关端，需要支持T.37 OffRamp功能和Cisco IOS软件版本12.3(7)T或更高版本的Cisco IOS路由器，以及Cisco Unity版本4.0(4)或更高版本，并将Microsoft Exchange 2000或2003作为合作伙伴消息存储。

注意：媒体网关控制协议(MGCP)网络不支持T.37 OffRamp。有关使用T.37时的平台和其他限制的详细信息，请参阅T.37存储转发传真配置指南。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Cisco 3725作为IOS网关

- Cisco IOS软件版本12.3(8)T4

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

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

背景信息

为了说明故障排除过程，了解此功能的基本操作非常重要。然后，问题范围缩小到特定组件，并收集更多有关该组件的信息。

1. 系统上的最终用户向传真邮箱发送电子邮件。此消息在传真邮箱(例如fax-unity2@vnt.com)的主题中必须包含[FAXPHONE=9915550]，其中9915550是目的传真机的编号。根据网关中设置的拨号方案，此号码前面有9或只接受某些数字字符串。发送后，Microsoft Exchange会将邮件传送到此邮箱。

注：如果电子邮件来自另一个域，则域名系统(DNS)和远程邮件系统将配置为将邮件传送到传真邮箱所在的域和邮件帐户。

2. Cisco Unity IP Fax服务定期登录传真邮箱并检索邮件。现在，附件已读取。消息在Cisco Unity服务器上呈现（例如，转换为TIF文件），假设它能够处理该大小的附件。

3. 一旦呈现附件，该消息就会发送到IOS网关。必须将Microsoft Exchange配置为能够发送邮件，该邮件的目的地址是收件人，例如fax=9915550@c3725-51.gateway.com。这通常意味着该主机(c3725-51.gateway.com)的A记录和邮件交换记录（MX记录）会添加到DNS，而SMTP连接器会添加到Exchange以路由邮件。此处使用的电子邮件地址和主机名不需要用户友好，因为最终用户从不直接向网关发送电子邮件。

4. IOS网关配置为T.37 OffRamp功能，该功能允许它接收SMTP消息、解释fax=9915550地址、拨打991550号码（经过任何可能的数字处理），然后将TIF文件传输到收件人传真机。

注意：网关无法使用MGCP使用此功能。但是，电路不需要专用于传真。语音和传真在同一语音电路上同时使用。路由器上的拨号对等体配置决定了呼叫的实际操作。

5. 传真送达后，网关将发送传送状态通知(DSN)消息回传到传真邮箱(fax-unity2@vnt.com)。 这表示传真是否已成功传送。当IP传真服务登录时，将检索DSN消息。如果未成功传送，则检查原因代码。根据此原因代码，重新发送消息（可能是远程传真正忙）或将消息发回最终用户以通知用户问题。否则，IP传真服务永远无法知道传真是否成功传送。

此架构的一个优势是任何问题通常都会分解为相关组件。

排除故障之前

确保已安装、配置并运行CsIpFaxSvc服务

在开始之前检查设置。

正确设置网关。请参阅Cisco Unity IP Fax出站配置示例和IP传真配置向导。

设置Exchange，以便将邮件从最终用户的邮件存储传送到传真邮箱所在的邮箱。它也以相反的方向传送，以便状态消息可以发回源。邮件需要能够从传真帐户传送到网关并返回。这涉及在DNS和Exchange中进行配置。

确保IP传真服务已正确安装。激活设置程序后，在Cisco Unity上运行配置向导，然后选择开始>程序> Unity > Cisco Unity IP Fax配置向导。

IP传真服务无法呈现您向其发送的任何内容。当IP传真服务收到附加到电子邮件的文件时，它首先检查以确保它能识别该扩展名。这些设置在第三方传真管理工具中。允许的默认扩展是BMP、HTM、TIF和TXT。如果需要DOC扩展，则工具必须添加它，如本例所示。

注意：某些版本中存在问题，导致第三方传真管理工具列表中的最后一个分机无法正常运行。有关详细信息，请参阅警告部分。

选择的传真服务器是Cisco Unity IP Fax Routing。DOC会添加到“允许的文件扩展名”区域。这意味着IP传真服务将附件传送到渲染引擎。完成此操作后，渲染引擎依赖于与扩展类型相关联的应用，以便其能够打开文档并将其打印到具有其打印驱动程序的文件。通常允许DOC扩展，因为WordPad应用程序默认安装在Cisco Unity服务器上，并且会打开大多数Microsoft Word文档。Acrobat Reader等应用程序可帮助您传真PDF文件。有关详细信息，请参阅本文档的警告部分。

注意：思科对.doc扩展正式支持的唯一应用程序是WordPad。如果将Wordview或Microsoft Word等应用与文档扩展一起使用，则呈现引擎可能会失败。

注意：请勿在Cisco Unity服务器上安装Microsoft Office。这会停止Cisco Unity的正确操作。Cisco Unity服务器上应仅安装受支持的第三方应用。在Cisco Unity服务器上安装任何第三方软件时请小心。

从“开始”>“管理工具”>“服务”验证CSIpFaxSvc是否处于活动状态，并且“登录身份”字段与AvCsMgr服务相同。如果AvCsMgr服务未启动，则可能存在问题。这也会影响CsIpFaxSvc。请参阅Cisco Unity 3.1(x)和4.x:AvCsMgr服务无法启动以了解详细信息。

设置邮件客户端以监控传真帐户

如果即使在安装IP传真服务和网关后仍无法运行，则第一步是使用Microsoft Outlook Express(带Internet邮件访问协议(IMAP)或Outlook（或其他邮件程序）检查IP传真邮箱。由于最终用户向此邮箱发送邮件，而IP传真服务检查并发送来自此帐户的邮件，因此请确保邮件到达且发送正确。使用日志文件和Exchange邮件跟踪中心可以诊断此处看到的所有内容。但是，这也有助于说明产品的操作。

Outlook Express自动安装在Cisco Unity服务器上。Outlook是Cisco Unity统一消息传送部署的首选邮件。

注意：请勿在Cisco Unity Server上安装Microsoft Outlook。它使Cisco Unity停止运行。Outlook也不应安装在Exchange服务器上。它必须安装在客户端计算机上，然后进行配置才能连接到Exchange服务器。

将一个或多个邮件帐户添加到Outlook Express时，请确保指定IMAP。如果选择POP，它会立即从邮件存储中下载所有邮件。然后，IP传真服务不会检测到任何新消息。指定IP传真服务帐户。如果密码未知，则访问Active Directory用户和计算机、查找IP传真帐户并重置密码是安全的。

本文档中提供的故障排除方法并非您唯一可以使用的方法。例如，如果您有权访问IP传真帐户，并通过Outlook或Outlook Express登录，则可以直接从该位置向最终用户发送测试电子邮件。您还可以直接向网关发送电子邮件。这缩小了问题的范围，因为它证明一个或另一个元素工作正常。

注册表设置

为帮助进行故障排除，请更改诊断级别，以便记录更多输出。选择开始>运行，并在命令框中输入regedit，以便在运行CSIPFaxSvc的Cisco Unity服务器上启用此功能。出现“Registry Editor（注册表编辑器）”工具后，选择HKEY_LOCAL_MACHINE\SOFTWARE\Active Voice\IPFaxRouter\1.0。

选择编辑>新建> DWORD值。指定的名称为DiagLevel。创建时，双击此密钥。在“值数据”字段中输入3。这是最大诊断级别。稍后，可将其更改为0（默认）。 此更改不要求重新启动服务。

注意：当您更改了错误的注册表项或输入了错误的值时，它会导致服务器故障。在编辑注册表项之前，请确认您知道如果出现问题，如何恢复。有关详细信息，请参阅注册表编辑器帮助中的恢复主题。Cisco Unity服务器的典型的备份不备份注册表。对于Cisco Unity故障切换系统，一个Cisco Unity服务器上的注册表更改在另一个Cisco Unity服务器上手动进行，因为注册表更改不会被复制。有关如何更改注册表项设置的详细信息，请联系思科技术支持。

在某些情况下，另一个有用的密钥是MaximumWait密钥。如果不存在，则此密钥默认为24（小时）。 它指定在将未送达消息发送给最终用户之前保留消息的最长时间。此密钥不直接帮助排除故障，但经常需要。

OutboundRouterDomain密钥包含邮件域，当邮件发往要传送到Cisco IOS网关以进行出站传真传送的地址时，该域用作邮件后缀。为此，本例中的值vnt-3725-51.gateway.com必须通过DNS解析。对此条目执行ping操作会很有帮助。如果此条目不正确，会向发件人返回一封电子邮件，并通知他们网关条目无法解析。

提示：此事实对故障排除非常有用：如果安装了除Cisco IOS网关外的所有设备，则可以临时将此注册表项更改为伪造值，例如DNS中未包含的值。然后向传真邮箱发送传真消息。CsIpFaxSvc服务检索邮件，呈现附件，然后找不到网关。将非传送回执(NDR)通知发送回发送方，并且将发送至网关的传真消息的呈现的TIF附件发送回发送方。如果执行此操作，您已验证：

- 您的最终用户可以向传真帐户发送电子邮件。

- 传真可以成功呈现。

- 电子邮件可以从传真帐户发回给最终用户。

除了从传真帐户向网关和从网关向传真帐户发送消息外，所有内容都已消除。

封面键包含所呈现的封面的位置。传输的每张传真都包含一个封面，其中包含一些信息，如页数。可以编辑此页面并插入自定义信息或公司徽标。如果密钥被更改为不存在的文件，则不发送封面。

排除每个组件的故障

步骤 1：验证邮件是否可以从最终用户发送到传真帐户

从用户向传真帐户发送消息。在此图中，留言的目的地是fax-unity2，即传真邮箱。用户要呼叫的号码在主题行中指定，在本例中为9915550。用户要传真的文档已附加。

此邮件发送后，将到达最初设置的传真邮箱。此图显示了邮箱的Outlook Express视图。

如果邮件未到达，则存在基本的邮件传送问题。您应该看看发件人是否收到某种传递失败消息。Microsoft Exchange 2000/2003具有Exchange邮件跟踪功能，它允许您查看有关邮件传送的其他详细信息。如果发件人和传真帐户位于两个不同的域中（例如a.com和b.com），则确保正确配置发送邮件系统以将邮件传送到目标邮件服务器。这包括在DNS中设置A和MX记录，然后添加SMTP连接器来路由邮件。邮件也应该能够反向发送，以便将未送达的邮件发回给最终用户。

此图显示带A和MX记录的IOS网关的DNS条目。

Exchange中需要SMTP连接器来连接该邮件主机。

DNS用于路由到地址空间。地址空间配置为c3725-51.gateway.com。这只是众多配置中的一种。这只是测试的示例环境设置。典型的企业Exchange环境要复杂得多。关键是确保您从用户收到邮件到传真邮箱。有关这些主题的详细信息，请访问Microsoft网站。

确保邮件从最终用户发送到传真帐户，从传真帐户发送到最终最终用户。

步骤 2：验证邮件是否由IP传真服务处理

在IP传真服务配置期间，指定轮询间隔。这表示IP传真服务登录传真邮箱并检查新邮件的频率。思科建议将此值设置为低，直到验证产品的正确操作。

最佳诊断日志文件是IPFaxSvc<date/time>.log。它位于\Commserver\logs directory目录中的。

注意：在此跟踪示例中，已删除一些信息。

您可以看到日志文件以每个时间间隔登录的邮箱。您还可以看到它处理出站传真。

注意：所有跟踪都反映前面提到的DiagLevel = 3注册表设置。

"Logging on to mailbox [VNT2-EX1\fax-unity2]"

"CIpFaxCdoHelper::LogonToMailbox() name returned from Logon is [fax unity2]"

"Processing outbox, message count= 1"

"CIpFaxCdoHelper::ProcessFaxOutbox() processing message receipts"

"CIpFaxCdoHelper::DetermineMessageDisposition() current message

subject=[[faxphone=9915550]]"

"CIpFaxCdoHelper::DetermineMessageDisposition() setting disposition to OUTBOUND"

"CIpFaxCdoHelper::ProcessFaxOutbox() message looks like outbound fax - not

processing as receipt message"

出站进程成功登录正确的邮箱，意识到有消息，检索主题，并将其视为出站传真，这一点非常重要。

"_RecordsetPtr::Open(Select * from tblIpFaxData where MessageEntryID =

'00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0DEF46B5F8EAF983C6C512000000

05E5B20000E7E65E238D0DEF46B5F8EAF983C6C51200000005F55A0000') returned [0] rows -

Code: 0x80004005. Method: CIpFaxAdoHelper::GetRecordSet. [IpFaxAdoHelper.cpp::403]"

"CIpFaxAdoHelper::Execute() Cmd=[INSERT INTO tblIpFaxData (MessageEntryID, Status,

ScratchDirectory, TifFileName, NdrErrorCode, BusyCounter, RnaCounter,

TimeFirstHandled) VALUES ('00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0

DEF46B5F8EAF983C6C51200000005E5B20000E7E65E238D0DEF46B5F8EAF983C6C51200000005F55A

0000', '0', 'C:\CommServer\unityMta\IpFaxScratchpad', '0188c93ff8194177b9f313edab

c2ea73.tif', '0', '0', '0', '2004-10-14 08:27:17')]"

现在消息已读取。第一条语句指示服务在Cisco Unity服务器的Reports数据库中对tbllpFaxDatatable运行SQL查询，以查看是否存在具有该MessageEntryID（消息的MAPI ID）的消息。它找不到任何此类条目（返回0行），因此它会添加包含此信息的新行。此MessageEntryID用作发送到网关的电子邮件中的“主题”字段。直接查看SQL时，您会看到：

SQL用于跟踪每条消息。当传真邮箱不为空时，SQL会按每个间隔逐个检查该邮箱，并根据此消息ID检查它是否已经为每封邮件进行了说明。附件将复制到暂存目录C:\CommServer\unityMta\IpFaxScratchpad in this case。如果此消息有DSN，则只需更新BusyCounter或类似内容。但这是服务跟踪每条消息的方法。文件已复制到暂存目录后，将进行渲染。

"CIpFaxCdoHelper::RenderCurrentMessage() scratch file=[C:\CommServer\

unityMta\IpFaxScratchpad\render.tif]"

"CIpFaxCdoHelper::RenderCurrentMessage() outputting message body to file

name=[C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt]"

"Rendering file [C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt] to

[C:\CommServer\unityMta\IpFaxScratchpad\render.tif]"

"CIpFaxCdoHelper::RenderCurrentMessage() added [1] pages to TIFF"

渲染过程开始。每张传真都包含封面、包含邮件正文的页面以及任何或所有附件。封面显示传真的页数。首先呈现正文，因为它始终先发送。由于它每次只呈现一条消息，因此它始终调用消息正文MsgBody.txt和临时输出文件render.tif。渲染由Imagemaker软件执行。完成每个渲染过程后，它将返回所渲染的页数。在本例中，它是一页。

步骤 3：验证渲染操作

图像制作器渲染引擎是打印驱动程序。它获取输入文件，打开关联的默认应用程序（写字板、记事本等），并使用Image Maker驱动程序将其打印到文件中。这将创建TIF文件。

完整的诊断文件位于附录部分中。当您向与渲染引擎相关的思科技术支持提交问题时，必须提交以下文件：

- C:\ImgMaker\Conversion_Toolkit\log\ODCDAEMON.log — 通过批处理文件进行转换的守护程序

- C:\log\ImageMakerDocCnvrt Driver.txt — 驱动程序级别信息

最有用的信息在ODCDAEMON.log文件中。对于要呈现的每个文件，您会看到：

10/14/04 08:27:17

Start time: Thursday, October 14, 2004 08:27:17 AM

Daemon logged in as user: vnt2-u1-ms

Using registry root: HKEY_LOCAL_MACHINE

08:27:17: Pipe name: PrintDocDaemonPipe

08:27:17: Default printer name: ImageMaker DocCnvrt Driver

08:27:17: Registry server: <local>

08:27:17: Service started

08:27:19: 08:27:19: 10/14/04 08:27:19 ServiceRequest thread started

08:27:19: Processing 'Convert v1.0' request

08:27:19: Processing file: C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt

08:27:19: Output file: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:19: Printer name: ImageMaker DocCnvrt Driver

08:27:19: AppendTo filename set to C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:19: Input filename: C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt

08:27:19: Output filename: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:19: 0xE90: <10/14/04 08:27:19> StatusThread timeout value for jobstart: 60000

08:27:21: AutoShutdown feature activated

08:27:21: Sending response 1 to client

08:27:21: 10/14/04 08:27:21 ServiceRequest thread ended

要查看的第一个元素以用户身份登录。这是CsIpFaxSvc服务用于登录的相同帐户。

必须了解这一点，因为此用户启动所有应用并呈现它们。下一个元素是“输入”和“输出”文件名。第三个元素响应表示呈现的页数。在本例中，它是一个。如果响应为负数，则表示出错。如果存在错误，您必须查看它前面的行。在许多情况下，错误仅针对特定文件类型发生。ODCDAEMON日志文件显示错误是发生在所有渲染中还是仅发生在某些扩展类型中。

这有利于手动练习渲染引擎进一步测试。以运行CsIpFaxSvc服务的同一用户身份登录。这是为了验证从服务启动渲染引擎时是否出现相同错误。

如果您有每个允许的扩展类型的文件，请双击打开每个文件。关联的应用会打开并检查更新（或类似过程）。 例如，对于Acrobat，可以禁用此功能。

停止CsIpFaxSvc。如果任何ODCDAEMON进程仍在运行，请使用任务管理器停止该进程。

注意：  如果必须保存ODCDAEMON日志文件以供进一步参考，则必须在您ping CsIpFaxSvc之前完成。重新启动服务时，它会清除ODCDAEMON日志文件，并且输出丢失。

从C:\ImgMaker\Conversion_Toolkit文件夹启动ODCDAEMON.EXE进程。此时将显示一个窗口，如下图所示：

从同一文件夹启动CPCOM.EXE文件。

大多数默认设置都正常。在“要转换的文件”字段中，选择所需的输入文件。思科建议您单独测试每个分机类型。如果输出文件未更改，则输入文件将附加到输出文件。

单击“转换”。应用程序开始打印，此对话框出现：

Click OK.选择“完成时查看输出”选项。启动TIF查看器并显示输出文件。如果存在错误，在某些情况下它们与本示例所示的日志文件中显示的内容相同。

03:07:39: Input filename: d:\CommServer\UnityMTA\IpFaxScratchpad\render.tif

03:07:39: Output filename: d:\CommServer\UnityMTA\IpFaxScratchpad\9484f347996b4ea18b0caeb52ffda465.tif

03:07:39: 0x15F0: <11/19/04 03:07:39> StatusThread timeout value for jobstart: 60000

PrintTo command does not exist for file type: MSPaper.Document

03:07:39: AutoShutdown feature activated

Conversion unsuccessful. Deleting file d:\CommServer\UnityMTA\IpFaxScratchpad\9484f347996b4ea18b0caeb52ffda465.tif

03:07:39: Sending response -20 [PrintTo command does not exist] to client

输入文件是TIF附件。但文件类型是DOC(MSPaper.Document)。 本例中的问题是，Word和Excel等Microsoft应用程序安装在服务器上，并且它们会更改注册表中的文件关联。编辑HKEY_CLASSES_ROOT\.tif和TIF，并将Default键更改为TIFImage.Document而不是MSPaper.Document以修复此错误。

验证每种文件类型后，关闭CPCOM和ODCDAEMON窗口并重新启动CsIpFaxSvc服务。

如果所有附件都失败或存在初始化错误，请重新安装渲染引擎。从IPFaxConfigWizard所在的Image maker文件夹中使用instfax.exe -z命令卸载该文件夹。然后重新安装它，需要重新启动，并从开始>程序> Unity重新运行Cisco Unity IP Fax Configuration Wizard。

测试错误的最后一个选项是绕过守护进程并从命令行呈现文件。在大多数情况下，如果它以前失败，在这里也会失败。但是，在某些情况下，它会提供其他信息。这是在PDFILCNV可执行文件的帮助下完成的。此程序位于IPFaxConfigWizard安装路径的Image maker子目录中。例如：

PDFILCNV products.doc -Fproducts.tif

确保可以打开显示的文件。

此示例来自IpFaxSvc日志文件：

"CIpFaxCdoHelper::RenderCurrentMessage() processing attachment=[products.doc]"

"CIpFaxCdoHelper::RenderCurrentMessage() attachment written to file=

[C:\CommServer\unityMta\IpFaxScratchpad\products.doc]"

"Rendering file [C:\CommServer\unityMta\IpFaxScratchpad\products.doc] to

[C:\CommServer\unityMta\IpFaxScratchpad\render.tif]"

"CIpFaxCdoHelper::R\

)ll

\-

\]

'==e-nderCurrentMessage() added [2] pages to TIFF"

产品DOC附件呈现。它将附加到之前创建的render.tif文件。它有两页，总页数为三页。

"CIpFaxCoverPage::GenerateFile() file=[C:\CommServer\unityMta\IpFaxScratchpad

\cover.htm] name=[Unity2 Subscriber] num=[9915550] pages=[3]"

"Rendering file [C:\CommServer\unityMta\IpFaxScratchpad\cover.htm] to

[C:\CommServer\unityMta\IpFaxScratchpad\0188c93ff8194177b9f313edabc2ea73.tif]"

"Rendering file [C:\CommServer\unityMta\IpFaxScratchpad\render.tif] to

[C:\CommServer\unityMta\IpFaxScratchpad\0188c93ff8194177b9f313edabc2ea73.tif]"

封面是cover.htm文件。它是包含一些变量的简单HTML模板。它填写发送消息的用户的名称、被叫号码和发送的页数。

创建自定义cover.htm文件后，该文件将呈现为messageid.tif文件。先前创建的render.tif文件被呈现到messageid.tif文件，例如，附加到messageid.tif文件。此时，messageid.tif文件是通过电子邮件发送或传真的真实消息。

已成功呈现。SQL中的某些字段会更新并发送消息。

"2004-10-14","08:27:29","CIpFaxAdoHelper::Execute()

Cmd=[UPDATE tblIpFaxData SET Status = '1' WHERE MessageEntryID =

'00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0DEF46B5F8EAF983C6C

51200000005E5B20000E7E65E238D0DEF46B5F8EAF983C6C51200000005F55A0000']"

"2004-10-14","08:27:29","CIpFaxAdoHelper::Execute() Cmd=[update tblipfaxdata

set TimeLastAttempted = '2004-10-14 08:27:29' where MessageEntryID =

'00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0DEF46B5F8EAF983C6C5120

0000005E5B20000E7E65E238D0DEF46B5F8EAF983C6C51200000005F55A0000']";

消息的状态设置为1，并填写上次更新的时间。它被发送到网关。

步骤 4：检验路由器是否接收并传送该消息

从IP Fax帐户发送到网关的消息必须采用fax=###@router.gateway.com格式。通常，DNS中需要DNS A和MX记录，并且需要向Exchange添加SMTP连接器以将邮件路由到该主机。完成此操作后，您可以继续排除网关故障。

如果只设置了路由器，则仍可以验证它是否工作（如果使用Telnet访问SMTP端口并手动发送消息），如以下示例所示：

telnet vnt-3725-51.gateway.com 25

Trying 14.80.51.14...

Connected to 14.80.51.14.

Escape character is '^]'.

220 vnt-3725-51.gateway.com Cisco NetWorks ESMTP server

ehlo

250-vnt-3725-51.gateway.com, hello <empty HELO/EHLO> [172.18.106.123] (really )

250-ENHANCEDSTATUSCODES

250-8BITMIME

250-PIPELINING

250-HELP

250-DSN

250 XACCOUNTING

mail from:test@test.com

250 2.5.0 Sender <test@test.com> ok

rcpt to:fax=9915550@vnt-3725-51.gateway.com

250 2.1.5 Recipient <fax=9915550@vnt-3725-51.gateway.com> ok, maps to `9915550' (cp=no)

data

354 Enter mail, end with a single "."

This is a test message from the router.

.

554 5.3.0 An unknown error occurred

quit

221 2.3.0 Goodbye from vnt-3725-51.gateway.com; closing connection

Connection closed by foreign host.

在这种情况下，出现未知错误。发生这种情况是因为用于传送出站传真的主速率接口(PRI)关闭。这是另一个示例：

telnet vnt-3725-51.gateway.com 25

Trying 14.80.51.14, 25 ... Open

220 vnt-3725-51.gateway.com Cisco NetWorks ESMTP server

ehlo

250-vnt-3725-51.gateway.com, hello <empty HELO/EHLO> [172.18.106.66] (really )

250-ENHANCEDSTATUSCODES

250-8BITMIME

250-PIPELINING

250-HELP

250-DSN

250 XACCOUNTING

mail from:test@test.com

250 2.5.0 Sender <test@test.com> ok

rcpt to:fax=9915550@error.com

553 5.4.4 <fax=9915550@error.com> Unable to relay to remote host

quit

221 2.3.0 Goodbye from vnt-3725-51.gateway.com; closing connection

在这种情况下，“Unable to relay to remote host”错误消息表示Cisco IOS配置中的mta接收别名列表未配置error.com。

通过Telnet连接到路由器或通过控制台访问路由器，以便直接开始排除网关故障。在Telnetted后，发出terminal monitor命令。出现调试输出。打开调试传真全部。如果出站语音电路是PRI，则debug isdn q931 也是相关命令。

警告：  当您在路由器上启用跟踪时，它有时会影响性能。完成后，使用no debug all命令关闭跟踪。

注意：为节省空间，已截断这些日志。

此调试输出来自一个活动示例：

Oct 15 08:27:26.003: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=1

Oct 15 08:27:35.051: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

Calling smtp verb: ehlo

Oct 15 08:27:35.051: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=1

Oct 15 08:27:35.599: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

Calling smtp verb: mail

Oct 15 08:27:35.599: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=1

Oct 15 08:27:36.143: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

Calling smtp verb: rcpt

Oct 15 08:27:36.143: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_command_rcpt:

context(0x66CA9AC4)

Oct 15 08:27:36.143: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_command_rcpt:

context(0x66CA9AC4)

Oct 15 08:27:36.143: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=1

Oct 15 08:27:36.691: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

Calling smtp verb: data

Oct 15 08:27:36.691: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=2

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Received: from vnt2-ex1.vnt.com ([14.84.31.12]) by VNT1-EX2.vnt.com

with Microsoft SMTPSVC(5.0.2195.6713);'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `       Thu, 14 Oct 2004 08:27:29 -0400'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Return-Receipt-To: "fax unity2"'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Subject: 00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0DEF46B

5F8EAF983C6C51200000005E5B30000E7E65E238D0DEF46B5F8EAF983C6C51200000005FB680000'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Date: Thu, 14 Oct 2004 08:27:29 -0400'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Message-ID: '

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `X-MS-Has-Attach: yes'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `MIME-Version: 1.0'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Content-Type: image/tiff;'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `      name="BODY.TIF"'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `X-MS-TNEF-Correlator: '

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Content-Transfer-Encoding: base64'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Content-Description: BODY.TIF'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Content-Disposition: attachment;'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `      filename="BODY.TIF"'

Oct 15 08:27:37.239: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Thread-Topic: 00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0

DEF46B5F8EAF983C6C51200000005E5B30000E7E65E238D0DEF46B5F8EAF983C6C51200000005

FB680000'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=2

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Thread-Index: AcSx6SvU9sc3nVffS3a4/Dwqi2Bpww=='

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `From: "fax unity2" '

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `content-class: urn:content-classes:message'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `To: '

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `Return-Path: fax-unity2@vnt.com'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `X-OriginalArrivalTime: 14 Oct 2004 12:27:29.0487 (UTC) FILETIME=[2BE0DDF0:01C4B1E9]'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_work_routine:

(S)R: `'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_new_part:

Field name: `subject:'

Field value: `00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0DEF46B5F

8EAF983C6C51200000005E5B30000E7E65E238D0DEF46B5F8EAF983C6C51200000005FB680000'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_new_part:

Field name: `date:'

Field value: `Thu, 14 Oct 2004 08:27:29 -0400'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_new_part:

Field name: `message-id:'

Field value: `'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_new_part:

Field name: `Content-Type:'

Field value: `image/tiff; name="BODY.TIF"'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_new_part:

Field name: `Content-Transfer-Encoding:'

Field value: `base64'

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_new_part:

Field name: `from:'

Field value: `"fax unity2" '

Oct 15 08:27:37.243: //-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_new_part:

Field name: `to:'

Field value: `'

Oct 15 08:27:37.247: //-1/E7B232638008/SMTPS/esmtp_server_engine_new_part:exit@1977

Oct 15 08:27:37.251: ISDN Se2/0:23 Q931: pak_private_number: Invalid type/plan

0x0 0x1 may be overriden; sw-type 13

Oct 15 08:27:37.251: ISDN Se2/0:23 Q931: Applying typeplan for sw-type 0xD is

0x0 0x0, Called num 99915550

Oct 15 08:27:37.255: ISDN Se2/0:23 Q931: TX -> SETUP pd = 8  callref = 0x0003

Bearer Capability i = 0x8090A2

Standard = CCITT

Transer Capability = Speech

Transfer Mode = Circuit

Transfer Rate = 64 kbit/s

Channel ID i = 0xA98397

Exclusive, Channel 23

Called Party Number i = 0x80, '99915550'

Plan:Unknown, Type:Unknown

...

Oct 15 08:27:46.003: ISDN Se2/0:23 Q931: RX <- CONNECT pd = 8  callref = 0x8003

Oct 15 08:27:46.003: ISDN Se2/0:23 Q931: TX -> CONNECT_ACK pd = 8  callref = 0x0003

Oct 15 08:27:52.003: %ISDN-6-CONNECT: Interface Serial2/0:22 is now connected to

99915550

...

Oct 15 08:30:11.735: //-1/E7B232638008/SMTPS/esmtp_server_engine_buf_mgmt:

buffer offset=1368, state=3

Oct 15 08:30:11.735: //-1/E7B232638008/SMTPS/esmtp_server_engine_dot_check:

Not found the terminating Dot!

Oct 15 08:30:11.739: //-1/E7B232638008/SMTPS/esmtp_server_engine_buf_mgmt:

state=3

Oct 15 08:30:11.739: //-1/E7B232638008/SMTPS/esmtp_server_engine_buf_mgmt:

buffer offset=1412, state=3

Oct 15 08:30:11.739: //-1/E7B232638008/SMTPS/esmtp_server_engine_dot_check:

Found the terminating Dot!

Oct 15 08:30:11.739: //-1/E7B232638008/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=10Oct 15 08:30:12.483: //-1/xxxxxxxxxxxx/SMTPS/

esmtp_server_engine_update_recipient_status:   faxmail status=6Oct 15 08:30:27.883:

//-1/xxxxxxxxxxxx/SMTPS/esmtp_server_engine_update_recipient_status:

faxmail status=7

路由器上的邮件服务器收到该消息。SMTP会话中的所有字段都会在路由器代码的不同级别进行解析，直到呼叫号码。需要注意的重要元素在几个配置步骤中列出。

在show running-config输出中，您看到：

- fax interface-type fax-mail

- 必须将OffRamp软件加载到闪存或FTP/TFTP服务器上。然后设置应用。例如，呼叫应用语音offramp flash:app_faxmail_offramp.2.0.1.1.tcl。

注意：用于OnRamp |OffRamp功能的工具命令语言(TCL)软件从思科下载(仅限注册客户)下载(仅限注册客户)。

- mta receive maximum <recipients> — 大于0的数字

- mta receive aliases <string> — 必须匹配DNS后缀。例如，如果来自Cisco Unity的电子邮件被发送到fax=912345@myrouter.com，则别名必须是myrouter.com。您可以有多个mta接收别名。

- mta send server <IP address of Exchange server> — 要发送DSN，网关必须连接到邮件服务器以传送邮件。只需配置一个Exchange服务器，但可以配置多个Exchange服务器。检查是否删除了所有无效的mta发送服务器地址。否则，始终使用列表中的第一个。

- mta receive generate permanent-error — 这是路由器正确将DSN发回Cisco Unity所必需的。

- 拨号对等体配置。例如：

dial-peer voice 5590 pots

destination-pattern 991….

port 2/0:23

forward-digits all

prefix 9

!

dial-peer voice 2 mmoip

application offramp

information-type fax

incoming called-number 991

dsn delayed

dsn success

dsn failure

!

如果消息未到达网关，则您必须排除Exchange故障。Exchange 2000中的诊断对此非常有用。例如：

已启用类别SMTP协议和连接管理器的MSExchangeTransport诊断。这位于Exchange System Manager中各个服务器属性下。当您发送消息时，在应用程序事件查看器日志中会看到错误。最常见的错误配置之一是，当路由器中的mta接收别名参数与电子邮件后缀不匹配时。例如，如果传真服务尝试将消息发送到fax=91234@router.abc.com，则网关必须配置mta receive aliases router.abc.com。

步骤 5：验证路由器是否发送DSN消息

这是生成的通知。为节省空间，省略部分跟踪。

Oct 15 08:30:41.739: //-1/E7B232638008/SMTPS/

esmtp_server_engine_generate_notification:

context(0x66CA9AC4)

Oct 15 08:30:41.739: //-1/E7B232638008/SMTPS/sendDSN:

context(0x66CA9AC4)

Oct 15 08:30:41.739: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_open:

from=, to=fax-unity2@vnt.com

Oct 15 08:30:41.739: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_open:exit@1866

Oct 15 08:30:41.739: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_add_headers:

from_comment=Fax Daemon

Oct 15 08:30:41.739: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_dispose_context:

exit@2109

Oct 15 08:30:41.739: //-1/E7B232638008/SMTPS/sendDSN:

DSN sent, context(0x66CA9AC4)

Oct 15 08:30:41.739: //-1/E7B232638008/SMTPS/

esmtp_server_engine_generate_notification:exit@35

Oct 15 08:30:41.739: //-1/E7B232638008/SMTPS/esmtp_server_engine_work_routine:

context(0x66CA9AC4), state=1

Oct 15 08:30:41.983: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_work_routine:

socket 0 readable for first time

Oct 15 08:30:41.983: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_work_routine:

socket 0 readable for first time

Oct 15 08:30:41.983: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 220 vnt2-ex1.vnt.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.6713

ready at  Thu, 14 Oct 2004 08:31:09 -0400

Oct 15 08:30:41.987: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: EHLO vnt-3725-51.gateway.com

Oct 15 08:30:41.987: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-vnt2-ex1.vnt.com Hello [14.80.51.14]

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-TURN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-ATRN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-SIZE

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-ETRN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-PIPELINING

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-DSN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-ENHANCEDSTATUSCODES

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-8bitmime

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-BINARYMIME

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-CHUNKING

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-VRFY

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-X-EXPS GSSAPI NTLM LOGIN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-X-EXPS=LOGIN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-AUTH GSSAPI NTLM LOGIN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-AUTH=LOGIN

Oct 15 08:30:42.463: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-X-LINK2STATE

Oct 15 08:30:42.467: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250-XEXCH50

Oct 15 08:30:42.467: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250 OK

Oct 15 08:30:42.467: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: MAIL FROM:<>

Oct 15 08:30:42.467: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:43.011: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250 2.1.0 <>....Sender OK

Oct 15 08:30:43.011: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: RCPT TO:

Oct 15 08:30:43.011: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:43.555: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 250 2.1.5 fax-unity2@vnt.com

Oct 15 08:30:43.555: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:44.103: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_getln:

(C)R: 354 Start mail input; end with .

Oct 15 08:30:44.103: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: Received:  by vnt-3725-51.gateway.com for  (with Cisco NetWorks);

Fri, 15 Oct 2004 08:30:44 +0000

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: To:

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: Message-ID: <00042004083044107@vnt-3725-51.gateway.com>

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: Date: Fri, 15 Oct 2004 08:30:44 +0000

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_write:

return code=0

Oct 15 08:30:44.107: //-1/xxxxxxxxxxxx/SMTPC/esmtp_client_engine_writeln:

(C)S: Subject: Delivery Status Notification

...

如果它不起作用，则配置中的mta send server命令必须设置为正确的Exchange服务器和端口（默认情况下为25）。在发送传真消息时，需要在mmoip拨号对等体上配置DSN，并且存在mta receive generate permanent-error命令。有时该命令不存在，或指向错误的邮件服务器。

注意：Cisco IOS配置允许您配置多个mta send server命令。但是，除非设备完全无法访问，否则只使用第一个设备。因此，当您更改mta发送服务器时，您必须删除前一个服务器。

如果您有Outlook或Outlook Express，并且您监控传真邮箱，则在IP传真服务在下一间隔内处理DSN之前，您会看到DSN已送达。

邮件正文包含邮件ID。以前是主题。消息正文底部附近提到错误。它们是ISDN Q.931错误代码的抽象。有关详细信息，请参阅附录。

同样有用的工具是Exchange邮件跟踪中心。它内置于Exchange 2000/2003 System Manager。邮件如下：

步骤 6：验证DSN消息是否已收到

当DSN消息位于IP传真服务的邮箱中时，请检查以确保其处理该消息。IpFaxSvc日志文件对此很有帮助。

"2004-10-14","08:31:30","Logging on to mailbox [VNT2-EX1\fax-unity2]"

"2004-10-14","08:31:30","CIpFaxCdoHelper::LogonToMailbox() name returned from

Logon is [fax unity2]""2004-10-14","08:31:30","Processing outbox, message count= 2"

"2004-10-14","08:31:30","CIpFaxCdoHelper::ProcessFaxOutbox() processing message

receipts"

"2004-10-14","08:31:30","CIpFaxCdoHelper::DetermineMessageDisposition()

current message subject=[Delivery Status Notification]"

"2004-10-14","08:31:30","CIpFaxCdoHelper::MessageIsReceipt() processing message,

type=[IPM.Note]""2004-10-14","08:31:30","CIpFaxCdoHelper::MessageIsReceipt()

processing message as DELIVERY STATUS NOTIFICATION"

消息将被处理。

"2004-10-14","08:31:30","CIpFaxMessageBodyParser::GetOriginalSubject

returning subject=[00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0DEF4

6B5F8EAF983C6C51200000005E5B30000E7E65E238D0DEF46B5F8EAF983C6C51200000005FB680000]"

"2004-10-14","08:31:30","CIpFaxMessageBodyParser::GetCauseCode returning cause

code =[16]"

原始主题从邮件的正文中解析。这允许您在数据库中查找消息。原因代码也解析为16。这是正常的呼叫清除。这些原因代码与Q.931原因代码相对应。有关原因代码的详细信息，请参阅Q.931 Disconnect Cause Codes。

该条目将安全地从数据库中删除并以状态0重新添加。

"2004-10-14","08:31:30","CIpFaxAdoHelper::Execute() Cmd=[DELETE

FROM tblIpFaxData WHERE MessageEntryID = '00000000377C58FB04A29C468DAB3CBC07D

7F94B0700E7E65E238D0DEF46B5F8EAF983C6C51200000005E5B20000E7E65E238D0DEF46B5F8

EAF983C6C51200000005F55A0000']"

"2004-10-14","08:31:30","_RecordsetPtr::Open(Select * from tblIpFaxData where

MessageEntryID = '00000000377C58FB04A29C468DAB3CBC07D7F94B0700E7E65E238D0DEF46

B5F8EAF983C6C51200000005E5B20000E7E65E238D0DEF46B5F8EAF983C6C51200000005F55A0000')

returned [0] rows - Code: 0x80004005. Method: CIpFaxAdoHelper::GetRecordSet.

[IpFaxAdoHelper.cpp::403]"

"2004-10-14","08:31:30","CIpFaxAdoHelper::Execute() Cmd=[INSERT INTO tblIpFaxData

(MessageEntryID, Status, ScratchDirectory, TifFileName, NdrErrorCode,

BusyCounter, RnaCounter, TimeFirstHandled) VALUES ('00000000377C58FB04A29C4

68DAB3CBC07D7F94B0700E7E65E238D0DEF46B5F8EAF983C6C51200000005E5B20000E7E65E

238D0DEF46B5F8EAF983C6C51200000005F55A0000', '0', 'C:\CommServer\unityMta\

IpFaxScratchpad', '2fd36f2af94d4137835928894fb397eb.tif', '0', '0', '0',

'2004-10-14 08:31:30')]"

两个邮件都会删除。当您检查出站传真邮件时，没有任何邮件。

2004-10-14","08:32:30","Processing outbox, message count= 0"

注意事项

这些是当前测试版本中存在的一些当前警告。有关解决这些问题的更新版本，请参阅IP传真配置向导或帮助文件。

- Cisco Bug ID CSCef61241(仅注册客户) — 出站IP传真无法呈现PDF。

- Cisco Bug ID CSCef61256(仅注册客户) — 出站IP传真无法处理Exchange 5.5的网关DSN。

- Cisco Bug ID CSCef96036(仅注册客户) — 当主题格式不正确时，IP传真服务应发送NDR。

- Cisco Bug ID CSCef96051(仅注册客户) — 出站IP传真服务封面应允许回叫号码。

- Cisco Bug ID CSCeg04158(仅注册客户)— IP传真服务应将带有未知附件的邮件发送给NDR。

- Cisco Bug ID CSCeg04180（仅限注册客户）— IP传真服务无法识别第三方传真工具中的最后一个分机。

- Cisco Bug ID CSCeg39033(仅注册客户)— IP Fax服务应允许您不呈现电子邮件正文。

- Cisco Bug ID CSCeg39046(仅注册客户)— IP传真呈现引擎和日志目录始终在C:驱动器。

- Cisco Bug ID CSCeg39100(仅注册客户)—IP传真服务应在多次呈现失败后NDR发送消息。

- Cisco Bug ID CSCeg45439(仅注册客户)— IP传真服务应允许确认传真发送到发件人。

- Cisco Bug ID CSCeg45666(仅注册客户)— IP传真服务应检查启动时的应用依赖项。

- Cisco Bug ID CSCeg46458(仅注册客户) — 停止IP传真服务应终止ODCDAEMON进程。

- Cisco Bug ID CSCeg52736(仅注册客户) — 在出站IP传真服务中，MaximumWait密钥不起作用。

Appendix

呈现引擎跟踪文件

以下是本文档中讨论的示例的跟踪。有两个文件。一个文件用于守护程序，另一个文件用于打印驱动程序。通常不需要这些。但是，为了比较目的，每个示例都包含一个示例。当您提交渲染引擎问题时，这些文件与常规IP传真日志一起需要。

ODCDAEMON.log

C:\ImgMaker\Conversion_Toolkit\log\ODCDAEMON.log

此文件经常使用，并且相当清晰。输入和输出文件在单独的部分列出，并列出响应代码。如果响应代码是正的，则指示呈现到输出TIF文件中的页数。负响应代码表示错误。检查进程作为运行的用户。这非常重要，因为用户必须能够打开各个应用以将其转换为TIF。

10/14/04 08:27:17

Start time: Thursday, October 14, 2004 08:27:17 AM

Daemon logged in as user: vnt2-u1-ms

Using registry root: HKEY_LOCAL_MACHINE

08:27:17: Pipe name: PrintDocDaemonPipe

08:27:17: Default printer name: ImageMaker DocCnvrt Driver

08:27:17: Registry server: <local>

08:27:17: Service started

08:27:19:

08:27:19: 10/14/04 08:27:19 ServiceRequest thread started

08:27:19: Processing 'Convert v1.0' request

08:27:19: Processing file: C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt

08:27:19: Output file: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:19: Printer name: ImageMaker DocCnvrt Driver

08:27:19: AppendTo filename set to C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:19: Input filename: C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt

08:27:19: Output filename: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:19: 0xE90: <10/14/04 08:27:19> StatusThread timeout value for jobstart: 60000

08:27:21: AutoShutdown feature activated

08:27:21: Sending response 1 to client

08:27:21: 10/14/04 08:27:21 ServiceRequest thread ended

08:27:21:

08:27:21: 10/14/04 08:27:21 ServiceRequest thread started

08:27:21: Processing 'Convert v1.0' request

08:27:21: Processing file: C:\CommServer\unityMta\IpFaxScratchpad\products.doc

08:27:21: Output file: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:21: Printer name: ImageMaker DocCnvrt Driver

08:27:21: AppendTo filename set to C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:21: Input filename: C:\CommServer\unityMta\IpFaxScratchpad\products.doc

08:27:21: Output filename: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:21: 0xEB8: <10/14/04 08:27:21> StatusThread timeout value for jobstart: 60000

08:27:23: AutoShutdown feature activated

08:27:23: Sending response 2 to client

08:27:23: 10/14/04 08:27:23 ServiceRequest thread ended

08:27:23:

08:27:23: 10/14/04 08:27:23 ServiceRequest thread started

08:27:23: Processing 'Convert v1.0' request

08:27:23: Processing file: C:\CommServer\unityMta\IpFaxScratchpad\cover.htm

08:27:23: Output file: C:\CommServer\unityMta\IpFaxScratchpad\

0188c93ff8194177b9f313edabc2ea73.tif

08:27:23: Printer name: ImageMaker DocCnvrt Driver

08:27:23: AppendTo filename set to C:\CommServer\unityMta\

IpFaxScratchpad\0188c93ff8194177b9f313edabc2ea73.tif

08:27:23: Input filename: C:\CommServer\unityMta\IpFaxScratchpad\cover.htm

08:27:23: Output filename: C:\CommServer\unityMta\IpFaxScratchpad\

0188c93ff8194177b9f313edabc2ea73.tif

08:27:23: 0xED8: <10/14/04 08:27:23> StatusThread timeout value for jobstart: 60000

08:27:24: AutoClose skipping window: <Print> with class: <#32770> because parent is IE6

08:27:24: AutoClose skipping window: <Print> with class: <#32770> because parent is IE6

08:27:26: AutoShutdown feature activated

08:27:26: Sending response 1 to client

08:27:26: 10/14/04 08:27:26 ServiceRequest thread ended

08:27:26:

08:27:26: 10/14/04 08:27:26 ServiceRequest thread started

08:27:26: Processing 'Convert v1.0' request

08:27:26: Processing file: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:26: Output file: C:\CommServer\unityMta\IpFaxScratchpad\

0188c93ff8194177b9f313edabc2ea73.tif

08:27:26: Printer name: ImageMaker DocCnvrt Driver

08:27:26: AppendTo filename set to C:\CommServer\unityMta\IpFaxScratchpad\

0188c93ff8194177b9f313edabc2ea73.tif

08:27:26: Input filename: C:\CommServer\unityMta\IpFaxScratchpad\render.tif

08:27:26: Output filename: C:\CommServer\unityMta\IpFaxScratchpad\

0188c93ff8194177b9f313edabc2ea73.tif

08:27:26: 0xEDC: <10/14/04 08:27:26> StatusThread timeout value for jobstart: 60000

08:27:29: AutoShutdown feature activated

08:27:29: Sending response 3 to client

08:27:29: 10/14/04 08:27:29 ServiceRequest thread ended

驱动程序日志

C:\log\ImageMaker DocCnvrt Driver.log

当您向思科技术支持提交渲染引擎问题时，必须执行此跟踪。

--------------------------------------->

Log session started: 04-10-14, 08:27:19 AM

Platform: WinNT 4.0

Release Compilation

pszPrinterName ImageMaker DocCnvrt Driver

pszAnsiFileName C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt

pszOutFileName C:\CommServer\unityMta\IpFaxScratchpad\render.tif

FileType:0 multiPages:1 command:2 timeout:1800

Entering pdcf_WriteInfoForControlDialog()

oppening file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.FWD"

to transfer data (printdoc.dll -> printdoc.exe dialog)

data flushed!

MS: 18808737

deleted file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

used to transfer data from dialog back to here!

MS: 18808737

Leaving pdcf_WriteInfoForControlDialog()

verb:[printto] params:["ImageMaker DocCnvrt Driver" "winspool" "Ne00:"]

lpFile:[C:\CommServer\unityMta\IpFaxScratchpad\MsgBody.txt]

Calling ShellExecuteEx()

MS: 18808737

ShellExecute() succeded

Calling pdcf_WaitForDoneFromControlDialog()

MS: 18808769

Entering pdcf_WaitForDoneFromControlDialog()

Monitoring cancel event: ImageMaker DocCnvrt Driver.printdoc.cancel

Event already exists [this is good]

fopen() failed

fread() failed

!DONE: timeout = 1799

reading file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

to get 'done' signal from dialog

MS: 18809776

ppd_trans_feedback.done = TRUE

Calling pdcf_WriteAckToControlDialog()

MS: 18809776

Entering pdcf_WriteAckToControlDialog

flushing 'done ack' signal to dialog

MS: 18809776

Have to wait

Leaving pdcf_WriteAckToControlDialog

Leaving pdcf_WaitForDoneFromControlDialog()

pdcf_WaitForDoneFromControlDialog() returned

MS: 18810425

Entering pdcf_CleanUpControlDialog()

MS: 18810425

Log session stopped: 04-10-14, 08:27:21 AM

--------------------------------------->

--------------------------------------->

Log session started: 04-10-14, 08:27:21 AM

Platform: WinNT 4.0

Release Compilation

pszPrinterName ImageMaker DocCnvrt Driver

pszAnsiFileName C:\CommServer\unityMta\IpFaxScratchpad\products.doc

pszOutFileName C:\CommServer\unityMta\IpFaxScratchpad\render.tif

FileType:0 multiPages:1 command:2 timeout:1800

Entering pdcf_WriteInfoForControlDialog()

oppening file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.FWD"

to transfer data (printdoc.dll -> printdoc.exe dialog)

data flushed!

MS: 18810518

deleted file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

used to transfer data from dialog back to here!

MS: 18810518

Leaving pdcf_WriteInfoForControlDialog()

verb:[printto] params:["ImageMaker DocCnvrt Driver" "winspool" "Ne00:"]

lpFile:[C:\CommServer\unityMta\IpFaxScratchpad\products.doc]

Calling ShellExecuteEx()

MS: 18810518

ShellExecute() succeded

Calling pdcf_WaitForDoneFromControlDialog()

MS: 18810561

Entering pdcf_WaitForDoneFromControlDialog()

Monitoring cancel event: ImageMaker DocCnvrt Driver.printdoc.cancel

Event already exists [this is good]

fopen() failed

fread() failed

!DONE: timeout = 1799

reading file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

to get 'done' signal from dialog

MS: 18811581

!DONE: timeout = 1798

reading file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

to get 'done' signal from dialog

MS: 18812585

ppd_trans_feedback.done = TRUE

Calling pdcf_WriteAckToControlDialog()

MS: 18812585

Entering pdcf_WriteAckToControlDialog

flushing 'done ack' signal to dialog

MS: 18812585

Have to wait

Leaving pdcf_WriteAckToControlDialog

Leaving pdcf_WaitForDoneFromControlDialog()

pdcf_WaitForDoneFromControlDialog() returned

MS: 18812858

Entering pdcf_CleanUpControlDialog()

MS: 18812858

Log session stopped: 04-10-14, 08:27:23 AM

--------------------------------------->

--------------------------------------->

Log session started: 04-10-14, 08:27:23 AM

Platform: WinNT 4.0

Release Compilation

pszPrinterName ImageMaker DocCnvrt Driver

pszAnsiFileName C:\CommServer\unityMta\IpFaxScratchpad\cover.htm

pszOutFileName C:\CommServer\unityMta\IpFaxScratchpad\

0188c93ff8194177b9f313edabc2ea73.tif

FileType:0 multiPages:1 command:2 timeout:1800

Entering pdcf_WriteInfoForControlDialog()

oppening file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.FWD"

to transfer data (printdoc.dll -> printdoc.exe dialog)

data flushed!

MS: 18812890

deleted file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

used to transfer data from dialog back to here!

MS: 18812890

Leaving pdcf_WriteInfoForControlDialog()

verb:[printto] params:["ImageMaker DocCnvrt Driver" "winspool" "Ne00:"]

lpFile:[C:\CommServer\unityMta\IpFaxScratchpad\cover.htm]

Calling ShellExecuteEx()

MS: 18812894

ShellExecute() succeeded

Calling pdcf_WaitForDoneFromControlDialog()

MS: 18812897

Entering pdcf_WaitForDoneFromControlDialog()

Monitoring cancel event: ImageMaker DocCnvrt Driver.printdoc.cancel

Event already exists [this is good]

fopen() failed

fread() failed

!DONE: timeout = 1799

fopen() failed

fread() failed

!DONE: timeout = 1798

reading file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

to get 'done' signal from dialog

MS: 18814909

ppd_trans_feedback.done = TRUE

Calling pdcf_WriteAckToControlDialog()

MS: 18814909

Entering pdcf_WriteAckToControlDialog

flushing 'done ack' signal to dialog

MS: 18814909

Have to wait

Leaving pdcf_WriteAckToControlDialog

Leaving pdcf_WaitForDoneFromControlDialog()

pdcf_WaitForDoneFromControlDialog() returned

MS: 18815620

Entering pdcf_CleanUpControlDialog()

MS: 18815620

Log session stopped: 04-10-14, 08:27:26 AM

--------------------------------------->

--------------------------------------->

Log session started: 04-10-14, 08:27:26 AM

Platform: WinNT 4.0

Release Compilation

pszPrinterName ImageMaker DocCnvrt Driver

pszAnsiFileName C:\CommServer\unityMta\IpFaxScratchpad\render.tif

pszOutFileName C:\CommServer\unityMta\IpFaxScratchpad\

0188c93ff8194177b9f313edabc2ea73.tif

FileType:0 multiPages:1 command:2 timeout:1800

Entering pdcf_WriteInfoForControlDialog()

oppening file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.FWD"

to transfer data (printdoc.dll -> printdoc.exe dialog)

data flushed!

MS: 18815632

deleted file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

used to transfer data from dialog back to here!

MS: 18815632

Leaving pdcf_WriteInfoForControlDialog()

verb:[printto] params:["ImageMaker DocCnvrt Driver" "winspool" "Ne00:"]

lpFile:[C:\CommServer\unityMta\IpFaxScratchpad\render.tif]

Calling ShellExecuteEx()

MS: 18815632

ShellExecute() succeded

Calling pdcf_WaitForDoneFromControlDialog()

MS: 18815659

Entering pdcf_WaitForDoneFromControlDialog()

Monitoring cancel event: ImageMaker DocCnvrt Driver.printdoc.cancel

Event already exists [this is good]

fopen() failed

fread() failed

!DONE: timeout = 1799

reading file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

to get 'done' signal from dialog

MS: 18816667

!DONE: timeout = 1798

reading file: "C:\ImgMaker\Conversion_Toolkit\ImageMaker DocCnvrt Driver.BWD"

to get 'done' signal from dialog

MS: 18817671

ppd_trans_feedback.done = TRUE

Calling pdcf_WriteAckToControlDialog()

MS: 18817671

Entering pdcf_WriteAckToControlDialog

flushing 'done ack' signal to dialog

MS: 18817671

Have to wait

Leaving pdcf_WriteAckToControlDialog

Leaving pdcf_WaitForDoneFromControlDialog()

pdcf_WaitForDoneFromControlDialog() returned

MS: 18818319

Entering pdcf_CleanUpControlDialog()

MS: 18818319

Log session stopped: 04-10-14, 08:27:29 AM

--------------------------------------->

Q.931断开原因代码

Code      Cause

0           Valid cause code not yet received

1           Unallocated (unassigned) number

2           No route to specified transit network (WAN)

3           No route to destination

4           send special information tone

5           misdialled trunk prefix.

6           Channel unacceptable

7           Call awarded and being delivered in an established channel

8           Prefix 0 dialed but not allowed

9           Prefix 1 dialed but not allowed

10          Prefix 1 dialed but not required

11          More digits received than allowed, call is proceeding

16          Normal call clearing

17          User busy

18          No user responding

19          no answer from user

21          Call rejected

22          Number changed

23          Reverse charging rejected

24          Call suspended

25          Call resumed

26          Non-selected user clearing

27          Destination out of order

28          Invalid number format (incomplete number)

29          Facility rejected

30          Response to STATUS ENQUIRY

31          Normal, unspecified

33          Circuit out of order

34          No circuit/channel available

35          Destination unattainable

37          Degraded service

38          Network (WAN) out of order

39          Transit delay range cannot be achieved

40          Throughput range cannot be achieved

41          Temporary failure

42          Switching equipment congestion

43          Access information discarded

44          Requested circuit channel not available

45          Pre-empted

46          Precedence call blocked

47          Resource unavailable - unspecified

49          Quality of service unavailable

50          Requested facility not subscribed

51          Reverse charging not allowed

52          Outgoing calls barred

53          Outgoing calls barred within CUG

54          Incoming calls barred

55          Incoming calls barred within CUG

56          Call waiting not subscribed

57          Bearer capability not authorized

58          Bearer capability not presently available

63          Service or option not available, unspecified

65          Bearer service not implemented

66          Channel type not implemented

67          Transit network selection not implemented

68          Message not implemented

69          Requested facility not implemented

70          Only restricted digital information bearer capability

is available

79          Service or option not implemented, unspecified

81          Invalid call reference value

82          Identified channel does not exist

83          A suspended call exists, but this call identity does not

84          Call identity in use

85          No call suspended

86          Call having the requested call identity has been cleared

87          Called user not member of CUG

88          Incompatible destination

89          Non-existent abbreviated address entry

90          Destination address missing, and direct call not subscribed

91          Invalid transit network selection (national use)

92          Invalid facility parameter

93          Mandatory information element is missing

95          Invalid message, unspecified

96          Mandatory information element is missing

97          Message type non-existent or not implemented

98          Message not compatible with call state or message type

non-existent or not implemented

99          information element nonexistant or not implemented

100         Invalid information element contents

101         Message not compatible with call state

102         Recovery on timer expiry

103         parameter non-existent or not implemented - passed on

111         Protocol error unspecified

127         Internetworking, unspecified

相关信息

- 语音技术支持

- 语音和统一通信产品支持

- Cisco IP 电话故障排除

- 技术支持和文档 - Cisco Systems