Directory Walker

Contents

Overview. 1

Requirements/Special Notes. 2

A Word About Automatic Fixes. 2

Checks Made. 2

Subscribers. 2

Call Handlers. 2

Subscriber Templates. 3

Interview Handlers. 3

Directory Handlers. 3

Distribution Lists. 4

Location Objects. 4

Routing Rules. 4

DTMFAccessID Table. 4

General Database. 4

A Word About Fixing Restriction Table Violations. 4

A Word About Multiple Unity Networks. 4

Output Examples. 4

Scheduling Database Checks. 5

Choosing a Language Interface. 6

Recreating Subscriber Templates. 6

Event Log Output 7

Obtaining Updates. 7

Revision History. 7

Overview

This utility walks the directory and makes the checks listed below on all call handler,  subscriber,  subscriber template, interview handler, locations and directory handler objects in the database.  If there's a problem the string "(error)" will appear in red in the output HTML.   Warning strings in yellow that start with "(warning) are also logged for items that you should check on but are not necessarily problems.   If an item is automatically fixed, a string that starts with "(fixed) will be logged in green directly under the error to indicate what was done.  See the example  file output below for more.

 

 

When it's complete a dialog will pop up letting you know it's finished and telling you how many errors and warnings were encountered in the process and you'll be given the opportunity to view the output file.  Just search the output file for the string “(error)” or “(warning)” and you will be taken right to each problem in the log.   Brief explanations of the problems encountered will usually appear on the following line in the log, be sure to read them in their entirety to determine what you should do about them, if anything.

Some problems are logged as errors and fixed automatically on the fly (i.e. if the standard contact rule or greeting rule has been disabled, it will be enabled again on the fly).  Some problems are fixed optionally if you indicate it’s OK (i.e. orphaned call handlers are removed if you check the option to do so at the top of the form).  Other problems cannot be fixed automatically and you will need to intervene manually to clear the issue up. 

The logging detail drop down can be set to show information about all objects checked during the database walk or you can choose to limit the output to only those objects that encounter one or more errors or warnings or just those objects that encountered one or more errors (default).  Each time you press the "Walk Database" button, a new output file is generated and stored under the \logs\ directory where you installed dbWalker.  To quickly view the logs directory you can select File | View Log Directory from the menu and it'll open File Explorer to that directory automatically.  Whenever dbWalker runs it will automatically delete any logs in this directory older than 10 days.

Requirements/Special Notes

This version of dbWalker run on Unity 4.0(1) and later systems.  For users of 2.x or 3.x, you will need to obtain the appropriate version of dbWalker off www.CiscoUnityTools.com.

dbWalker must run on the local Unity server, it cannot run off box.

A Word About Automatic Fixes

It is strongly recommended that you first run dbWalker with no automatic fix options selected at all and review the output it generates before you select any automatic fix options.  Once you've run the tool, reviewed the resulting output and understand what changes will be made with the selected automatic fixes (see below), then run dbWalker again and select the desired automatic fix options.

Checks Made

Subscribers

·          Display Name, makes sure it's not blank.

·          Primary Call Handler exists and is valid and is unique in the dialing domain

·          All alternate extensions are unique in the dialing domain.

·          Primary Call handler is not "shared" by another mail user. 

·          COS reference exists and is valid.

·          Location exists and is valid.

·          Language selected for user is installed on the box.  This can be automatically fixed if desired.

·          Switch ID is valid and references a switch installed on the box.  This can be automatically fixed if desired for versions of Unity prior to 4.2(1).  For versions of 4.2(1) or later, you need to use the Telephone Integration Manager application in the Tools Depot to repair invalid switch references.

·          Makes sure voice name referenced in database actually exists as a WAV file on the hard drive.

·          The rest of the data associated with a subscriber is contained in the "primary call handler" assigned to this subscriber and those checks are made during the call handler sweep.

·          Checks that private distribution lists have display names associated with them.  A warning is logged if it's empty.

·          Checks that private distribution lists have members associated with them - if not a warning is logged.  This can be fixed automatically by removing the list if desired.

