Unity Traces & Troubleshooting

90
© 2011 Cisco Systems, Inc. All rights reserved. 1 Unity Traces & Troubleshooting Michael Hollowell CCIE #4114 (Oct 4, 1998) UCBU – Senior Escalation Engineer rev: 06/06/11

description

Unity Traces & Troubleshooting. Michael Hollowell CCIE #4114 (Oct 4, 1998) UCBU – Senior Escalation Engineer rev: 06/06/11. Agenda. The playing field. Setting the traces. Customizing the traces. Gathering everything up. Diagnotistic Examples Q&A. On-line Troubleshooting Guides. - PowerPoint PPT Presentation

Transcript of Unity Traces & Troubleshooting

Page 1: Unity Traces & Troubleshooting

Unity Traces & Troubleshooting

Michael HollowellCCIE #4114 (Oct 4, 1998)

UCBU – Senior Escalation Engineerrev: 06/06/11

Page 2: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 2

Agenda

• The playing field.• Setting the traces.• Customizing the traces.• Gathering everything up.• Diagnotistic Examples• Q&A.

Page 3: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 3

On-line Troubleshooting Guides

Unity trouble shooting Guides

http://www.cisco.com/en/US/products/sw/voicesw/ps2237/prod_troubleshooting_guides_list.html

5.0 Trouble shooting Guide

http://www.cisco.com/en/US/docs/voice_ip_comm/unity/5x/troubleshooting/guide/ex/5xcutsgex.html

Page 4: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 4

The Playing Field – Ways to Trouble shoot

• Windows System / Application Event Log

• Diagnostic Logging via the Unity Diagnostic Tool (UDT)

• Port Status Monitor (2.0+)• GUSI (2.0 +)• Low Level Debugging• Miscellaneous Logs

Page 5: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 5

System / Application Log – Gathering Apps

• Eventvwr.exe -> Save Log File As...- .evt (GMT adjusted time)- .csv (current server time)

• GUSI (Gather Unity System Info. 2.x+)• UDT -> Gather Standard Logs

- AvCsMGr, App, & Sys Logs

Select Logs*Over a specified Time Frame

*Option to export App & Sys to CSV is there, by default it is not included

Page 6: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 6

Reading System/Application Logs• EVT

- eventvwr -> open log file…Should be opened on a Unity server of the same versionin order to decode events properly.*

- Unity Diagnostic Viewer• CSV

- Excel, Notepad, Word, etc.

* timestamps might not match Diags

Page 7: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 7

UDT Traces - Gathering

Correct way:Using UDT –> Gather log Files

Incorrect Way:Taking them dircectly from the \commserver\logs

directory unless otherwise specified.

Page 8: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 8

This is your log… This is your log formattedPlucked from the \commserver\logs directory:16:38:52:094,AvDiagnostics_MC,1225,3760,-1,,Notifier,24,John Doe,0,Text(0x1),Urgent Only 16:38:52:093,AvDiagnostics_MC,1221,5784,-1,,Notifier,20,0x5e90001,32,Any 16:38:52:125,AvDiagnostics_MC,1258,3760,-1,,Notifier,16,Queued,John [email protected]

Gathered from the UDT*:16:38:52:094 (AvDiagnostics_MC,1225,Notifier,24) [Thread 3760] John Doe has 0 messages of type Text(0x1) Urgent Only 16:38:52:093 (AvDiagnostics_MC,1221,Notifier,20) [Thread 5784] Ticket 0x5e90001 granted for resource 32 (requested Any) 16:38:52:125 (AvDiagnostics_MC,1258,Notifier,16) [Thread 3760] Queued SMTP task for mailuser=John Doe, addr#[email protected].

* You can format the unformatted logs by placing them into the \commserver\logs directory of the same Unity version from which the logs were pulled from and then use UDT to gather/format them.

Page 9: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 9

Port Status Monitor (2.x +)

• Replaced the Original Port Status Monitor (PSM)• Allows you to monitor the voiceports in real time• Unity version 4.2 and later• Latest version 2.0.2.4• Easiest tool for watching MWI activity and User

interaction.• Training Video:

ftp://ftpeng.cisco.com/lindborg/Unity42/NEWPSM.exe

Page 10: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 10

GUSI (2.0 +)

• Gather Unity System Information• Current Version 2.0.4• Key New Feature within 2.x

- Configuration Conformance Checking• Always check with ciscounitytools.com for latest version• Online help file:

http://ciscounitytools.com/Applications/Unity/GUSI/Help/GatherUnitySystemInfo.htm

Page 11: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 11

DebuggingAdvanced Use Only Windbg.exe

- May require Unity, Microsoft, or other 3rd party Symbols- Best to get a memory dump

Use “!analyze –v” dbgview.exe

- VMO client issues

Page 12: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 12

Miscellaneous Logs

\<os install>\system32\logfiles\...…\w3svc1\ex<#>.log…\HTTPERR\httperr1.log(www logs enable by default : PCA, SAweb)

…\smtpsvc1 (VPIM, Bridge, Text Paging, etc.)(must enable first on the protocol)

\<os install>\KB*.log (list of all KBs installed on the system)(can also use add/remove programs)

Page 13: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 13

Agenda

• The playing field.• Setting the traces.• Customizing the traces.• Gathering everything up.• Diagnotistic Examples• Q&A.

Page 14: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 14

Unity Architecture

Page 15: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 15

Unity ArchitectureFor More Information …

A lot more detail about the architecture diagram, with information about the Unity components and processes in it, can be found in these resources:

Unity Architecture Overview 4.0(3)Cisco Unity Deployment and Solutions Guide

We’re not going to go into quite that level of detail in this presentation, but we’ll do a couple of process walkthroughs to get an idea of how to understand and apply the architecture diagram.

Page 16: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 16

The Complexity of Unity DiagsMultiple Log Managers

AvCsMgr process

Log Manager diag_AvCsMgr_20060126_220003.txt

Log Manager

AvDSAD process

diag_AvDSAD_20060126_220003.txt

Each Unity process runs its own copy of the log manager, and creates its own diagnostic file.

Page 17: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 17

The Complexity of Unity DiagsComponent vs. Process Example

AvCsMgr process

MIU Component

Log Manager diag_AvCsMgr_20060126_220003.txt

Example: Gathering MIU Traces1. Set MIU Traces in Unity Diagnostic Tool2. Reproduce Behavior3. Use UDT to gather AvCsMgr diag file, because

the MIU component lives in the AvCsMgr process

Page 18: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 18

The Complexity of Unity DiagsSame Component, Different Processes

AvCsMgr process

CsBridgeConnector process

AvUmrSyncSvr process

DOH component

DOH component

DOH component

Some components run under more than one process.

For example, you can find output from DOH traces in diag files from each of several Unity processes.

Page 19: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 19

The Complexity of Unity DiagsSome Diag Files Are Outside the UDT

AvCsMgr process

Log Manager diag_AvCsMgr_20060126_220003.txt

UDT

Unity Setup tempu.logPWResults.htmlOsqlDump_

Page 20: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 20

\Commserver\Log File Naming Convention

diag_AvCsMgr_20060126_220003.txt

Diag = Diagnostic typeAvCsMgr = LogMgr owning Process20060126 = Date using YYYYMMDD220003 = Time using HHMMSS

Where the Date/Time is when the log file was CREATED.

Page 21: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 21

\commserver\logData Files

Take a good look at the Commserver\Logs directory, and you’ll notice some files obviously related to Unity components, that start with “data.”

These files are actually used to generate Unity reports, and are not a core part of the Unity diag functionality. They’re worth mentioning here, because people sometimes mistakenly gather them directly from the Commserver\Logs directory, thinking they are Unity diags.

Page 22: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 22

UDT – MACRO / MICROMACRO (as of 5.0.1)

MICRO (most components broken out)

AMIS Problems AMIS Message Traces Delays in Answering Calls Call Flow Diagnostics Conversation State Traces Bridge Directory Sync Traces VPIM Directory Sync Traces Directory Monitor Traces Call Control (Miu) Traces

Traces for MWI Problems Traces for other notification problems Skinny TSP traces Unity Startup Media (Wave) Traces 1 - High Media (Wave) Traces 2 - Medium Media (Wave) Traces 3 - Low Secure Messaging Traces Text to Speech (TTS) Traces

Page 23: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 23

Setting the Traces : Default Recommendations

• Look for a relevant MACRO trace• Always include :

- Conversation State Traces- Call Flow Diagnostics

• Additional Traces to focus on specific problem :- AvRdbSvr 11 (SQL query Generation)- DOH 10+ & MALEx 10+ (Exchange Mailbox issues)- notescommon 10+ & MALLn 10+ (Domino Issues)- AvSaDbConn 10+ (SAWeb add/modify/delete issues)- NodeMgr 10+ (Failover issues)- DSAD 10+ (Local Unity Objects to/from AD Sync)

- DSGlobalCatalog 10+ (Object not local to Unity to/from AD sync)- DSDomino 10+ (Unity/from to Domino Sync)

Page 24: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 24

Agenda

• The playing field.• Setting the traces.• Customizing the traces.• Gathering everything up.• Diagnotistic Examples• Q&A.

Page 25: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 25

Customizing Traces – Personal Macro

• Place/Review them at :\commserver\utilities\unitydiagnostictool\udtxml\

• Filename MUST start with H.• Filename MUST have an .xml extension.• File contents MUST be in XML format.• Example* : HTTAC-PhoneView.xml

*Complete PhoneView Trace in Notes Section

Page 26: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 26

