Mobilchange news Documentation Contents User Documentation Administrator Documentation Index of terms Technical Support On-line Search

fxLdapSync - synchronization FX/MX users with LDAP

Application purpose and function

FXLDAPsync is application for FaxChange/MobilChange user database synchronization with LDAP server (so users must be stored in database, not in Active Directory; but MobilChange users can be stored in the registry).

FaxChange (MobilChange) database is accessed using fxODBC (ADO) interface, so application must be run directly on FaxChange (MobilChange) server. To install it, simply copy content of support\FaxChange\FxLDAPsync folder from UMS CD to disk on server.
Application gets list of users based on specified filter from LDAP server and according this list configures, creates or deletes users in FaxChange (MobilChange) database. It can report info about its work in umsMonitor (you must import umsmonitor.reg file from install folder into registry) and sends result of synchronization to the specified address.

Application can be run manually or in regular intervals using any task scheduler, e.g. like task in umsTaskManager.

back to top of page


Application configuration

Configuration is stored under registry key [HKLM/Software/datasys/faxchange/fxldapsync].

Values description:

Example of registry settings for MS Active directory LDAP server can be found in fxLdapSync.reg file in installation folder.

Command line parameters:

fxLdapSync [options]
options: /<appname>      application type (FX or MX). If not specified, FX is assumed
         /w              prompt for password for root_DN
         /d<path>        log path. valid only if "logpath" parameter is not specified in the registry.
         /r<path>        name of alternative configuration. It must be stored as subkey of HKLM/Software/datasys/faxchange/fxldapsync.
         /h              this help
Alternative configuration is good for separate settings for synchronization of FaxChange and MobilChange, or for synchronization against more LDAP servers with different setting.
Tools is able to synchronize also distribution groups and public folders (only those visible in addressbook) - setting of ldap_filter from fxLdapSync.reg file allows this. But you must add "Microsoft Exchange System Objects" container of Active Directory into searched branch.

back to top of page


Synchronization logic description for FaxChange

Common part

  1. Application reads into memory all users from FX database, which have bit 2 in fControl array equal to 0 (i.e. no FX groups).
  2. Application reads into memory all users from all LDAP start points.
It can happen that some fields (e.g. FAXFLG) aren't present in LDAP. In such case application takes from configuration default values and use them as if they were read from LDAP.
Processing in "Czech Telecom" mode is specific for this company and is not described here. In common you should use "normal" mode described bellow.

"Normal" mode

For every user in FX database reads FreeText field and parse it. These items are important: For all records which have non-empty fEmail and don't have NoSync=1: Now goes through LDAP records not marked as synchronized (not deleted). These are records existing in LDAP but not in FX database. For every of them:

Mapping LDAP items to FX db items

Names of searched items in LDAP must be taken from configuration, so if FAXNUM item is renamed to FAX_NUMBER, you simply change information in configuration!
LDAP name tUser name Remark
FAXNUM
(string, <30 chars)
No direct equivalent, but used to generate record in PABX database (see algorithm above) and AutoPABX item in FreeText unique fax number, used for fax receiving
FAXCSH
(string, <30 chars)
fCover coversheet page name for given user
FAXGRP
(string, <30 chars)
fGroup defines user group which is user member of and whose standard settings will be applied to this user's FaxChange attributes if explicit setting isn't specified
FAXFLG
(string, <30 chars)
fFlags, fControl, fLng – see next table contains these settings: fax permissions and language; structure is described in next table
INTERNET-ADDR fEmail SMTP address
COSTCODE fCostCode Cost centre code
COMMON-NAME fName User name

FAXFLG item structure

It is text field, where every character specifies some part of FX settings.
Char Meaning Values Mapping to FX
1 right to send international faxes y (yes), n (no), d (standard setting according to group rights) fFlags character 1, values Y/N/D
2 right to send long distance faxes y (yes), n (no), d (standard setting according to group rights) fFlags character 2, values Y/N/D
3 right to send faxes out of your PBX y (yes), n (no), d (standard setting according to group rights) fFlags character 3, values Y/N/D
4 right to send faxes inside of your PBX y (yes), n (no), d (standard setting according to group rights) fFlags character 4, values Y/N/D
5 right to use low priority faxes y (yes), n (no), d (standard setting according to group rights) fFlags character 5, values Y/N/D
6 right to use normal priority faxes y (yes), n (no), d (standard setting according to group rights) fFlags character 6, values Y/N/D
7 right to use high priority faxes y (yes), n (no), d (standard setting according to group rights) fFlags character 7, values Y/N/D
8 right to schedule fax sending y (yes), n (no), d (standard setting according to group rights) fFlags character 8, values Y/N/D
9 right to send faxes 0 (yes, standard user), 1 (no, faxing disabled) fControl bit 0: 0 = enabled, 1 = disabled
10 setting language for communication 0 (CZ), 1 (UK), 2 (SK) fLng = "CZ", "UK" or "SK"

back to top of page


Synchronization logic description for MobilChange

Common part

  1. Application reads into memory all mail users from MX database, (account_type=1), which have user_source=2,3 or 4
  2. Application reads into memory all users from all LDAP start points.
It can happen that some fields aren't present in LDAP. In such case application takes from configuration default values and use them as if they were read from LDAP.
Processing in "Czech Telecom" mode is specific for this company and is not described here. In common you should use "normal" mode described bellow.

"Normal" mode

For all records which have non-empty i_user_id and have x_email_rucne=0: If i_user_id is empty (null), sets x_email_rucne=1.
Now goes through LDAP records not marked as synchronized (not deleted). These are records existing in LDAP but not in MX database. For every of them:

back to top of page