·          Checks that the exit destination for the subscriber is valid (Unity 4.0 and later only)

·          Ensure the smtpAddress value is not NULL

·          (optional) Transfer strings, notification devices and fax delivery numbers are checked against the restriction tables assigned to the COS the subscriber is associated with.  This check is optional because in some situations a company may wish to assign subscribers to COSes that don't allow any numbers to be entered by the subscribers themselves, instead requiring they go through a help desk administrator to change these.  By default this check is not done, you need to select the checkbox at the top of the form to have these additional tests run.  This can be fixed automatically by disabling the offending device if desired.  See "A Note About Fixing Restriction Table Violations" below before you do this.

·          For all remote subscribers, make sure the remoteAddress column is not NULL - this is done for 4.0(1) and later only.

·          For all remote subscribers, make sure the remoteAddress column is unique for each subscriber in the global subscribers table.  This is done for 4.0(1) and later only.

·          For all remote subscribers, make sure the legacy mailbox ID and RemoteNode id values are valid. Both can be NULL or both can have values.  If they do have values make sure both are all digits and that they are a unique pair in the global subscribers table.  This check is made for 4.0(1) and later only.

·          Checks to be sure the DirectoryID value is not blank/NULL - this indicates that the object has not yet synchronized properly with the directory.

·          The MailstoreObjectID value is checked to be sure it has a corresponding entry in the MailboxStore table in UnityDB.

·          If the subscriber has their EncryptPrivateMessages flag turned on, dbWalker makes sure there is a certificate installed for message encryption.  This check is made on 4.0(5) and later.

·          If the subscriber has the option to edit broadcast messages, dbWalker ensures that they also have the ability to send broadcast messages.  This check is made on 4.0(5) and later.

·          Blind addressing members in private distribution lists are checked for corresponding entries in the global locations table.  This check is made for Unity 4.0(5) and later.

Call Handlers