Customized Macro Trace - Example<?xml version="1.0"?><GA NAME="Phone View">

<DESCRIPTION>These traces help you troubleshoot Cisco Unity Phone View Issues.</DESCRIPTION>

<TRACE NAME="For TAPI and SIP"><DESCRIPTION>These traces help you troubleshoot Cisco

Unity Phone View Issues.</DESCRIPTION> <DIAG GROUP="CDE">

<FLAG ID="01" /><FLAG ID="20" /><FLAG ID="21" /><FLAG ID="22" /><FLAG ID="23" />

</DIAG></TRACE>

</GA>

Page 27: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 27

Agenda

• The playing field.• Setting the traces.• Customizing the traces.• Gathering everything up.• Diagnotistic Examples• Q&A.

Page 28: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 28

UDT – Gathering Logs

• If not sure, gather all over a time frame- Note Time on the Unity Server - Recreate the Issue- Set start time to be the time from above- Gather for the default 1 hour

• Preferred :- Press Start New Log File- Recreate the Issue- Press Start New Log File- Gather ‘Select Logs’ grab the second one to

bottom

Page 29: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 29

Addition Information to include

• GUSI (Grab latest version available on unitytools.com)

• Unity Time when the issue was occurring.• Affected Subscriber, Distribution lists, DC/GC

Server, Exchange/Domino Servers, Port the call arrived on, etc.

• Background information (step by step of what was recreated)

• Working* vs. Non-working Trace*working can be a lab recreate using your own server

mocking up the customers environment if working is not available on the customers server.

Page 30: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 30

Quirky things to gather on the Unity Server

• Skinny shows up in SvcHost starting Unity 4.x and later.

• Permission Wizard:<logged in acct>\temp\PWResults.html

• Unexpected Notes terminations:

<lotus notes>\Data\IBM_Technical_Support (zip up entire directory)

Page 31: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 31

Personal Communication Assistant• Setup

\<logged in account>\temp\cscoserv_*.log\

• Application Logging\CommServer\Cscoserv\Tomcat\Logs\ciscopca*.txt

\<OS install>\system32\logfiles\w3svc1\ex<#>.log

Page 32: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 32

Unity Upgrade Failures• 5.x and later

\commserver\logs\tempu_<date/time>.log\<logged in account>\temp\syscheck.log\commserver\logs\osqldump_<date/time>.txt\commserver\logs\sqlsync_<#>.txt\commserver\logs\cfgCUApp_<date/time>.txt\Commserver\Logs\diag_Install_<date/time>.txt

• 4.x and earlier\<logged in account>\temp\tempu.log\<logged in account>\temp\syscheck.log\commserver\logs\osqldump_<date/time>.txt\commserver\logs\sqlsync_<#>.txt\commserver\logs\cfgCUApp_<date/time>.txt\Commserver\Logs\diag_Install_<date/time>.txt

Page 33: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 33

Exchange Server – Miscellaneous Logs

• Application and System Event Logs• Message Tracking (if delivery related – must be enabled)

- <Exchange Server Path>\Web.log • SMTP Logs (if routing off the local exchange server – must

be enabled)• IVC logs (Voice Connector – need to bump up the level)

- <Exchange Server Path>\VoiceGateway\logFiles - GwIvc_<date>.log (diags)- GwIvc_perf_<date>.log (perfs)

Page 34: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 34

Domino – Miscellaneous Logs

• Log.nsf - Tip : Create a blank NSF based on the log.ntf

template and cut/paste the relevant timeframe into it.- Has to be viewed via Notes client- 3 Categories :

Mail Routing, Replication, & Misc. Events • Message Tracking

- <domino>\data\mtdata\mtstore.nsf- Has to be viewed via Notes client

Page 35: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 35

Agenda

• The playing field.• Setting the traces.• Customizing the traces.• Gathering everything up.• Diagnotistic Examples• Q&A.

Page 36: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 36

Some General Techniques for Reading Diag Files

Use Find to look for strings seen elsewhereUse Findstr to filterWorking vs. Non-workingPay attention to timingBeware error reports by themselvesAssemble a story out the diag lines.

Page 37: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 37

Diagnostic Example – Basic Call Flow

Background: - Caller 8015 leaves a voicemail for 8005

Traces Enabled: (All found within UDT Macro)- All Call Flow Diag

- Conv State Traces- Call Control (Miu) Traces- Traces for MWI problems- SKinny TSP Traces

Traces Gathered:- AvCsMgr (diag_AvCsMgr_20110106_220000_fmtd.txt)- SvcHost (diag_svchost_20110106_220000_fmtd.txt)

Page 38: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 38

Diagnostic Example – Basic Call Flow

Unity Diagnostic Tool - Found in Tools Depot on the Unity Sever

Page 39: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 39

Diagnostic Example – Basic Call Flow

Last File listed within each tree is the most current diagnostic file

Page 40: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 40

Diagnostic Example – Basic Call Flow

Navigating the diag Files- Start backwards search starting from the bottom of the file (since this is the most current information)- Our example, a voicemail is being left for Extension 8005, so we will search for “8005”

10:59:25:772 **NOT FORMATTED**,AvDiagnostics_MC,162,4156,-1,,SkinnyTSP,12,[Thread 0x0000103C] [Device 6] StationCallInfoV2Message: Extracted CallerID='8015' () CalledID='8005' () RedirectReason=2=RfrCallFwdRNA LastRedirectingID='8005' () LastRedirectReason=2=RfrCallFwdRNA

- To isolate this call only, we can use the [Device 6] identifier

Page 41: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 41

Diagnostic Example – Basic Call Flow

To extract this one call flow use “Wingrep” or windows “find”

Example (from the windows CLI):

find "[Device 6]" .\diag_svchost_20110106_220000_fmtd.txt > .\call.txt

This will parse out all occurrences of [Device 6] and place them into a file named “call.txt”

Page 42: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 42

Diagnostic Example – Basic Call Flow10:59:25:771 **NOT FORMATTED**,AvDiagnostics_MC,162,4156,-1,,SkinnyTSP,12,[Thread

0x0000103C] [Device 6] Receive StationSetRingerMessage (20 bytes) ringMode=2=StationInsideRing ringDuration=1=StationNormalRing lineInstance=1 callReference=26043776

…10:59:25:771 **NOT FORMATTED**,AvDiagnostics_MC,162,4156,-1,,SkinnyTSP,24,[Thread

0x0000103C] [Device 6] CAvSkinnyCallStatus::SignalCallState: callState=4=TsRingIn callReference=26043776

…10:59:25:959 **NOT FORMATTED**,AvDiagnostics_MC,162,4156,-1,,SkinnyTSP,24,[Thread

0x0000103C] [Device 6] CAvSkinnyCallStatus::SignalCallState: callState=1=TsOffHook callReference=26043776

…10:59:25:960 **NOT FORMATTED**,AvDiagnostics_MC,162,4156,-1,,SkinnyTSP,24,[Thread

0x0000103C] [Device 6] CAvSkinnyCallStatus::SignalCallState: callState=5=TsConnected callReference=26043776

…10:59:52:162 **NOT FORMATTED**,AvDiagnostics_MC,162,4156,-1,,SkinnyTSP,12,[Thread

0x0000103C] [Device 6] Receive StationCallStateMessage (28 bytes) callState=2=TsOnHook lineInstance=1 callReference=26043776 privacy=0=PrivacyNone precedence=[precedenceLv=4 precedenceDm=0]

Callstates : 4=TsRingIn -> 1=TsOffHook -> 5=TsConnected -> 2=TsOnHook

Page 43: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 43

Diagnostic Example – Basic Call Flow

To find various call flows within AvCsMgr

Examplefind " CallInfo" .\diag_AvCsMgr_20110106_220000_fmtd.txt > callinfo.txt(Note there is a space after the first double quote before the callinfo word)

10:58:50:460 (AvDiagnostics_MC,2195,MiuGeneral,12) [Thread 4212] [Port 1] [B259F01316B443F58D74C607FDFF2976] [Thread 0x00001074] [Port 1] INTEGRATION CallInfo received (Origin Internal | Reason FwdNoAnswer | CallerID 8015 | CalledID 8005 | RedirectingID 8005).

10:59:25:772 (AvDiagnostics_MC,2195,MiuGeneral,12) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] [Thread 0x0000107C] [Port 1] INTEGRATION CallInfo received (Origin Internal | Reason FwdNoAnswer | CallerID 8015 | CalledID 8005 | RedirectingID 8005).

Since only two calls were found we will have to isolate the call in question via the time the call came in found via monitoring PSM or through SVCHost diag (in this case - 10:59:25 time frame).

*** To isolate, use the Call GUID : [8985A5D73D924EFABBE5CEAB14E778BA]

Page 44: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 44

Diagnostic Example – Basic Call Flow

Using the unique call guid, we can isolate a certain call within the AvCsMgr Diag:Example:find “[8985A5D73D924EFABBE5CEAB14E778BA]” .\diag_AvCsMgr_20110106_220000_fmtd.txt > callguid.txt

Page 45: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 45

Diagnostic Example – Basic Call FlowCall routing properly

10:59:25:772 (AvDiagnostics_MC,642,RulerDomain,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] CRulerDomain::FindFirstTrueRule: StartIndex=[0]

