Data Sync Workflows Reference#

The workflows below form part of the set of workflows that are carried out when When adding a new CUCM cluster. The name and description of each calling workflow is indicated, as well as the corresponding information for called or included workflows.

UserCucmSyncAdd

  1. include PWF: UserCucmSyncAdd_ValidateData: Validate the CUCM user before any work is done. If errors are found the CUCM user will be purged again and transaction will exit.

  2. include PWF: UserDiscoverApps : Discover all user apps (fn.user_discover_apps pwf.username)

  3. Initialize minimum user input: user_input_role_selfservice, pwf.user_detail.is_cucm_user, entitlement_profile

  4. Add a new Local User if it does not exist using just the username as input and role as selfservice

  5. Update Local User if it exists

  6. Discover all user apps again after user add

  7. include PWF UserMoveCucmUsingFilter: Move the CUCM user if it matches a filter

  8. include PWF UserUpdateApps: Update data on all apps where data is mapped using the latest user data as input

  9. include PWF UserCucmOverbuild: Move CUCM User if configured in Global Flow-Through-Provisioning settings

  10. include PWF UserCucmFlowThroughProvisioning: Flow Through Provision User if configured in Site Defaults Doc settings

UserCucmSyncUpdate

Workflow to update a User from CUCM sync.

  1. include PWF UserHandleUserNameChange: Handle CUCM username change if the username changed (this also has its own call to UserDiscoverApps inside it).

  2. Update User if it exists

  3. If VOSS-user aka Local User aka data/User does NOT exist, then CREATE it at the same node as cucm/User, using just the username as input and role as selfservice

    1. include PWF: UserDiscoverApps : Discover all user apps

  4. include PWF: UserUpdateApps : Update data on all apps where data is mapped using the latest user data as input

UserCucmSyncRemove

Workflow to remove a User from CUCM sync.

  1. build a list of associated Device Objects

  2. build a list of associated Device Profile Objects

  3. include PWF UserDiscoverApps: Discover all user apps

  4. include PWF RemoveDeviceObjectFromCucmPWF: REMOVE each Phone (cucm/Phone) via [RemoveDeviceObjectFromCucmPWF]

  5. include PWF RemoveDeviceObjectFromCucmPWF: REMOVE each cucm/DeviceProfile via workflow [RemoveDeviceObjectFromCucmPWF]

  6. Remove Voicemail Account (device/cuc/User) if retain Voicemail is set to false and the removed User had an associated Voicemail Account

  7. Remove User only if its new sync source is LOCAL/CUC/WEBEX_TEAMS user AND retain Voicemail / Webex Teams are set to false AND User does not have other services

HcsAddUpdateCucmPhoneDsPWF

  1. include PWF HcsAddUpdateCucmPhoneForeachUserPWF: (lines_removed)

  2. include PWF LineDeletion_after_DeviceUpdate_PWF: INCLUDE sub-pwf to CLEANUP all associated cucm/Line instances , depending on Line Delete Preferences

LineDeletion_PhoneDataSync_PWF

Shared PWF, used typically by data-syncs, to maintain/delete cucm/Lines and INI after the sync detected that e.g. device was removed

  1. SET var [pwf.deletedDeviceDat]: if the calling/parent PWF had already defined this var, then use that pre-defined value, else default to use first [previous] or else [input] if previous is not available

  2. SET pwf VARS: unique CUCM line, deviceOwner, allowLineDeletion, allowLineUpdate, lineUpdateCft, lineHn, lines_removed

  3. include PWF LineDeletionWrapperProcessLinesListPWF: If either of the LineDeletion-prefs are being used / have been set, then proceed with: ForEach line, run the line cleanup/maintainance workflow

LineDeletion_after_DeviceUpdate_PWF

  1. To maintain/delete cucm/Lines and INI after the sync detected that e.g. device was removed

  2. If either of the LineDeletion-prefs are being used / have been set, then proceed with: ForEach line, run the line cleanup/maintainance workflow:

    1. Includes LineDeletionWrapperProcessLinesListPWF - If either of the LineDeletion-prefs are being used / have been set, then proceed with this line of workflows.

      1. For each line, run the line cleanup/maintainance workflow = LineDeletion_ProcessLine_PWF (remove device/cucm/Line)

    2. Includes RemoveAgentLineRelPWF” (Remove Agent Line Relation will fire if it is not an update via Sync or if it is an Sync update and lines have been removed.)

      1. Remove relation/HcsCucmCcTagREL

HcsPreSyncSipGwSiptrunkUpdatePWF

  1. This workflow will update SipTrunk field in SIP Gateway if siptrunk name changes.

  2. Includes: HcsPreSyncUpdateSipGwPWF

    1. This workflow will update SipTrunk field in SIP Gateway if siptrunk fields (ipAddress, port) changes.

PWF_HcsPostSyncSipGwSiptrunkDeletePWF

  1. This workflow will delete SIP GW which is using this SIP trunk

  2. Includes: HcsPostSyncDeleteSipGwPWF

    1. Removes relation/HcsSipGwREL where name = input.sipgw.name