·          Owner exists and is valid. This can be fixed automatically for NON primary call handlers.  If a call handler is tagged as primary (i.e. it's supposed to be part of a subscriber) this will not be automatically fixed.

·          Recipient exists and is valid.  This can be fixed automatically for NON primary call handlers.  If a call handler is tagged as primary (i.e. it's supposed to be part of a subscriber) this will not be automatically fixed

·          Location exists and is valid.

·          Text Name, makes sure it's not blank in the case of a nonprimary call handler.

·          DTMF_ID, make sure it's not blank in the case of a primary call handler.

·          DTMF_ID does not conflict with another object either locally or in the dialing domain.  If a conflict is found, a list of all objects that share that ID in the dialing domain will be listed.              

·          If the call handler is primary it checks for all alternate extensions associated with the subscriber tied to the call handler to be sure the ID is unique in the dialing domain.

·          If the after greeting action loops back around to itself a warning is logged for all greetings except the "error" greeting for which this is not unusual.

·          After message action links to a valid object.

·          All one key rules (caller input keys)  link to valid objects.  This can be fixed automatically if desired.

·          After greeting action links to a valid object for each greeting rule.

·          Schedule reference is valid.  This can be fixed automatically if desired.

·          Makes sure all the contact rules reference valid Switch IDs.  This can be fixed automatically if desired.

·          Checks to be sure the standard greeting is active.  If it’s not, it will be set active on the fly. This is not optional.

·          Checks to be sure the standard transfer rule is active.  If it’s not, it will be set active on the fly.  This is not optional

·          Makes sure the language is mapped to one installed and active.  This can be fixed automatically if desired. 

·          Makes sure the WAV files associated with the voice name exists on the local HD. This can be fixed automatically if desired.

·          Makes sure the WAV files associated with the greetings for this call handler exist on the HD.  This can be fixed automatically if desired.

Subscriber Templates

·          Make sure the AVP_DTMF_ACCESS_ID value is always blank for the primary call handler of a template. 

·          Check to see if the Extension field of the contact rules of a template are blank.  Technically a specific number value is legal for a transfer rule in a template, but it’s highly unusual.  If the administrator wishes to have the template configure transfers by default, the “yes, transfer to subscribers’ extension” radio button should be selected on the template which leaves the AVP_EXTENSION value blank (it’s filled in with the subscriber’s extension at creation time).  If a specific number value is in this field a warning is logged to alert the user to a potential problem.

·          Makes sure the call handler associated with the template is marked primary.

·          Makes sure primary call handler reference is valid.  There have been problems in this area with various releases of 2.4.x and 3.0(x) so special attention is made here.  If the primary call handler referenced by a template is ALSO referenced by another subscriber in the system as it's primary call handler, an error is logged.  This is a "cross referenced" handler.

·          Checks COS assignment

·          Checks language to be sure it's a valid, installed language.  This can be fixed automatically if desired

·          Checks schedule to be sure it's valid.  This can be fixed automatically if desired

·          Checks location object reference

·          If the primary call handler for a subscriber template has it's owner or message recipient set to anything but NULL and it's a 4.0(1) or later version of Unity, an error is logged.  This can be automatically fixed if desired.

Interview Handlers

·          Checks extension for uniqueness across the dialing domain.  If a conflict is found all objects in the dialing domain that conflict will be listed in the output.

·          Checks location assignment.

·          Owner exists and is valid. This can be fixed automatically if desired.

·          Recipient exists and is valid.  This can be fixed automatically if desired.

·          Makes sure language selected is valid.  This can be fixed automatically if desired.

·          Makes sure the after message action goes to a valid destination.

Directory Handlers

·          Checks extension for uniqueness across the dialing domain.  If a conflict is found all objects in the dialing domain that conflict will be listed in the output.

·          Checks location assignment.

·          Owner exists and is valid. This can be fixed automatically if desired.

·          Makes sure language selected is valid.  This can be fixed automatically if desired.

·          Makes sure "Zero action" goes to a valid destination

·          Makes sure "Exit action" goes to a valid destination

·          Makes sure the subscriber filter options are valid and, if applicable, reference existing COS or distribution list objects.  This option only applies to Unity 4.0(1) and later.

Distribution Lists

·          Checks to be sure the DTMF ID (if present) is unique in the dialing domain

·          Checks to see if the DirectoryID is blank/NULL - this indicates the object has not yet synchronized with the directory yet.

Location Objects

·          Checks to be sure the location object has a directory ID - this means it is represented by an object in the directory.

·          Makes sure there's a representation of the location object in the global locations table in SQL.

·          Checks that the System ID in both the local and global locations tables in SQL matches.

·          For Unity 4.0(4) and later the cross box login and transfer tables are checked for invalid references to missing location objects.

·          If the global locations table is empty or a local location is not represented there, all local locations will be forced into the global locations table automatically.

Global Subscribers

·          (optional) if the optional check for orphaned global subscribers is enabled, all entries in the globalSubscriber table that do not have a valid reference in the globalLocations table will be listed out. 

Routing Rules

·          Checks to be sure any routing rule that contains a link to a call handler, interview handler, directory handler or subscriber is valid.

DTMFAccessID Table

·          Checks each entry to be sure the extension value is mapped to a valid object in the directory and isn't an "orphaned" DTMFID value.  This can be fixed automatically if desired.

·          Checks to see if the DTMFAccessID column is NULL or empty.  This can be automatically fixed if desired.

·          Checks for any duplicate ParentObjectID values in the table.

General Database

·          Orphaned rows in the MessagingRules table are checked for - they are removed and logged if found.

·          Orphaned rows in the ContactRules table are checked for - they are removed and logged if found.

·          Orphaned rows in the MenuEntry table are checked for - they are removed and logged if found.

·          Orphaned WAV files are searched for in the \commserver\stream files\ folder.  You can automatically removed these if desired

·          Checks for NULL values in encryption keys for the server table on Unity 4.0(5) and later systems.  This is logged as a warning since it could indicate a problem with key replication between systems.

·          Checks the “TimeLastModified” column of the Configuration table for invalid time values.

A Word About Fixing Restriction Table Violations

Starting with version 3.0.83 of dbWalker, the option to fix any violations of restriction tables for transfer rules, notification devices and fax delivery numbers was added.  Before you select this option, please be sure to understand what this means.

Unity enforces compliance with the three restriction tables associated with a subscriber's class of service at the time the number is changed - either through the SA, the PCA or the phone conversation.  The number is not checked for compliance at the time it is dialed.  The reason for this is such that companies can employ a "help desk" model where individual subscribers are not allowed to change their transfer or delivery numbers at all or on a very restrictive basis.  However administrators at a help desk can take requests from users and make such changes for them.  This is a popular choice among larger companies to ensure they prevent toll fraud or accidental mis dials and the like.

If your company is using a "help desk" model, DO NOT SELECT TO FIX RESTRICTION TABLE VIOLATIONS!!!

The checks made by dbWalker look to the subscriber's restriction tables to see if their transfer number, notification devices and default fax delivery number comply.  If these numbers were legitimately entered by a help desk administrator as noted above, dbWalker has no way of knowing that and will disable the devices regardless.  There's no way to "undo" this disabling in bulk, you will have to manually re enabled the devices in the SA one at a time or using BulkEdit where appropriate if you make a mistake here.

You should definitely make sure to take a close look at the subscribers and devices that fail to comply BEFORE you select to automatically fix these so you know what changes will be made to your system.  PLEASE use this option with GREAT caution!

A Word About Multiple Unity Networks

If you have more than one Unity server on your network be sure to run dbWalker on each of the Unity servers.  All extension uniqueness checks apply only to objects homed on the local server itself, it does not check to be sure extensions and alternate extensions for remote subscribers and location objects are valid.

Output Examples

When you run dbWalker it constructs an HTML file that contains information about all the objects examined in the database.  If errors or warnings are encountered, they are noted with "(error)" or "(warning)" strings that are left justified in the output and colored red or yellow respectively. If an item was fixed automatically it's preceeded by the string "(fixed)" and the text is green.

Each section of the output is preceeded with the object type being examined at that point.  It starts with subscribers, then call handlers, then subscriber templates, then directory handlers and finally walks the interview handlers collection.  The following is a short chunk of the dbWalker output file that shows the start of the subscriber template object walk:

*** Starting subscriber template walk ***

Alias=defaultadmintemplate

    Display Name={Default Administrator} Template

    Jump to this subscriber template in the SA using this link:  Open SA to this subscriber template

    Language set to=English (United States)

    COS alias=defaultadministrator

A number of property checks for each subscriber template in the collection are shown, then the system shows a similar heading for the call handler walk etc… Notice in particular the new "Open SA to this subscriber template" link shown.  Clicking on this will open the SA and take you right to the subscriber template in question.  This is a handy way to quickly find run down problems reported on various objects in the output.  This link is available on all objects dbWalker reports on.

The following chunk of output shows what it looks like when an error is encountered and then fixed automatically:

Handler Alias=red shirt handler

    Jump to this call handler in the SA using this link:  Open SA to this call handler

    Text Name=red shirt handler

    Extension= -blank- This is OK, call handlers are not required to have an extension defined

    Handler language set to 'inherited'

    Call handler associated with location object with alias=default

    Call handler owner is a public distribution list with an alias=EAdmin

    Call handler recipient is a public distribution list with an alias=EAdmin

    After message action:

        Set to go to call handler with alias=goodbyech

(error) Handler associated with missing schedule named: adfasdf

You can fix this by selecting a new schedule on the profile pages for this handler or subscriber in the SA

(fixed) Schedule set to All Hours - All Days as instructed

    Menu key: 1

        Set to 'ignore'

    Menu key: 2

In this case the schedule name was not found in the system (i.e. someone had removed it after assigning the call handler to it).  Since all errors are preceeded with the "(error)" string you can simply do a search in the output for this string and "find next" through it to find all problems encountered.  In this example output the user had selected to automatically fix all broken schedules by assinging them to the "All Days" schedule on the fly.  The "(fixed)" string in green indicates this and then the output moves on as normal.  At the end of the dbWalker run a total of all errors, warnings and fixed errors is given.  Be sure to review the output carefully since not all errors can be fixed automatically, some will require manual intervention.

Scheduling Database Checks

DbWalker has the option to schedule regular walks of the database on a daily, weekly or whatever recurring schedule you’d like.  The output can optionally be emailed to one or more SMTP addresses if the IIS configuration on the local Unity server is allowed to connect to your site’s SMTP gateway.  To schedule dbWalker to run, select the “Schedule | Schedule dbWalker to Run” menu option and the following dialog will appear:

 

The Schedule dialog (above) interfaces directly into the built in Windows scheduler.  You may see other scheduled tasks in the list that are not related to the dbWalker tool itself.  You can edit their properties or delete them from in here but you can only add new tasks specific to the dbWalker via this dialog.  Use the Windows Scheduler itself if you want to schedule other types of tasks.

To add a new schedule, hit the ‘Schedule Walk’ button.  Provide a display name that will be shown in the schedule list to describe this task.  Next, set the properties for the task.  Do not adjust the path or the command line options, those are set for you automatically.  By default the task is not enabled, be sure to check the “Enabled” option at the bottom of the “Task” tab.  You set when and how often this task runs on the “Schedule” tab.  When you have it configured as you’d like, click “OK”.  You will be asked to provide the login name and PW of the account you’d like this task to run under.  Provide the account you’ve done a database walk with before to be sure it has the rights to attach to SQL and run the checks necessary.

The output from these walks is stored in separate files under the \logs directory under the dbWalker installation path.  You can view this directory automatically by selecting the “File | View Log Directory” menu option.

If you would like to have the output file from the scheduled run of dbWalker emailed as an HTML attachment to one or more people, select the “Schedule | Email Notification” menu option and the following dialog will appear:

You can simply add as many fully qualified SMTP addresses to the list as you want.  If you enter an address and then press the “Send Test Message” button, it will immediately send an email to that address as a test. 

By default DbWalker uses IIS to route emails out.   If you leave the name or IP address of the SMTP gateway blank it will use this method to send out email reports of dbWalker output.  See the Microsoft documentation for IIS for more details on how to configure IIS for this.  If, instead, you provide the name or IP address of an SMTP gateway on your network and a port to use (default of 25), dbWalker will instead send the email out using this mechanism. 

Choosing a Language Interface

This tool comes with built in support for several languages including US English, French, German and Japanese. By default it will display the language the Windows operating system is set for.  If that language is not supported it will default to US English.

To manually force the tool to show a different language than the default, you can select the Help | About menu option and click the “Change Language” hyperlink on the About box.  The languages installed will be presented in a drop down list and the display will update into that language immediately when you select it. 

NOTE: If you select Japanese as a display language and you are not running on a version of Windows that has the Japanese code page installed, the display will show all “?” characters.  This is expected.

Recreating Subscriber Templates

One of the problems that crops up in the field from time to time is the subscriber templates get corrupted due to failed import or create requests for new subscribers in the SA or import tool.  While the templates can be fixed by hand using SQL directly or DOHPropTest, it’s not a trivial set of changes and cannot be easily automated.  To help deal with this issue more cleanly, a new option has been added in dbWalker under the File menu to recreate the default subscriber templates.

By selecting this option, dbWalker will delete the {Default Subscriber} and {Default Administrator} subscriber templates and their corresponding primary call handlers and recreate them from scratch using the same construction script that the Unity setup uses during installation.  This script does not create, remove or edit any other types of objects other than the two default subscriber templates and their primary call handlers.

Each time the template recreation function is run a new log file is generated in the “logs” folder off the dbWalker installation directory.  The file name starts with “dbWalker_TemplateRecreation_” and includes a date and time down to the second in the remainder of the file name to ensure it’s unique each time it’s run. It’ll generate a new file each time you run the template recreation script in the same way dbWalker generates a new output file each time you walk the database.  Logs for both will stick around in the logs folder for 10 days before being removed automatically the next time you run dbWalker for any reason.

Event Log Output

Starting with version 3.0.83, dbWalker will always write out to the application event log regardless of if it’s run manually or triggered via an automatic schedule.  The following list of event log entries can be generated:

 

Event ID

Text

Description

1

Unity dbWalker started from user input.  User=%1

If dbWalker is launched manually and run by a user, this event is added to the application log.  The domain and user name of the person running dbWalker is substituted for the “%1”.

2

Unity dbWalker started from scheduled run.  User=%1

If dbWalker is scheduled to run automatically, when it starts this event is added to the application event log.  The domain and login name of the account assigned to the scheduled task issubstituted for the “%1”.

3

Unity dbWalker encountered an error.  Error reported=%1

This error is currently not written to the application event log.  It may be used later to report selected serious errors encountered during the database walk.

4

Unity dbWalker completed.  Log path=%1

When dbWalker finishes (either from a manual run or a schedule automatic run) this event is added to the log.  The “%1” is replaced with the full path to the log file created by dbWalker for that run.

5

Unity dbWalker run with automatic fix options enabled.  Automatic fixes selected=%1

If the user runs dbWalker and selects to automatically fix one or more items in the database, this event is written out.  The “%1” is replaced with a list of all the automatic fixes selected.

 

Obtaining Updates

To check for updates to this tool, visit http://www.ciscounitytools.com/

Revision History

4.0.64 – 10/04/2010

  • Fixed CSCtj29956 localization errors

4.0.63 – 08/04/2010

  • Fixed MSI install issue

4.0.62 – 01/26/2010

  • Fixed CSCte56223 dbwalker gives error for SubSignInArchivedMailbox conversation

4.0.61 – 12/11/2009

  • Fixed a problem that DBWalker does not report error and warning if locale is JPN.   CSCtd74029.

4.0.60 – 11/10/2009

  • Fixed a problem with bogus error reports on UCI replicated objects in Unity 8.x.  CSCtd05763.

4.0.59 – 10/30/2009

  • Fixed CSCtc01514 - DBWalker can crash when alternate extension includes single quote '

4.0.58 – 9/30/2009

  • Fixed CSCtc23590 - Automatic Version Check in utilities broken after web-site revisions

4.0.57 – 5/09/2009

  • Fixed CSCsy96674 & CSCsy96727.

4.0.56 – 8/29/2008

  • Fixed CSCsu29344.

4.0.55 – 5/30/2008

  • Fixed CSCsl17805.

4.0.54 – 5/23/2008

  • Fixed the function to recreate the subscriber templates from scratch for Unity 5.0 and later.

4.0.53 – 3/20/2008

  • "Run-time error '3704':  Operation is not allowed when the object is closed." was occurring when v4.0.52 was run on Unity 4.0(5) through 4.2(1) server.  CSCso34515.

4.0.52 – 2/25/2008

  • Fix for option that checks subscriber’s transfer and dialout rules against restriction tables in their COS.  Prior to fix, many valid dial strings were being mis-reported as violations because start and end of restriction table patterns were not being correctly applied.  Also, check against transfer rules for this option is now run for all transfer (contact) rules belonging to the subscriber instead, since Unity 5.0 and later supports multiple transfer rules for each subscriber.  CSCsm44022.
  • When doing the general database checks, DBWalker will now check for null values as SchemaMajorVersion or SchemaMinorVersion in the applicable Servers table row.  CSCsm53675.
  • If the Unity version is 7.0 or later, DBWalker will run the sp_PersonalAddressMemberCleanup stored procedure to clean up the PersonalAddressMember table (same as is run during nightly SQL cleanup job), the csp_AlternateExtensionStatisticsRemoveOldData stored procedure to clean up the AlternateExtensionStatistics table (same as is run during nightly SQL cleanup job), and the csp_AlternateExtensionBlockListDeleteOrphans stored procedure to clean up any orphaned records in the AlternateExtensionBlockList table.  CSCsl64233.
  • DBWalker now checks in the UnitySetupParameters table that a) @PrimaryServer row is present, b) @PrimaryServer value is not NULL, and c) @PrimaryServer value is not blank/empty.