10:59:25:771 (AvDiagnostics_MC,1316,RulerDomain,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Evaluating Rule 'Attempt Forward to Greeting' in Domain 'Routing'.

10:59:25:772 (AvDiagnostics_MC,1319,RulerDomain,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Expression 'Reason IN 2 4 8 64' evaluates to true.

10:59:25:771 (AvDiagnostics_MC,1317,RulerDomain,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Rule 'Attempt Forward to Greeting' in Domain 'Routing' evaluated to TRUE.

10:59:25:772 (AvDiagnostics_MC,642,RulerDomain,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] CRulerDomain::FindFirstTrueRule: Rule evaluates to TRUE; Index=[1]

10:59:25:771 (AvDiagnostics_MC,1325,RulerDomain,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] First Rule to evaluate to TRUE in Domain 'Routing' is 'Attempt Forward to Greeting': Action='AttemptForward'.

Call Routing is decided upon based on whether the call was:- “Direct” call into Unity- “Forwarded” call into Unity

“Attempt Forward to Greeting” is one of the Unity’s default “Forwarded” rules

Page 46: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 46

Diagnostic Example – Basic Call Flow

Bad Forwarded routing rule 12:05:40:055 (AvDiagnostics_MC,642,RulerDomain,11) [Thread 4220] [Port 1]

[F12392F48B7E4A55AFDCEE298462574A] CRulerDomain::FindFirstTrueRule: StartIndex=[0] 12:05:40:056 (AvDiagnostics_MC,1316,RulerDomain,11) [Thread 4220] [Port 1]

[F12392F48B7E4A55AFDCEE298462574A] Evaluating Rule 'New-Rule' in Domain 'Routing'. 12:05:40:055 (AvDiagnostics_MC,1319,RulerDomain,11) [Thread 4220] [Port 1]

[F12392F48B7E4A55AFDCEE298462574A] Expression 'DialedNumber == 8005' evaluates to true. 12:05:40:056 (AvDiagnostics_MC,1319,RulerDomain,11) [Thread 4220] [Port 1]

[F12392F48B7E4A55AFDCEE298462574A] Expression 'Reason IN 2 4 8' evaluates to true. 12:05:40:055 (AvDiagnostics_MC,1317,RulerDomain,11) [Thread 4220] [Port 1]

[F12392F48B7E4A55AFDCEE298462574A] Rule 'New-Rule' in Domain 'Routing' evaluated to TRUE. 12:05:40:056 (AvDiagnostics_MC,642,RulerDomain,11) [Thread 4220] [Port 1]

[F12392F48B7E4A55AFDCEE298462574A] CRulerDomain::FindFirstTrueRule: Rule evaluates to TRUE; Index=[0] 12:05:40:055 (AvDiagnostics_MC,1325,RulerDomain,11) [Thread 4220] [Port 1]

[F12392F48B7E4A55AFDCEE298462574A] First Rule to evaluate to TRUE in Domain 'Routing' is 'New-Rule': Action='AD'

Page 47: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 47

Diagnostic Example – Basic Call Flow

“New-rule” was mistakenly added to Unity causing “Forwarded” calls to subscriber 8005 to go to a “Directory Handler” rather than the default “Attempt Forward”. This will only affect “Forwarded” calls into this subscriber and not a direct call from that subscriber.

Rules are evaluated from top to bottom, first “True” match will be executed.

Page 48: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 48

Diagnostic Example – Basic Call FlowPrompt Playout

10:59:26:444 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] [10:59:26] PhraseID - SystemStandard

10:59:26:443 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Prompt Name - C:\CommServer\Localize\Prompts\ENU\G711\AvPHGreet\AvPHGreetENU021.wav

10:59:26:444 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Prompt Name - C:\CommServer\Localize\Prompts\ENU\G711\AvCommon\Numbers\AvCommonENU208.wav

10:59:26:443 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Prompt Name - C:\CommServer\Localize\Prompts\ENU\G711\AvCommon\Numbers\AvCommonENU200.wav

10:59:26:444 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Prompt Name - C:\CommServer\Localize\Prompts\ENU\G711\AvCommon\Numbers\AvCommonENU200.wav

10:59:26:443 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Prompt Name - C:\CommServer\Localize\Prompts\ENU\G711\AvCommon\Numbers\AvCommonENU052.wav

10:59:26:444 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Prompt Name - C:\CommServer\Localize\Prompts\ENU\G711\AvPHGreet\AvPHGreetENU019.wav

10:59:26:443 (AvDiagnostics_MC,1394,PhraseServer,11) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Prompt Name - C:\CommServer\Localize\Prompts\ENU\G711\AvPHGreet\AvPHGreetENU016.wav

[AvPHGreetENU021]Text=Extension...

[AvCommonENU208]Text=eight (trailing)

[AvCommonENU200]Text=zero (trailing)

[AvCommonENU052]Text=five (leading)

[AvPHGreetENU019]Text=is not available.

[AvPHGreetENU016]Text=Record your message at the tone. When you are finished, hang-up or hold for more options.

prompts.ini file can be viewed in each directory for the text representation of each wav file

Page 49: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 49

Diagnostic Example – Basic Call FlowEnter / Leaving Functions 10:59:36:600 (**,-1,Conversation,1) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] [Port 1]

GetMailBoxStatusbyMailuser: Entering function File: E:\views\TBM17_view\un_Conv1\Scripted\ConvSub\PHGreeting.cpp Line: 1229

10:59:36:724 (AvDiagnostics_MC,1462,MALEx,12) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Mailbox - Logon cn=user 8015 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 on - Thread: 0000107CH Instance: 029531B8H

10:59:36:740 (**,-1,Conversation,12) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] [Port 1] GetMailBoxStatusbyMailuser: spMailUser->get_PrimaryMailbox(spMailbox.put()) returned: 0x00000000 File: E:\views\TBM17_view\un_Conv1\Scripted\ConvSub\PHGreeting.cpp Line: 1239

10:59:36:756 (AvDiagnostics_MC,1440,MALEx,12) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Diagnostic: Mailbox size is 47.00 KB

10:59:36:757 (AvDiagnostics_MC,1440,MALEx,12) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Diagnostic: Mailbox Send Receive Limit is 2411520.00K

10:59:36:756 (AvDiagnostics_MC,1440,MALEx,12) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Diagnostic: Mailbox Send Limit is 2097152.00K

10:59:36:757 (AvDiagnostics_MC,1440,MALEx,12) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Diagnostic: Mailbox Warning Limit is 1991680.00K

10:59:36:757 (**,-1,Conversation,1) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] [Port 1] GetMailBoxStatusbyMailuser: Leaving function hr=0x00000000 File: E:\views\TBM17_view\un_Conv1\Scripted\ConvSub\PHGreeting.cpp Line: 1274

hr=0x00000000 means successful

Page 50: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 50

Diagnostic Example – Basic Call Flow

10:59:26:335 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!Root]

10:59:26:366 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!PlayGreeting]

10:59:36:771 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!PlayPostGreetingRecording]

10:59:36:788 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!Java_PreRecord]

10:59:36:787 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!Play_PreRecordMsg]

10:59:36:787 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!Java_RecordMsg]

10:59:36:788 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!RecordMsg]

10:59:44:663 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!Java_RunEditMsg]

10:59:44:662 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!Play_RunEditMsg]

10:59:44:662 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!RunEditMsg]

10:59:44:741 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\messageediting.cde!PlayMessageMenu]

10:59:47:991 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\messageediting.cde!CheckMsgLength]

10:59:47:990 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\messageediting.cde!CheckForSecureMessagingForOutsideCallers]

10:59:47:990 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\messageediting.cde!SendMsg]

10:59:49:334 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\messageediting.cde!ConfirmSend]

10:59:51:005 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!AfterMsg]

10:59:52:177 (AvDiagnostics_MC,1394,CDE,10) [Thread 4220] [Port 1] [8985A5D73D924EFABBE5CEAB14E778BA] Port [1] Next state is [c:\commserver\localize\scripts\phgreeting.cde!DoHangup]

Page 51: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 51

Diagnostic Example – Basic Call Flow

Page 52: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 52

Diagnostics Example –MWI

• Unity relies on MAPI notifications from Exchange for message count updates

• MAPI notification register upon the startup of the AvMsgStoreMonitorSvr Service

Page 53: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 53

1. Mailstore sends Notification for- New message

- Message deleted- Message read

2. Monitor Receives Notification- Processes raw notification

6. MIU ultimately carries out the MWI ON/OFF request(s)

Exch or Dom Monitor Notifier

(caches MWI state)

NotifyQ

2

MWI TaskCreate

Aribiter

Resource Manager

Miu

TAPI

TSP

PBX/CallManager

Mailstore1

3

6

7

5

4

- Drops Notification into NotifyQ

3. Notifier Pops Event from NotifyQ

4. MWI Task created if MWI state needs to alter. May retry if needed.

5. Arbiter allocates a port for the MWI dial out

7. NotifyQ receives a SUCCESS or FAILURE notification which the Notifier processes. If SUCCESS, internal MWI state is altered.

The process for Generating an MWI Request

Page 54: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 54

Diagnostics Example –MWI 09:19:50:609 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6708] Received MonitorMailbox request for cn=user 8005 cn=Recipients

ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 09:19:50:671 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (Opening table. pContext->set_InboxTable(lpInboxTbl) for mailbox:

cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85) 09:19:50:672 (AvDiagnostics_MC,1440,MALEx,12) [Thread 6804] Diagnostic: CAvMALExSearchFolderHelpers::GetSearchFolder

