Recommended CUCM Sync Setups
----------------------------

Cisco Unified CM (CUCM) sync recommendations are covered here.

Bottom Up User Sync
...................

If using bottom up sync into CUCM, the users are added to CUCM via LDAP.
In this scenario they do not appear in VOSS-4-UC in order to be managed
until they are synced in. 

.. note::
   If you use this sync in a multi-cluster environment, additional
   guidance on the user sync setup is provided in the 
   Multi-Cluster Deployments Technical Guide.


* Recommended setup 

  * Model Type List - ``device/cucm/User``
  * Actions - Add/Update/Del all enabled.  
  * When to use - scheduled.  The most frequent this should run is in line
    with the LDAP->CUCM sync time (typically once every 24hrs but minimum of every 6hrs or so).
    The length of this sync should consider the maximum allowable time for
    an end user to be in the system in typical business practices.
    Edge cases can always be handled in between scheduled syncs by running the sync
    manually if required - that is often better than having a very frequent
    sync that is not typically needed.
  * Events - the different actions (add/update/del) have different post execution
    events for the ``device/cucm/User`` model type that need to occur. These handle
    various aspects of the user setup. See below for a screenshot of the
    setup for an example:

    * Add Operation workflow = ``HcsAddCucmUserDsPWF``
    * Update Operation workflow = ``HcsUpdateCucmUserDsPWF``
    * Delete Operation workflow = ``HcsDeleteCucmUserDsPWF``
  * Change notification should be used for this sync to manage load
    (except if using a model instance filter).

Screenshot of the event setup on the CUCM User sync:

|data-sync-bottom-up-workflows-example|


Phone Types and Related Entities
................................

This will force VOSS-4-UC to retrieve the latest phone type data from the CUCM
and related entities like phone button templates, and so on.
This is not possible via the change notification in CUCM today.  

* Recommended setup:

  * Model type list including: `device/cucm/PhoneType`, `device/cucm/PhoneTemplate`, `device/cucm/securityProfiles`
  * Actions - Add/Update/Del all enabled
  * When to use - Not scheduled - run ad hoc as needed.  This includes post CUCM upgrades,
    installation of a new device COP file in CUCM, managing phone button templates, managing device security profiles.
    If you are not seeing a phone type of the button template in VOSS-4-UC that you are expecting,
    running this sync will likely resolve it.

Other Syncs
...........

Beyond the syncs above, others can be setup to suit specific needs based on the implementation.  

.. important::
   In setting up processes that sync any new entities into VOSS-4-UC, these will add the entities to the hierarchy
   level of the sync.  So this will require the use of overbuild or ad hoc move processes to get the entities
   into the right site, for example, if needed (such as users, phones, lines, and so on).



.. |data-sync-bottom-up-workflows-example| image:: /src/images/data-sync-bottom-up-workflows-example.png