4.0.51 – 1/17/2008

  • Reworked the record set construction routines to handle larger databases better on opening.  Removed some columns that are not needed, removed all sorting of records for call handlers and subscribers and reduced the indexed fields to only the ObjectID column.
  • Changed logic so recordsets are only ever loaded once when you walk the database, and not when the form loads.  Again, better handling of larger databases.

4.0.50 – 12/21/2007

  • Added support for automatically cleaning orphaned global subscriber entries.  CSCsk99159.
  • Fixed a problem with the warning count being off by one in some scenarios.

4.0.49 – 8/7/2007

  • Updated DTMFAccessID value checks to account for null, empty or space strings being in the DTMFAccessID column.

4.0.48 – 5/25/2007

  • Fixed a problem parsing out the remote address field format that was causing a bogus error to be output.

4.0.47 – 3/14/2007

  • Fixed a problem in the orphaned wav file routine where apostrophe’s in the file name were not being accounted for in the SQL query during error checks.

4.0.46  – 9/13/2006

  • Updated check for private message encryption flags for Unity 5.0(1) and later.
  • Added logic to avoid switchID errors when the notification devices are text based.  CSCsg01203
  • Fixed typos in a few error messages in the output

4.0.44 – 6/19/2006

  • Added support for checking the NameLookupHandler message addressing scopes for subscribers and templates in Unity 5.0(1) and later.
  • Fixed a problem with email notification tests when an external mail server was configured instead of IIS.
  • Fixed a problem where location objects for name lookup handler scopes were limited to local locations only instead of global locations – this resulted in a false error report.  CSCse53933.
  • Added automatic fix option for missing globalSubscriber table entry missing for a local subscriber.  CSCse39271.