(FilterNewMsg) 09:19:50:687 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (Loaded mailbox lpInboxTbl is pointing to:lpInboxTbl-

>SeekRowApprox(0 1).) 09:19:50:718 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (InboxTbl->QueryRows( ulMsgCount 0 &pRowSet ) returned with 3

rows in RowSet 1.) 09:19:50:719 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (AddToMessageCounts:MediaType=2 Priority=1 IsNew=Yes) 09:19:50:718 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (AddToMessageCounts:MediaType=2 Priority=1 IsNew=Yes) 09:19:50:719 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (AddToMessageCounts:MediaType=2 Priority=1 IsNew=Yes) 09:19:50:718 (AvDiagnostics_MC,1440,MALEx,12) [Thread 6804] Diagnostic: CAvMALExSearchFolderHelpers::GetSearchFolder

(FilterSavedMsgNoEmail) 09:19:50:734 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (Loaded mailbox lpInboxTbl is pointing to:lpInboxTbl-

>SeekRowApprox(0 1).) 09:19:50:735 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (InboxTbl->QueryRows( ulMsgCount 0 &pRowSet ) returned with 0

rows in RowSet 1.) 09:19:50:734 (AvDiagnostics_MC,642,ExchangeMonitor,12) [Thread 6804] (GetMessageCountPackage:Voice=3/0(0/0) Fax=0/0(0/0)

Text=0/0(0/0)) 09:19:50:735 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients

ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_STARTUP_MESSAGE_COUNTS) 09:19:50:734 (AvDiagnostics_MC,642,ExchangeMonitor,13) [Thread 6804] Inbox FID for cn=user 8005 cn=Recipients ou=Exchange

Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 = 0x18000000:0x00000001 09:19:50:735 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients

ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_STARTUP_MESSAGE_COUNTS)

Unity Startup, should see a line for each subscriber that is local to the Unity Server Message counts = {Normal New} / {Normal Read} ( {Urgent New} / {Urgent Read} )

Page 55: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 55

Diagnostics Example –MWI• Callin by subscriber “user 8005”, deletes 3 messages.• MAPI is very CHATTY.

09:25:04:072 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_MODIFIED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:04:073 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_READ)

09:25:04:072 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_READ)

09:25:04:275 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_MODIFIED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:04:276 (AvDiagnostics_MC,642,ExchangeMonitor,13) [Thread 6804] CAvMAPIAccessThread::OnNotifyOnThread() - TABLE_ROW_MODIFIED: no interesting changes no action required

09:25:04:462 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_DELETED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:04:463 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_OTHER)

09:25:04:462 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_OTHER)

09:25:05:853 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_MODIFIED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:05:854 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_READ)

09:25:05:853 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_READ)

09:25:05:868 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_MODIFIED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

Page 56: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 56

Diagnostics Example –MWI• AvMessageStoreMonitorSvr diag

09:25:05:869 (AvDiagnostics_MC,642,ExchangeMonitor,13) [Thread 6804] CAvMAPIAccessThread::OnNotifyOnThread() - TABLE_ROW_MODIFIED: no interesting changes no action required

09:25:05:931 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_DELETED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:05:932 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_OTHER)

09:25:05:931 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_OTHER)

09:25:07:431 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_MODIFIED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:07:432 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_READ)

09:25:07:431 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_READ)

09:25:07:493 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_MODIFIED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:07:494 (AvDiagnostics_MC,642,ExchangeMonitor,13) [Thread 6804] CAvMAPIAccessThread::OnNotifyOnThread() - TABLE_ROW_MODIFIED: no interesting changes no action required

09:25:07:525 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received (TABLE_ROW_DELETED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010))

09:25:07:526 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_OTHER)

09:25:07:525 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_OTHER)

Page 57: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 57

Unity Architecture

Page 58: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 58

Diagnostics Example –MWI

• AvNotifier taking the PushEvent and popping them off the queue• Diags from one of the three messages being deleted

09:25:04:072 (AvDiagnostics_MC,1212,Notifier,21) [Thread 5740] NotifyQ popped eNOTIFYQ_ACTION_MSG_READ [3], mailbox='cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85', arg1=2, arg2=3, arg3=1, varMessageData=<empty> (VT_EMPTY).

09:25:04:073 (AvDiagnostics_MC,642,Notifier,24) [Thread 5740] (DeleteFromMessageCounts:MediaType=Voice(0x2) Priority=Normal Status=New)

09:25:04:072 (AvDiagnostics_MC,642,Notifier,24) [Thread 5740] (AddToMessageCounts:MediaType=Voice(0x2) Priority=Normal Status=Saved)

09:25:04:103 (AvDiagnostics_MC,1225,Notifier,24) [Thread 5740] user 8005 has 2 messages of type Voice(0x2) Urgent and Normal

09:25:04:104 (AvDiagnostics_MC,1225,Notifier,24) [Thread 5740] user 8005 has 0 messages of type Voice(0x2) Urgent Only

09:25:04:103 (AvDiagnostics_MC,1223,Notifier,12) [Thread 5740] user 8005:MWI-1(8005), 2 messages (message just Deleted), current status On, current attempt None

Page 59: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 59

Diagnostics Example –MWI• AvNotifierMgr (continued)• Diags from the last messages being deleted and MWI task being

executed

09:25:07:525 (AvDiagnostics_MC,1225,Notifier,24) [Thread 5740] user 8005 has 0 messages of type Voice(0x2) Urgent and Normal

09:25:07:526 (AvDiagnostics_MC,1225,Notifier,24) [Thread 5740] user 8005 has 0 messages of type Voice(0x2) Urgent Only

09:25:07:525 (AvDiagnostics_MC,1223,Notifier,12) [Thread 5740] user 8005:MWI-1(8005), 0 messages (message just Deleted), current status On, current attempt Off

09:25:11:571 (AvDiagnostics_MC,1221,Notifier,20) [Thread 6976] Ticket 0x1 granted for resource 2 (requested Any) 09:25:11:572 (AvDiagnostics_MC,1191,Notifier,12) [Thread 4128] MWI Device - MWI Entry AV_MWI_OFF Received: Task

user 8005 8005 taskid 1294755907, Port 2 09:25:11:571 (AvDiagnostics_MC,642,Notifier,12) [Thread 4128] (Message Counts NamedProps:Voice=0/0(0/0) Fax=0/0(0/0)

Text=0/0(0/0) SendCounts=No) 09:25:11:603 (AvDiagnostics_MC,642,Notifier,12) [Thread 4128] m_pMWIDevice->GetArbiter()->SetMWI(8005 | ) returned

[0x00000000; S_OK] 09:25:11:604 (AvDiagnostics_MC,1212,Notifier,21) [Thread 5740] NotifyQ popped

eNOTIFYQ_ACTION_MWIOFF_COMPLETE [8], mailbox='cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85', arg1=2, arg2=0, arg3=0, varMessageData='MWI-1' (VT_BSTR).

09:25:11:603 (AvDiagnostics_MC,1250,Notifier,12) [Thread 5740] Decrement Off attempts for 8005 ON=0, OFF=0 09:25:11:618 (AvDiagnostics_MC,1194,Notifier,12) [Thread 4128] Completed MWI task for mailuser=user 8005,

extension=8005, switchID=0, status=Off

Page 60: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 60

Diagnostics Example –MWI• SvcHost diags• We know: Port 1 = [Device 6], therefore [Device 7]=

Port 2 09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,8172,-1,,SkinnyTSP,18,[Thread 0x00001FEC] [Device 7] CAvTapiLine::SetMwi: szExtension='8005' fMWIon=false pfnCompletionProc=0x4b666a0b dwRequestID=66189

09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,8172,-1,,SkinnyTSP,13,[Thread 0x00001FEC] [Device 7] Send StationOffHookWithCgpnMessage (28 bytes) callingPartyNumber='8005' (cgpnVoiceMailbox) (lineInstance)

09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,8172,-1,,SkinnyTSP,21,[Thread 0x00001FEC] [Device 7] CSkinny::GenerateDigits lpszDigits='1000' bUseInterDigitDelay=NoDelay

09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,8172,-1,,SkinnyTSP,11,[Thread 0x00001FEC] [Device 7] CAvSkinnyCallStatus::RequestStateTransition - RequestedState=<Initiate MWI> (CurrentState=<Idle>)

09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,8172,-1,,SkinnyTSP,11,[Thread 0x00001FEC] [Device 7] CAvSkinnyCallStatus::AdvanceCurrentState - Old CallState=<Idle> New CallState=<Initiate MWI>

09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,8172,-1,,SkinnyTSP,11,[Thread 0x00001FEC] [Device 7] CAvSkinnyCallStatus::RequestStateTransition - RequestedState=<Wait For MWI Response> (CurrentState=<Initiate MWI>)

09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,8172,-1,,SkinnyTSP,11,[Thread 0x00001FEC] [Device 7] CAvSkinnyCallStatus::AdvanceCurrentState - Old CallState=<Initiate MWI> New CallState=<Wait For MWI Response>

...09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,12,[Thread 0x00000940] [Device 7] Receive

StationCallStateMessage (28 bytes) callState=1=TsOffHook lineInstance=1 callReference=26043803 privacy=0=PrivacyNone precedence=[precedenceLv=4 precedenceDm=0]

...09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,12,[Thread 0x00000940] [Device 7] Receive

StationStartToneMessage (20 bytes) tone=33=DtInsideDialTone lineInstance=1 callReference=26043803 ... 09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,12,[Thread 0x00000940] [Device 7] Receive

StationDialedNumberMessage (36 bytes) dialedNumber='1000' lineInstance=1 callReference=26043803

“1000” is the MWI off code

Page 61: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 61

Diagnostics Example –MWI• SvcHost (Continued)• Since we reach the “TsProceed” state, MWI code must be good.

