Unity Traces & Troubleshooting
Michael HollowellCCIE #4114 (Oct 4, 1998)
UCBU – Senior Escalation Engineerrev: 06/06/11
© 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.
© 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
© 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
© 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
© 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
© 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.
© 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.
© 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
© 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
© 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
© 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)
© 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.
© 2011 Cisco Systems, Inc. All rights reserved. 14
Unity Architecture
© 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.
© 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.
© 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
© 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.
© 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_
© 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.
© 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.
© 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
© 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)
© 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.
© 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
© 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>
© 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.
© 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
© 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.
© 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)
© 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
© 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
© 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)
© 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
© 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.
© 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.
© 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)
© 2011 Cisco Systems, Inc. All rights reserved. 38
Diagnostic Example – Basic Call Flow
Unity Diagnostic Tool - Found in Tools Depot on the Unity Sever
© 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
© 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
© 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”
© 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
© 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]
© 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
© 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
© 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'
© 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.
© 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
© 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
© 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]
© 2011 Cisco Systems, Inc. All rights reserved. 51
Diagnostic Example – Basic Call Flow
© 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
© 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
© 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} )
© 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))
© 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)
© 2011 Cisco Systems, Inc. All rights reserved. 57
Unity Architecture
© 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
© 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
© 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
© 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>
© 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)
© 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
© 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.
© 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
© 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)
© 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.
© 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. ]
© 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.
© 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
© 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.
© 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.
© 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.
© 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.
© 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.
© 2011 Cisco Systems, Inc. All rights reserved. 76
Diagnostics Example –Directory Syncs
LDAP results show the objects found is the “MyGroup” group object
© 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
© 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. ]
© 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.
© 2011 Cisco Systems, Inc. All rights reserved. 80
Q & A
???
© 2011 Cisco Systems, Inc. All rights reserved. 81
© 2011 Cisco Systems, Inc. All rights reserved. 82
Miscellaneous Information
© 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
© 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
© 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)
© 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)
© 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)
© 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)
© 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)
© 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)
Top Related