4.0.41 – 4/5/2006

  • Added checks for empty MWI sets or a missing “MWI-1” device when doing the subscriber walk.  Updated to automatically fix this condition by adding an “MWI-1” notification device for the subscriber in question.

4.0.40 – 3/28/2006

  • Updated logic to handle introduction of all 3 contact rules for subscribers in Unity 4.3(1)

4.0.39 – 2/3/2006

  • Updated about box
  • Updated to more gracefully handle the situation where no phone system integrations are configured. 
  • Fixed CSCsd14184
  • Fixed CSCsd18878

4.0.38 – 12/19/2005

  • Removed automatic switch reference fix option for versions of Unity 4.2(1) or later.

4.0.37 – 12/6/2005

  • Added support for links to the alternate contact number conversation for the Unity 4.2 release

4.0.36 – 11/16/2005

  • Updated switch assignment functionality to accommodate multiple integration support added in the Unity 4.2 release.

4.0.35 – 8/10/2005

  • Updated orphaned WAV file checks to accommodate the new COS streamFiles column being added for the Unity 4.1 release.
  • Changed error 1438 to be a warning.  When MWI functionality is completely disabled, Unity now removes all MWI devices for that subscriber from the MWINotificationDevices table and, thus, this is no longer an error condition. 

4.0.33 – 5/10/2005

  • Updated version check and error message for 3.x system to be more descriptive and point users to the 3.x page on www.CiscoUnityTools.com.  CSCsa98767.