09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,12,[Thread 0x00000940] [Device 7] Receive StationCallStateMessage (28 bytes) callState=12=TsProceed lineInstance=1 callReference=26043803 privacy=0=PrivacyNone precedence=[precedenceLv=4 precedenceDm=0]

09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,12,[Thread 0x00000940] [Device 7] Processing StationCallStateMessage

09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,11,[Thread 0x00000940] [Device 7] CAvSkinnyCallStatus::AdvanceCurrentState - Old CallState=<Wait For MWI Response> New CallState=<MWI Success>

09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,24,[Thread 0x00000940] [Device 7] CAvSkinnyCallStatus::SignalCallState: callState=12=TsProceed callReference=26043803

09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,24,[Thread 0x00000940] [Device 7] CAvSkinnyCallStatus::SignalMWISuccess

09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,11,[Thread 0x00000940] [Device 7] CAvSkinnyCallStatus::RequestStateTransition - RequestedState=<Wait For MWI Drop> (CurrentState=<MWI Success>)

09:25:11:588 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,11,[Thread 0x00000940] [Device 7] CAvSkinnyCallStatus::AdvanceCurrentState - Old CallState=<MWI Success> New CallState=<Wait For MWI Drop>

09:25:11:587 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,11,[Thread 0x00000940] [Device 7] CAvSkinnyCallStatus::SetTransitionTimeout - dwTimeoutMS=2000 (CurrentState=<Wait For MWI Drop>)

09:25:11:603 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,12,[Thread 0x00000940] [Device 7] Receive StationCallStateMessage (28 bytes) callState=2=TsOnHook lineInstance=1 callReference=26043803 privacy=0=PrivacyNone precedence=[precedenceLv=4 precedenceDm=0]

09:25:11:604 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,12,[Thread 0x00000940] [Device 7] Processing StationCallStateMessage

09:25:11:603 **NOT FORMATTED**,AvDiagnostics_MC,162,2368,-1,,SkinnyTSP,11,[Thread 0x00000940] [Device 7] CAvSkinnyCallStatus::AdvanceCurrentState - Old CallState=<Wait For MWI Drop> New CallState=<Idle>

Page 62: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 62

Diagnostics Example –MWI

• New Voicemail left for subscriber ‘user 8005’.• AvMsgStoreMonitorSvr Diags.• If No Table notifications, chances are mailbox(s) have gone

unmonitored. 09:38:33:040 (AvDiagnostics_MC,1083,ExchangeMonitor,13) [Thread 6804] [Thread 0x00001A94] Table notification received

(TABLE_ROW_ADDED for cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 (EX2010)) 09:38:33:041 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] PostNotifyQPushEvent (Mailbox: cn=user 8005 cn=Recipients

ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_NEW) 09:38:33:040 (AvDiagnostics_MC,644,ExchangeMonitor,13) [Thread 6804] IAvNotifyQ::PushEvent (Mailbox: cn=user 8005 cn=Recipients

ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85 Action: eNOTIFYQ_ACTION_MSG_NEW)

Page 63: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 63

Diagnostics Example –MWIAvNotifierSvr Diags

09:38:33:040 (AvDiagnostics_MC,1212,Notifier,21) [Thread 5740] NotifyQ popped eNOTIFYQ_ACTION_MSG_NEW [2], mailbox='cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85', arg1=2, arg2=3, arg3=1, varMessageData= (VariantType:0x00002011).

09:38:33:041 (AvDiagnostics_MC,642,Notifier,24) [Thread 5740] (AddToMessageCounts:MediaType=Voice(0x2) Priority=Normal Status=New) 09:38:33:056 (AvDiagnostics_MC,1225,Notifier,24) [Thread 5740] user 8005 has 1 messages of type Voice(0x2) Urgent and Normal 09:38:33:057 (AvDiagnostics_MC,1225,Notifier,24) [Thread 5740] user 8005 has 0 messages of type Voice(0x2) Urgent Only 09:38:33:056 (AvDiagnostics_MC,1223,Notifier,12) [Thread 5740] user 8005:MWI-1(8005), 1 messages (message just Added), current status Off,

current attempt None 09:38:33:072 (AvDiagnostics_MC,1194,Notifier,12) [Thread 5740] Queued MWI task for mailuser=user 8005, extension=8005, switchID=0,

status=On 09:38:33:087 (AvDiagnostics_MC,1205,Notifier,20) [Thread 5740] Ticket 0x10001 request made for resource Any (caps=4 switch=0 cluster=0) for

Task user 8005 MWI-1 taskid 2 09:38:33:088 (AvDiagnostics_MC,642,Notifier,12) [Thread 5740] Increment On attempts for 8005 (throttled=false) ON=1 OFF=0 09:38:33:087 (AvDiagnostics_MC,1221,Notifier,20) [Thread 7072] Ticket 0x10001 granted for resource 2 (requested Any) 09:38:33:088 (AvDiagnostics_MC,1191,Notifier,12) [Thread 4128] MWI Device - MWI Entry AV_MWI_ON Received: Task user 8005 8005 taskid

1294756713, Port 2 09:38:33:087 (AvDiagnostics_MC,642,Notifier,12) [Thread 4128] (Message Counts NamedProps:Voice=1/0(0/0) Fax=0/0(0/0) Text=0/0(0/0)

SendCounts=No) 09:38:33:119 (AvDiagnostics_MC,642,Notifier,12) [Thread 4128] m_pMWIDevice->GetArbiter()->SetMWI(8005 | ) returned [0x00000000; S_OK] 09:38:33:120 (AvDiagnostics_MC,1212,Notifier,21) [Thread 5740] NotifyQ popped eNOTIFYQ_ACTION_MWION_COMPLETE [7],

mailbox='cn=user 8005 cn=Recipients ou=Exchange Administrative Group (FYDIBOHF23SPDLT) o=EFT 85', arg1=2, arg2=0, arg3=0, varMessageData='MWI-1' (VT_BSTR).

09:38:33:119 (AvDiagnostics_MC,1250,Notifier,12) [Thread 5740] Decrement On attempts for 8005 ON=0, OFF=0 09:38:33:134 (AvDiagnostics_MC,1194,Notifier,12) [Thread 4128] Completed MWI task for mailuser=user 8005, extension=8005, switchID=0,

status=On

“Increment On Attempts… ON=1 OFF=0” : means first attempt to turn on

Page 64: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 64

Diagnostics Example –Directory Syncs

• DSAD for object owned by the local Unity Server• DsGlobalCatalog for all other objects• Windows Application Event Log Messages

Event Type: InformationEvent Source: CiscoUnity_DSADEvent Category: Init Event ID: 1002Date: 1/11/2011Time: 9:49:08 AMUser: N/AComputer: UNITY803Description: AvDSAD service

started.

Event Type: InformationEvent Source: CiscoUnity_DSADEvent Category: Stop Event ID: 1003Date: 1/11/2011Time: 9:47:45 AMUser: N/AComputer: UNITY803Description: AvDSAD service

stopped.

Event Type: Information Event Source: CiscoUnity_DSGC Event Category:Init Event ID: 1003 Date: 1/11/2011 Time: 9:49:10 AM User: N/A Computer: UNITY803 Description: AvDSGlobalCatalog service started.

Event Type: InformationEvent Source: CiscoUnity_DSGCEvent Category: Stop Event ID: 1004Date: 1/11/2011Time: 9:47:45 AMUser: N/AComputer: UNITY803Description: AvDSGlobalCatalog

service stopped.

Page 65: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 65

Directory Object SyncsDSAD GlobalCatalog

Local Mail User Local Location Scope DL

Mail Store Lists Unity Server Objects Remote Location Objects

Remote Mail Users Distribution Lists

Page 66: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 66

Diagnostics Example –Directory Syncs

Sync Intervals (defaults shown from GUSI output) Global Catalog Server = AD.eft.ucbu.local Sync Interval = 15 min(s)Domain Controllers (Domain : DC) eft.ucbu.local : AD.eft.ucbu.local Sync Interval = 2 min(s)

Amount of Information allowed per syncUSN <= 5000 or 100 MB (prior to Unity 7)USN <= 1000000 or 100 MB (Unity 7+ but works on all)

Page 67: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 67

Diagnostics Example –Directory Syncs

DC/GC Reconnect Tool (tools depot) initiates full resync

Event Type: Information Event Source: CiscoUnity_DSAD Event Category:Info Event ID: 1095 Date: 1/11/2011 Time: 9:54:14 AM User: N/A Computer: UNITY803 Description: The Cisco Unity service that monitors Active Directory

(AvDSAD) started a full synchronization cycle with AD.eft.ucbu.local. A message will be written to the event log when this synchronization cycle is complete.

Event Type: InformationEvent Source: CiscoUnity_DSADEvent Category: Info Event ID: 1094Date: 1/11/2011Time: 9:54:14 AMUser: N/AComputer: UNITY803Description:The Cisco Unity service that monitors Active Directory

(AvDSAD) completed a full synchronization cycle with AD.eft.ucbu.local.

Page 68: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 68

Diagnostics Example –Directory Syncs

DSAD Diags

