Fixed file permission exceptions on Windows 2008 R2. Version ... System Directory entries created by SDS are manually de
System Directory Synchronization (SDS) Application ShoreTel Professional Services Changes Version 2.1.0 Added “/DID” open to export/input user’s DID numbers instead of extension numbers. Version 2.0.2 Fixed file permission exceptions on Windows 2008 R2. Version 2.0.1 Fixed a “.NET Runtime 2.0 Error” which occurs under certain conditions when System Directory entries created by SDS are manually deleted using Director. Version 2.0.0 Updated for ShoreTel 10 database changes. Modified for Application Licensing. An Application license is now required for each system’s HQ server. Version 1.0.1 Logging additional information for duplicate station numbers (DNs). Fixed an error logging message that a modification failed. Version 1.0.0 Initial release.
Introduction The SDS application is a console program which synchronizes System Directory information between separate ShoreTel systems. This allows the Dial-By-Name feature from the Directory button on the ShoreTel phone or QuickDialer in PCM (Communicator) to have a complete directory of names and numbers from all the ShoreTel systems. Note: the auto-attendant Dial-By-Name feature only lists the users configured on the local system and will not list entries from the System Directory added from remote systems. The SDS application works by exporting the local systems configuration to a specified directory. The exported information contains the names and extension numbers (DN) or DID numbers (using the “/DID” command line option) for Users, Auto-Attendants, Hunt Groups, Workgroups, and Bridged Call Appearances (BCA). Next, the SDS will access each remote system and import their exported configuration information into the System Directory. Finally, the ShoreTel services are notified to resynchronize with the database if changes were made to the database. Note: SDS should only be run during off-hours since re-synchronizing the ShoreTel services has an impact on system performance
Page 1 of 15
System Directory Synchronization Application V2.1.1
SDS creates System Directory entries containing the First Name, Last Name (if configured) and the extension number (DN) in the “Work Phone” field The SDS program reads a configuration file which defines the local system and one or more remote ShoreTel systems. Each configuration entry contains a system name and a directory. The system name is used to create unique filenames for the exported data and to create unique names for Auto-Attendant, Hunt Groups, Workgroups, and BCAs. The directory field specifies where the exported data is saved for the local system and where to read the exported data from remote systems. The directories must be created before SDS runs. The Windows task scheduler is configured to run SDS daily during off-hours when the ShoreTel system is not busy. The scheduled task must run under a user account having read permission to directories on the remote systems. Windows Event log event are made when SDS starts and completes. The completion event summarizes the number of added, changed, and deleted items to the System Directory. In addition, informational and error messages are saved in a log file.
Restrictions
Duplicate extension numbers are not supported. If a remote User’s extension number exists on the local system, an error is logged and this User will not be added to the System Directory. If duplicate extension numbers exist between remote Systems, the data in the System Directory will reflect the last change from any of the remote Systems containing this extension number.
SDS controls System Directory entries it creates containing extension numbers in the “Work” phone field. These entries should not be modified using ShoreWare Director. In addition, System Directory entries created using ShoreWare Director should not have extension numbers configured in the “Work” phone field to avoid being modified by the SDS program.
De-installing the application will not remove the entries added to the System Directory.
Removing a remote system from the configuration file will not remove those systems entries from the System Directory.
Duplicate user names may appear within a system or between systems. When Dialing-by-Name on the telephone duplicate names will appear without any indication of the phone number associated with each name. In contrast, the QuickDialer in ShoreWare Call Manager displays the duplicate names along with the associated phone numbers.
Installation Overview There are several steps to install and configure the SDS application. Page 2 of 15
System Directory Synchronization Application V2.1.1
1. 2. 3. 4. 5.
Install the SDS Application Create an Export Directory Configure SDS Test the SDS Configuration Create a Scheduled Task to Run SDS Daily
Each of these steps is explained below.
Install the SDS Application The application must be installed on the customer's ShoreTel Headquarters server: You should have received a zip file named STPSSysDirSyncX.Y.Z.zip. From the folder run the SysDirSyncSetup.exe. If you have not already installed the Microsoft .NET 2.0 runtime on the server you will be prompted to do so. If so, follow the prompts which should automatically download and install .NET from the Internet. Once this completes, continue with the install. Follow the install prompts
Page 3 of 15
System Directory Synchronization Application V2.1.1
Page 4 of 15
System Directory Synchronization Application V2.1.1
Page 5 of 15
System Directory Synchronization Application V2.1.1
Create an Export Directory A new directory should be created for saving the exported configuration data. This directory must have write permission for the user account that SDS will be running under. In addition, this directory needs read permission for all the SDSs running on remote systems.
Configure SDS SDS is configured by editing the file “config.txt” with information about the ShoreTel systems. Assuming the application is installed in the default location this file is: “C:\Program Files\ShoreTel\System Directory Synchronization\config.txt”. The file contains documentation on how to configure the local system and remote systems as shown below.
Test the SDS Configuration The configuration can be tested by manually running the application with the “/t” command line option. This command should be run from the account which SDS will be running under to fully test the configuration and directory permissions. In test mode, the application reads the configuration file, verifies directories exist and are accessible, and exports this systems data. The ShoreTel database is NOT modified in test mode.
Page 6 of 15
System Directory Synchronization Application V2.1.1
Optionally, the application can be run with the “/DID” command line parameter to export DID numbers instead of extension numbers. Informational and error messages are logged in the log file. See the following section on Log Files. Listed below is the procedure for running the test: 1. Log into the account in which SDS will run 2. Start a command shell window 3. Change directories to the SDS installation directory (e.g., “cd C:\Program Files\ShoreTel\System Directory Synchronization”) 4. Run the program with the command option: SysDirSync /t 5. Change directory to the “Logs” subdirectory and examine the log file.
Create a Scheduled Task to Run SDS Daily The following steps create a windows scheduled task to run SDS daily: Start the Windows Task Scheduler by: Start->All Programs->Accessories->System Tools->Scheduled Tasks
Click on “Add Scheduled Task”
Page 7 of 15
System Directory Synchronization Application V2.1.1
Click “Next”
Select “Browse…” and browse to the SDS installation directory.
Page 8 of 15
System Directory Synchronization Application V2.1.1
Select “SysDirSync.exe” and then “Open”
Select Daily and then press “Next”.
Page 9 of 15
System Directory Synchronization Application V2.1.1
Set the start time, start date, and then press “Next”.
Enter the User account that SDS will run as and then press “Next”.
Page 10 of 15
System Directory Synchronization Application V2.1.1
Press “Finish” to complete the configuration.
SDS is now scheduled to run daily. Note: The scheduled task should be deleted if you remove the SDS application.
Event Log Listed below are sample event log entries for the starting and ending of the SDS application.
Page 11 of 15
System Directory Synchronization Application V2.1.1
Page 12 of 15
System Directory Synchronization Application V2.1.1
Log Files By default, the application will write a log file containing informational and error messages. The logging feature allows more or less details to be logged by editing the logging XML file. As configured, the application will maintain a rolling history of up to 10 log files with a maximum of 1 Megabytes in each file. The log file will be stored in the “Logs” directory of the application's install directory. Assuming the service is installed in the default location this would be: C:\Program Files\ShoreTel\System Directory Synchronization\Logs
The XML file which controls the logging is located in the application's directory and is named log4net.config. If you edit the file with (for example) notepad.exe, this shows the contents of the file:
Page 13 of 15
System Directory Synchronization Application V2.1.1
To change the level of detail logged, you would want to change the "level value" in the root section and save the changes. Changes to the log level do NOT require a service restart. The above screen shot shows the value. The valid values in order of increasingly detailed logging (each level includes lower levels) are as follows: FATAL Only fatal errors are logged. ERROR Errors are logged. WARN Warnings are logged. INFO Informational events are logged such as adding, changing and deleting of System Directory entries. DEBUG All logging is enabled. Listed below is a sample log file:
Page 14 of 15
System Directory Synchronization Application V2.1.1
SDS Data Directory Imported data from remote systems is kept in the “Data” subdirectory. There are two files from each remote system: the exported data from that system and the data which has been imported into the System Directory from that system.
Each time SDS runs, it copies the remote systems exported data (“_export.xml”) and compares it with the data previously placed into the database (“_imported.xml”) to determine what needs to be added, modified, and deleted from the System Directory.
Page 15 of 15
System Directory Synchronization Application V2.1.1