4.0.33 – 5/5/2005

  • Added new check for any duplicate ParentObjectId values in the DTMFAccessId table.  CSCsa95563
  • Fixed some error output strings that did not include a unique Error ID.

4.0.32 – 4/14/2005

  • Added specific check to make sure all local subscribers have a row in the global subscribers table.  CSCeg75641

4.0.31 – 3/28/2005

  • Fixed a problem with the automatic update version check – CSCsa78362

4.0.30 – 3/10/2005

  • Added additional check up front to see if the Alias column on a subscriber is NULL before making any other checks.  CSCsa70254.

4.0.29 – 3/8/2005

  • Modified checks for null encryption values in the server table to not run if the back end is Domino.  CSCsa66123.
  • Added note about which backend is used to the top of the HTML output

4.0.27 – 2/18/2005

  • Pumped up the checks for the invalid date/time format in the Configuration table – catches the error better and puts up a more readable error message that points to the source of the problem.
  • Fixed a problem with the automatic clean up of private distribution lists that have no members in them.

4.0.26 – 1/19/2005

  • Added check for NULL entries in SERVER table for 4.0(5) and later – this indicates problems with encryption key replication between systems.

4.0.25  - 1/12/2005

  • Added a new check for an invalid date in the “TimeLastModified” column of the Configuration table.  CSCef60342