09:49:08:606 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Beginning Synchronization. ... 09:49:09:106 (AvDiagnostics_MC,1520,DSAD,17) [Thread 7600] Started synchronizing domain [eft.ucbu.local]. ... 09:49:09:310 (AvDiagnostics_MC,1493,DSAD,15) [Thread 7600] Entering CAvDSADConfig::get_MaxChangeQueueMegaBytes 09:49:09:325 (AvDiagnostics_MC,1495,DSAD,15) [Thread 7600] Exiting CAvDSADConfig::get_MaxChangeQueueMegaBytes [S_OK: The

operation completed successfully. ] 09:49:09:326 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] DirChangeQueue size is 0MB MaxChangeQueueMB is 100MB. ... 09:49:09:403 (AvDiagnostics_MC,1493,DSAD,12) [Thread 7600] Entering CAvADConnection::Connect 09:49:09:404 (AvDiagnostics_MC,1503,DSAD,12) [Thread 7600] Connecting to server: AD.eft.ucbu.local. ... 09:49:09:404 (AvDiagnostics_MC,1495,DSAD,12) [Thread 7600] Exiting CAvADConnection::Connect [S_OK: The operation completed

successfully. ]

Page 69: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 69

Diagnostics Example –Directory Syncs

• DSAD Daigs (continued)• Current Highest USN - Previous Highest USN = 9 changes• Not all AD changes deal with Unity

09:49:09:435 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] 9 directory changes occurred since previous synch. Querying against the next 9 changes.

09:49:09:434 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Previous highest USN: 56276 Current highest USN: 56285 MaxUSNIncrement: 1000000. ...

09:49:09:450 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Changed MailUser LDAP filter: (&(ciscoEcsbuObjectType=1)(|(ciscoEcsbuUMLocationObjectId=\01\00\07\00\30\00\39\00\3A\00\7B\00\39\00\44\00\33\00\42\00\32\00\41\00\38\00\45\00\2D\00\38\00\38\00*))(uSNChanged>=56277)).

09:49:09:451 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Deleted MailUser LDAP filter: (&(ciscoEcsbuObjectType=1)(isDeleted=TRUE)(uSNChanged>=56277)).

... 09:49:09:451 (AvDiagnostics_MC,1495,DSAD,1) [Thread 7600] Exiting CAvADSearch::Next [S_ADS_NOMORE_ROWS: <unknown>] 09:49:09:450 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Enqueued 0 change requests of type AV_DIRCHANGE_MODIFY for

AVOBJECTTYPE_MAILUSER objects. ... 09:49:09:467 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Enqueued 0 change requests of type AV_DIRCHANGE_DELETE for

AVOBJECTTYPE_MAILUSER objects.

Page 70: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 70

Diagnostics Example –Directory Syncs

DSAD Diags (continued) 09:49:09:482 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Changed Location LDAP filter: (&(ciscoEcsbuObjectType=9)(|

(ciscoEcsbuUMLocationObjectId=\01\00\07\00\30\00\39\00\3A\00\7B\00\39\00\44\00\33\00\42\00\32\00\41\00\38\00\45\00\2D\00\38\00\38\00*))(uSNChanged>=56277)).

09:49:09:481 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Deleted Location LDAP filter: (&(ciscoEcsbuObjectType=9)(isDeleted=TRUE)(uSNChanged>=56277)).

... 09:49:09:497 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Enqueued 0 change requests of type AV_DIRCHANGE_MODIFY for

AVOBJECTTYPE_LOCATION objects. ... 09:49:09:498 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Enqueued 0 change requests of type AV_DIRCHANGE_DELETE for

AVOBJECTTYPE_LOCATION objects. ... 09:49:09:528 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Changed ScopeDL LDAP filter: (&(objectCategory=group)

(uSNChanged>=56277)). 09:49:09:529 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Deleted ScopeDL LDAP filter: (&(isDeleted=TRUE)(uSNChanged>=56277)(|(!

(ciscoEcsbuUMLocationObjectId=*))(ciscoEcsbuUMLocationObjectId=2))). ... 09:49:09:575 (AvDiagnostics_MC,1503,DSAD,17) [Thread 7600] Finished synchronization.

ScopeDL : Scope Distribution List

Page 71: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 71

Diagnostics Example –Directory SyncsDsGlobalCatalog Diags

09:49:10:200 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Beginning Synchronization. ... 09:49:10:606 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] 12 directory changes occurred since previous synch. Querying

against the next 12 changes. 09:49:10:607 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Previous highest USN: 56274 Current highest USN: 56286

MaxUSNIncrement: 1000000. ... 09:49:10:794 (AvDiagnostics_MC,1689,DSGlobalCatalog,15) [Thread 1216] Method CAvDSGCConfig::get_DefaultMailboxStoreFilter exited

[0x00000000: S_OK]. 09:49:10:795 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Changed Mailboxstore LDAP filter: (&(objectCategory=CN=ms-Exch-

Private-MDB CN=Schema CN=Configuration DC=eft DC=ucbu DC=local)(uSNChanged>=56275)). 09:49:10:794 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing changed AVOBJECTTYPE_MAILBOX_STORE

objects. LDAP Filter: (&(objectCategory=CN=ms-Exch-Private-MDB CN=Schema CN=Configuration DC=eft DC=ucbu DC=local)(uSNChanged>=56275)).

... 09:49:10:809 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_MODIFY for

AVOBJECTTYPE_MAILBOX_STORE objects. ... 09:49:10:841 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing deleted AVOBJECTTYPE_MAILBOX_STORE objects.

LDAP Filter: (&(uSNChanged>=56275)(&(objectclass=msExchPrivateMDB)(isdeleted=TRUE))). ... 09:49:10:842 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_DELETE for

AVOBJECTTYPE_MAILBOX_STORE objects.

Page 72: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 72

Diagnostics Example –Directory SyncsDSGlobalCatallog (continued)

09:49:10:889 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Changed Server LDAP filter: (&(ciscoEcsbuObjectType=14)(ciscoEcsbuUMLocationObjectId=*)(uSNChanged>=56275)).

09:49:10:889 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing changed AVOBJECTTYPE_SERVER objects. LDAP Filter: (&(ciscoEcsbuObjectType=14)(ciscoEcsbuUMLocationObjectId=*)(uSNChanged>=56275)).

... 09:49:10:903 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_MODIFY for

AVOBJECTTYPE_SERVER objects. ... 09:49:10:935 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Deleted Server LDAP filter: (&(ciscoEcsbuObjectType=14)

(uSNChanged>=56275)(isDeleted=TRUE)). 09:49:10:935 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing deleted AVOBJECTTYPE_SERVER objects. LDAP

Filter: (&(ciscoEcsbuObjectType=14)(uSNChanged>=56275)(isDeleted=TRUE)). ... 09:49:10:950 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_DELETE for

AVOBJECTTYPE_SERVER objects. ... 09:49:10:998 (AvDiagnostics_MC,1694,DSGlobalCatalog,15) [Thread 1216] DefaultLocationIdForLDAPQuery value: [\

01\00\07\00\30\00\39\00\3A\00\7B\00\39\00\44\00\33\00\42\00\32\00\41\00\38\00\45\00\2D\00\38\00\38\00*]. 09:49:10:998 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Changed Location LDAP filter: (&(ciscoEcsbuObjectType=9)

(ciscoEcsbuUMLocationObjectId=*)(!(ciscoEcsbuUMLocationObjectId=\01\00\07\00\30\00\39\00\3A\00\7B\00\39\00\44\00\33\00\42\00\32\00\41\00\38\00\45\00\2D\00\38\00\38\00*))(uSNChanged>=56275)).

09:49:10:997 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing changed AVOBJECTTYPE_LOCATION objects. LDAP Filter: (&(ciscoEcsbuObjectType=9)(ciscoEcsbuUMLocationObjectId=*)(!(ciscoEcsbuUMLocationObjectId=\01\00\07\00\30\00\39\00\3A\00\7B\00\39\00\44\00\33\00\42\00\32\00\41\00\38\00\45\00\2D\00\38\00\38\00*))(uSNChanged>=56275)).

... 09:49:11:013 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_MODIFY for

AVOBJECTTYPE_LOCATION objects.

Page 73: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 73

Diagnostics Example –Directory Syncs

DSGlobalCatalog (continued) 09:49:11:045 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Deleted Location LDAP filter: (&(ciscoEcsbuObjectType=9)

(isDeleted=TRUE)(uSNChanged>=56275)). 09:49:11:044 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing deleted AVOBJECTTYPE_LOCATION objects. LDAP

Filter: (&(ciscoEcsbuObjectType=9)(isDeleted=TRUE)(uSNChanged>=56275)). ... 09:49:11:045 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_DELETE for

AVOBJECTTYPE_LOCATION objects. ... 09:49:11:107 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Changed MailUser LDAP filter: (&(ciscoEcsbuObjectType=1)

(ciscoEcsbuUMLocationObjectId=*)(!(ciscoEcsbuUMLocationObjectId=\01\00\07\00\30\00\39\00\3A\00\7B\00\39\00\44\00\33\00\42\00\32\00\41\00\38\00\45\00\2D\00\38\00\38\00*))(uSNChanged>=56275)).

09:49:11:106 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing changed AVOBJECTTYPE_MAILUSER objects. LDAP Filter: (&(ciscoEcsbuObjectType=1)(ciscoEcsbuUMLocationObjectId=*)(!(ciscoEcsbuUMLocationObjectId=\01\00\07\00\30\00\39\00\3A\00\7B\00\39\00\44\00\33\00\42\00\32\00\41\00\38\00\45\00\2D\00\38\00\38\00*))(uSNChanged>=56275)).

... 09:49:11:107 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_MODIFY for

AVOBJECTTYPE_MAILUSER objects. ... 09:49:11:139 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Deleted MailUser LDAP filter: (&(ciscoEcsbuObjectType=1)

(uSNChanged>=56275)(|(!(ciscoEcsbuUMLocationObjectId=*))(isDeleted=TRUE))). 09:49:11:138 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing deleted AVOBJECTTYPE_MAILUSER objects. LDAP