4.0.24 – 12/9/2004

  • Fixed a problem with Japanese localization strings

4.0.23 – 11/30/2004

  • Fixed a problem where checks for legacy mailbox numbers on bridge users would result in an overflow error – CSCeg25011.

4.0.22 – 11/9/2004

  • Removed the multiple server check in 4.0(5) since it’s no longer a valid error condition due to the private secure messaging feature.
  • Updated the checks for RemoteNodeId and LegacyMailbox to specifically look for both NULL and an empty string instead of just NULL.  The failover replication passes NULLs here as empty strings and we need to accommodate that.

4.0.20 – 9/8/2004

  • Removed the check for multiple subscribers with a subscribertype of 0 – given that UAMIS, UOMNI etc… accounts are also type 0 in addition to the Unity Messaging System account, this was not a valid error.

4.0.19 – 8/31/2004

  • Fixed a problem where broadcast messages were being picked up as orphaned wav files.  CSCef56019

4.0.18 – 8/6/2004

  • Added support for Broadcast Message Administrator routable conversation for Unity 4.0(5)
  • Added check for blind addresses in private distribution lists for Unity 4.0(5)
  • Added checks for broadcast message flags for subscribers in Unity 4.0(5)
  • Added checks for encrypted message settings for subscribers in Unity 4.0(5).

4.0.17 – 7/22/2004

  • Fixed a 0 padding problem when pulling the systemID value from the registry and SQL and converting it from decimal to hex and back when making several checks for consistency among the different Id values.

4.0.15 – 7/16/2004

  • Added new checks for one and only one installer account and one and only one messaging system account to the general checks testing section.  This addresses the request in CSCef15201.

4.0.14 – 6/16/2004

  • Fixed a problem with the “/silent” option showing the form after the run was complete.
  • Fixed a problem where the version check would indicate dbWalker can’t run but the application would not properly exit out all the way.

4.0.12 – 6/3/2004

  • Added automated testing hooks into code for QA folks

4.0.10 – 5/24/2004

  • Added new optional check for orphaned global subscriber table entries

4.0.9 – 5/7/2004

  • Fixed a problem on older 4.0(x) lines that threw an internal error during the location objects tables checks.

4.0.8 – 4/30/2004

  • Added localization support for the help file
  • Added additional checks for the Unity 4.0(4) release.
  • Updated checks for DTMF redundancy to use new view provided in 4.0(3) and later
  • Added functionality to force local location objects into global locations table if necessary.

4.0.5 – 3/31/2004

  • Added new logic to check cross box login and transfer tables for Unity 4.0(4) and later.

4.0.4 – 3/22/2004

  • Added logic to check for encryption history table if a user is configured to encrypt private messages for Unity 4.0(4).
  • Updated SMTP sending logic to include either using IIS or a remote SMTP server/port to send out the email.
  • Fixed a problem with the checks for orphaned DTMFAccessID table entries – it was missing some users outside the dialing domain in the global subscribers table.
  • Added logic such that dbWalker can be run off a read only media (i.e. a CD) during upgrades.  The log file will be created on the C:\ drive in that case instead of in the logs directory off the install path.  CSCee07367

4.0.2 – 2/27/2004

  • First release of the 4.x version of dbWalker.

 

© 2006 Cisco Systems, Inc. -- Company Confidential