Filter: (&(ciscoEcsbuObjectType=1)(uSNChanged>=56275)(|(!(ciscoEcsbuUMLocationObjectId=*))(isDeleted=TRUE))). ... 09:49:11:153 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_DELETE for

AVOBJECTTYPE_MAILUSER objects.

Page 74: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 74

Diagnostics Example –Directory Syncs

DSGlobalCatalog Diags (continued)

09:49:11:184 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Changed DL LDAP filter: (&(ciscoEcsbuObjectType=2)(ciscoEcsbuUMLocationObjectId=*)(uSNChanged>=56275)).

09:49:11:185 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing changed AVOBJECTTYPE_DISTLIST objects. LDAP Filter: (&(ciscoEcsbuObjectType=2)(ciscoEcsbuUMLocationObjectId=*)(uSNChanged>=56275)).

... 09:49:11:420 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 1 change requests of type AV_DIRCHANGE_MODIFY for

AVOBJECTTYPE_DISTLIST objects. ... 09:49:11:467 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Deleted DL LDAP filter: (&(ciscoEcsbuObjectType=2)

(uSNChanged>=56275)(|(!(ciscoEcsbuUMLocationObjectId=*))(isDeleted=TRUE))). 09:49:11:466 (AvDiagnostics_MC,1702,DSGlobalCatalog,10) [Thread 1216] Synchronizing deleted AVOBJECTTYPE_DISTLIST objects. LDAP

Filter: (&(ciscoEcsbuObjectType=2)(uSNChanged>=56275)(|(!(ciscoEcsbuUMLocationObjectId=*))(isDeleted=TRUE))). ... 09:49:11:528 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Enqueued 0 change requests of type AV_DIRCHANGE_DELETE for

AVOBJECTTYPE_DISTLIST objects. ... 09:49:11:592 (AvDiagnostics_MC,1702,DSGlobalCatalog,17) [Thread 1216] Finished Synchronization. 09:49:11:591 (AvDiagnostics_MC,1717,DSGlobalCatalog,17) [Thread 1216] Total synchronization cycle lasted [0] hour, [0] minutes and [1]

seconds.

Page 75: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 75

Diagnostics Example –Directory Syncs

• To see what objects will be acted on, cut/paste LDAP line from DSAD/DSGlobaltCatalog diags into ADSIEDIT.

• ADSIEDIT can be found in the under the “techtools” directory where unity was installed \commserver.

Page 76: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 76

Diagnostics Example –Directory Syncs

LDAP results show the objects found is the “MyGroup” group object

Page 77: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 77

Diagnostics Example –Directory Syncs

• Micro DirChangeWriter 10+ enabled• User ‘6600 user’ added to the mygroup Public Distribution List via “Active Directory

Users and Computers” 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] CHANGEREQ: [LogId] 58 [ReqType] AV_DIRCHANGE_CREATE

| AV_DIRCHANGE_GLOBAL_CATALOG [ObjType] AVOBJECTTYPE_RECIPIENT [DirLogId] 62 [LocLogId] 63 [PropIdsId] 64 [PropValsId] 65 11:09:36:514 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] VARIANT: [LogId] 62 [vt] VT_BSTR [Data]

e7112216f1bd174886989d0c20d86f77 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] OBJID: [LogId] 63 [Hdr] 0x00070001 [ObjType]

AVOBJECTTYPE_LOCATION [ID] {9D3B2A8E-88EC-4ACF-BD05-EEF7E1DCE24A} 11:09:36:514 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] IDLIST: [LogId] 64 [NumElems] 6 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] IDLIST: [LogId] 64 [PropId] AVP_ALIAS [ExpType] VT_BSTR 11:09:36:514 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] IDLIST: [LogId] 64 [PropId] AVP_DISPLAY_NAME [ExpType]

VT_BSTR 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] IDLIST: [LogId] 64 [PropId] AVP_DIRECTORY_ID [ExpType]

VT_BSTR 11:09:36:514 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] IDLIST: [LogId] 64 [PropId] AVP_OBJECT_TYPE [ExpType]

VT_I4 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] IDLIST: [LogId] 64 [PropId] AVP_PARENT_DIRECTORY_ID

[ExpType] VT_BSTR 11:09:36:514 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] IDLIST: [LogId] 64 [PropId] AVP_PARENT_ALIAS [ExpType]

VT_BSTR 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] VARIANT: [LogId] 65 [vt] VT_ARRAY | VT_VARIANT [Dim] 1

[ElemSize] 16 [NumElems] 6 [LBound] 0 [Data(first 32 bytes)] 08 00 00 00 00 00 00 00 84 56 1E 00 00 00 00 00 08 00 00 00 00 00 00 00 8C 13 18 00 00 00 00 00

11:09:36:514 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] VARIANT: [LogId] 65 [vt] VT_BSTR [Data] 6600user 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] VARIANT: [LogId] 65 [vt] VT_BSTR [Data] 6600 user … 11:09:36:515 (AvDiagnostics_MC,1889,Directory Change Writer,16) [Thread 2028] VARIANT: [LogId] 65 [vt] VT_BSTR [Data] mygroup

Page 78: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 78

Diagnostics Example –Directory Syncs

• DSAD diags• Used SAWeb to remove ‘user 8005’ from the mygroup

PDL.• SA used the DSAD service to make the request direct

to AD rather than waiting for a normal AD sync.

11:20:33:377 (AvDiagnostics_MC,1573,DSAD,20) [Thread 3536] Object: [CN=user 8005 CN=Users DC=eft DC=ucbu DC=local] Property: [IADs::get_ADsPath] Value: [LDAP://AD.eft.ucbu.local:389/<GUID=5fd7a401072de049a93a048c259d7a2f>] AccessType: [Read] DC: [LD].

11:20:33:376 (AvDiagnostics_MC,1495,DSAD,12) [Thread 3536] Exiting CAvADConnection::GetADsPathFromGUID [S_OK: The operation completed successfully. ]

11:20:33:377 (AvDiagnostics_MC,1493,DSAD,12) [Thread 3536] Entering CAvADConnection::RemoveMember ...11:20:33:376 (AvDiagnostics_MC,1495,DSAD,12) [Thread 3536] Exiting CAvADConnection::RemoveMember [S_OK: The operation completed

successfully. ]

Page 79: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 79

Agenda

• The playing field.• Setting the traces.• Customizing the traces.• Gathering everything up.• Diagnotistic Examples• Q&A.

Page 80: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 80

Q & A

???

Page 81: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 81

Page 82: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 82

Miscellaneous Information

Page 83: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 83

Call States TAPI calls are handled in ‘states’:LINECALLSTATE_IDLE LINECALLSTATE_OFFERING LINECALLSTATE_CONNECTED Etc.

SCCP (Skinny) calls are handled in ‘states’:TsOnHookTsRingInTsConnectEtc.

Unity CCM(CME)

IP Phoneor

Gateway

Call Control(???)

Call Control(SCCP)TSPWAV

TAPI

MIU

AvWave

Page 84: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 84

Call States

TSP has internal states built around the Skinny and TAPI call states

• Responses to incoming Skinny or TAPI events depend on the current state of the TSP

• Unexpected behavior, or even a locked port, may occur if states become out of sync between TAPI, TSP and Skinny

• For full design see FDS: EDCS-396019

• Updated state diagrams: EDCS-494253

Page 85: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 85

IDLE ANSWERREQUESTED

RECEIVECallState (RingIn)

WAIT FORCONNECT

SENDOffHook

WAIT FORMAKECALLOFFHOOK

MAKECALLOFFHOOK

Basic Call States

INITIATEDROP

(Drop Requested)OR RECEIVE

StartTone (Busy/Reorder)

INITIATEBLIND XFER

(B Xfer)

INITIATESUPER XFER

(S Xfer)

INITIATEMAKECALL

SENDOffHook

(MakeCallRequested)

WAIT FORCLOSE CALL

SENDOnHook

(UnityClosesCall)

NEW CALLPENDING

CLOSE CALLTIMEOUT

(BlindTransfer

Requested)

REGISTERCOMPLETED

RECEIVE(CallState(Connected)

ANDStartMediaTransmission)

OR StartTone(OnHold)

WAIT FORANSWER

REQUESTED

RECEIVECallState(OnHook)

(Answer Requested)

(UnityClosesCall)

SENDKeyPadButton

WAIT FORMAKECALL

RINGING

RECEIVECallState (Proceed)

OR CallState (RingOut)

(Drop Requested)OR RECEIVE

StartTone (Busy/Reorder)

OR TIMEOUT

RECEIVECallState (OffHook)

AND StartTone(DialTone)

(DropRequested)

(UnityCloses Call)

RECEIVECallState(OnHook)

RECEIVECallState(OnHook)

(Drop Requested)OR RECEIVE

StartTone (Busy/Reorder)

OR TIMEOUT

RECEIVECallState(OnHook)

(RejectRequested)

RECEIVECallState(OnHook)

CONNECTED

RECEIVECallState(OnHook)

(UnityCloses Call)

RECEIVECallState(RingIn)

WAIT FORONHOOK

(SupervisedTransfer

Requested)

(RejectRequested)

PORTLOCKED

INITIATEMWI

(MWI)

Page 86: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 86

WAIT FORMWI RESPONSE

(MWIRequested)

MWI SUCCESS

MWI FAILURE

INITIATEMWI

RECEIVECallState(OnHook)

WAIT FORMWI DROP

RECEIVECallState(OnHook)

SENDOnHook

(Timeout)

RECEIVEStartTone(Alerting)

RECEIVEStartTone(Reorder)

OR TIMEOUT

WAIT FOR MWIDIALTONE

MWI DIALTONE

SENDOffHookWithCpgn

RECEIVECallState(OnHook)

MWI Calls (CCM & CME)

SENDKeyPadButton

RECEIVECallState (OffHook)

RECEIVECallState(OnHook)

RECEIVECallState(OnHook)

WAIT FORMWI RESPONSE

(MWIRequested)

MWI SUCCESS

MWI FAILURE

INITIATEMWI

RECEIVECallState(OnHook)

WAIT FORMWI DROP

RECEIVECallState(OnHook)

SENDOnHook

(Timeout)

IDLE(Basic Call)

RECEIVECallState(OnHook)

SENDOffHookWithCpgn

AND KeyPadButton

RECEIVE StartTone(Reorder) OR

OpenReceiveChannelOR TIMEOUT

RECEIVECallState(Proceed)

CCM CME

IDLE(Basic Call)

Page 87: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 87

RECEIVE StartTone(Reorder/Busy)

OR (fwd loop detected)

RECEIVEStartTone

(Reorder/Busy)

(UnityCloses Call)

Blind Transfer (CCM)

INITIATEBLIND XFER

WAIT FORBLIND XFEROFFHOOK

BLIND XFEROFFHOOK

WAIT FORBLIND XFER

RINGING

BLIND XFERRINGING

CONNECTED(Basic Call)

(Blind TransferRequested)

SENDKeyPadButton

RECEIVECallState (OffHook/Call2)AND StartTone (DialTone)

SENDSoftKey (Transfer)

WAIT FORBLIND XFER

ONHOOK

RECEIVECallState

(OnHook/Call1)

RECEIVECallState

(Proceed/Call2)

RECEIVECallState

(OnHook/Call1)

RECEIVECallState

(OnHook/Call1)

RECEIVECallState

(RingOut/Call2)OR CallState(Connected/

Call2)

RECEIVECallState

(RingOut/Call2)OR CallState(Connected/

Call2) ORTimeout (500ms)

RECEIVECallState

(OnHook/Call1)

INITIATEBLIND XFER

RECALL

SENDSoftKey (Resume)

WAIT FORBLIND XFERRECALLED

CONNECTED(Basic Call)

INITIATEBLIND XFER

REJECT

RECEIVECallState (OnHook/Call2)

WAIT FORBLIND XFERREJECTED

SENDSoftKey (EndCall)

RECEIVECallState

(OnHook/Call1)

RECEIVE StartTone(Reorder/Busy)

OROpenReceiveChannel

OR (fwd loop detected)

SENDSoftKey

(Transfer)

INITIATEBLIND XFERABANDON

WAIT FORBLIND XFERABANDONED

Consult calldoes NOT exist

(UnityCloses Call)

(droprequested)

INITIATE DROP(Basic Call)

WAIT FORCLOSE CALL(Basic Call)

RECEIVECallState(OnHook/

Call2)

Consult calldoes exist

WAIT FORBLIND XFER

BUSY

SENDSoftKey

(EndCall)

RECEIVECallState

(Connected/Call1)AND StartMediaTransmission

RECEIVECallState

(RingOut/Call2)OR CallState(Connected/

Call2)

IDLE(Basic Call)

Page 88: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 88

Blind Transfer (CME)

INITIATEBLIND XFER

WAIT FORBLIND XFEROFFHOOK

BLIND XFEROFFHOOK

WAIT FORBLIND XFER

RINGING

BLIND XFERRINGING

CONNECTED(Basic Call)

(Blind TransferRequested)

SENDKeyPadButton

RECEIVESetLamp (Transfer/Flash)AND StartTone (DialTone)

SENDSoftKey (Transfer)

WAIT FORBLIND XFER

ONHOOK

RECEIVECallState (OnHook/Call1)

RECEIVEStartTone(Alerting)

OR CallState(Connected/

Call2)

INITIATEBLIND XFER

RECALL

SENDSoftKey (Resume)

WAIT FORBLIND XFERRECALLED

CONNECTED(Basic Call)

SENDSoftKey

(Transfer)

(droprequested)

INITIATE DROP(Basic Call)

RECEIVECallState

(Connected/Call1)AND StartMediaTransmission

RECEIVECallState

(RingOut/Call2)OR CallState(Connected/

Call2)

IDLE(Basic Call)

INITIATEBLIND XFERABANDON

WAIT FORBLIND XFERABANDONED

Consult calldoes NOT exist

WAIT FORCLOSE CALL(Basic Call)

RECEIVECallState(OnHook/

Call2)

Consult calldoes exist

SENDSoftKey

(EndCall)

RECEIVECallState (OnHook/Call1)AND SetLamp (Line/Off) (Unity

Closes Call)

RECEIVEStartTone

(Reorder/Busy)OR (fwd loop

detected)

RECEIVECallState (OnHook/Call1)

RECEIVECallState (OnHook/Call1)

Page 89: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 89

RECEIVECallState(OnHook/

Call2)

RECEIVECallState (Proceed/Call2)

OR CallState (RingOut/Call2)

RECEIVE StartTone(Reorder/Busy)

OR TIMEOUT (RNA)OR (fwd loop detected)

Supervised Transfer (CCM)

INITIATESUPER XFER

WAIT FORCONSULT CALL

GENERATION

CONNECTED(Basic Call)

(Supervised TransferRequested)

SENDSoftKey (Transfer)

CONSULT CALLGENERATED

RECEIVECallState (OffHook/Call2)AND StartTone (DialTone)

WAIT FORCONSULT CALL

RINGING

(Recall Requested)OR (fwd loop detected)

INITIATESUPER XFER

ABANDON

RECEIVECallState(OnHook

/Call1)

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call1)

SENDSoftKey (EndCall)

WAIT FORSUPER XFERABANDONED

RECEIVECallState (OnHook/Call2)

WAIT FORCLOSE CALL(Basic Call)

IF CONSULT CALLDOES NOT EXIST

(UnityCloses Call)

(UnityCloses Call)

RECEIVECallState (Connected/Call2)

AND StartMediaTransmission

CONSULT CALLCONNECTED

SENDSoftKey (Transfer)

WAIT FORSUPER XFERCOMPLETION

RECEIVECallState

(OnHook/Call1)

INITIATESUPER XFERCOMPLETION

(Supervised TransferCompletion Requested)

WAIT FORCONSULT CALL

CONNECTED

RECEIVE StartTone(Reorder/Busy)

OR OpenReceiveChannelOR TIMEOUT (RNA)

INITIATECONSULT CALL

DROP

SENDSoftKey (EndCall)

WAIT FORCONSULT CALL

DROPPED

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call1)

SENDKeyPadButton

RECEIVECallState

(OnHook/Call1)

INITIATESUPER XFER

RECALL

SENDSoftKey (Resume)

WAIT FORSUPER XFERRECALLED

RECEIVECallState (Connected/Call1)

AND StartMediaTransmission

CONNECTED(Basic Call)

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call2)

RECEIVECallState(OnHook/

Call2)

RECEIVECallState(OnHook/

Call2)

IDLE(Basic Call)

Page 90: Unity Traces & Troubleshooting

© 2011 Cisco Systems, Inc. All rights reserved. 90

RECEIVECallState(OnHook/

Call2)

RECEIVECallState (RingOut/Call2)

TIMEOUT OR(fwd loop detected)

Supervised Transfer (CME)

INITIATESUPER XFER

WAIT FORCONSULT CALL

GENERATION

CONNECTED(Basic Call)

(Supervised TransferRequested)

SENDSoftKey (Transfer)

CONSULT CALLGENERATED

RECEIVESetLamp (Transfer/Flash)AND StartTone (DialTone)

WAIT FORCONSULT CALL

RINGING

(Recall Requested)OR (fwd loop detected)

INITIATESUPER XFER

ABANDON

RECEIVECallState(OnHook

/Call1)

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call1)

SENDSoftKey (EndCall)

WAIT FORSUPER XFERABANDONED

RECEIVECallState (OnHook/Call2)

WAIT FORCLOSE CALL(Basic Call)

IF CONSULT CALLDOES NOT EXIST

(UnityCloses Call)

(UnityCloses Call)

RECEIVECallState (Connected/Call2)

AND StartMediaTransmission

CONSULT CALLCONNECTED

SENDSoftKey (Transfer)

WAIT FORSUPER XFERCOMPLETION

INITIATESUPER XFERCOMPLETION

(Supervised TransferCompletion Requested)

WAIT FORCONSULT CALL

CONNECTED

TIMEOUTINITIATE

CONSULT CALLDROP

SENDSoftKey (EndCall)

WAIT FORCONSULT CALL

DROPPED

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call1)

SENDKeyPadButton

RECEIVE CallState(OnHook/Call1)AND CallState(OnHook/Call1)

INITIATESUPER XFER

RECALL

SENDSoftKey (Resume)

WAIT FORSUPER XFERRECALLED

RECEIVECallState (Connected/Call1)

AND StartMediaTransmission

CONNECTED(Basic Call)

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call1)

RECEIVECallState(OnHook/

Call2)

IDLE(Basic Call)

RECEIVECallState

(OnHook/Call2)OR StartTone

(Reorder/Busy)

RECEIVECallState

(OnHook/Call2)OR StartTone

(Reorder/Busy)