Unable to perform a Telephone System Synchronization on multiple...

Expand / Collapse

Unable to perform a Telephone System Synchronization on multiple PBXs after updating to MCD 6.0

Article ID: 52026 - Last Review: August 28, 2013


When performing a Telephone System Synchronization on multiple PBXs, the process fails.

If you perform a Telephone System Synchronization on each PBX one at a time they all succeed.


After upgrading one or more PBXs to MCD 6.0 sync fails. In the logs you will see this error:

Error     8/9/2013 12:51:26 PM     prairieFyre.DataSynchronizationEngine.SynchronizationService Synchronization failed - System.Data.ConstraintException: Column 'PKey' is constrained to be unique.  Value '233b42b0-d79a-4c27-aa09-c20377447693' is already present.
   at System.Data.UniqueConstraint.CheckConstraint(DataRow row, DataRowAction action)
   at System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
   at System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Boolean suppressEnsurePropertyChanged, Int32 position, Boolean fireEvent, Exception& deferredException)
   at System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent)
   at prairieFyre.DataSynchronizationEngine.SyncReportBuilder.AddSystemLevelRule(Guid pkey, String viewName, String fieldName, String recommendedValue)
   at prairieFyre.DataSynchronizationEngine.Mixml.MixmlValidationEngine.LoadSystemRuleCategory(DSValidationRules ruleset, IDictionary`2 enumerationDefinitionMap, IDictionary`2 formNameMap)
   at prairieFyre.DataSynchronizationEngine.Mixml.MixmlValidationEngine.LoadRuleset(Icp3300Media media)
   at prairieFyre.DataSynchronizationEngine.Mixml.MixmlValidationEngine.ValidateMedia(Icp3300Media media)
   at prairieFyre.DataSynchronizationEngine.Mixml.MixmlSynchronizationEngine.PopulateConfig(PbxConfig aPbxConfig, ISyncReportBuilder aReportBuilder)
   at prairieFyre.DataSynchronizationEngine.PbxSyncEngineBase.PopulatePbxConfig(PbxConfig aPbxConfig, ISyncReportBuilder aReportBuilder)
   at prairieFyre.DataSynchronizationEngine.SynchronizationService.ReadMediaServerData(MisyncMessage aMessage, PbxConfig aPbxConfig, DSYourSite aCcmConfig)
   at prairieFyre.DataSynchronizationEngine.SynchronizationService.ProcessJob(MisyncMessage aMisyncMessage) 


There is an error with the GUID in the MCD6.0 validation file. 


1. Go to [InstallDir]\CCM\Services\DataSynchronizationService\Mixml\ValidationRules\ .
2. Edit the Rules_12.0.0.36.xml file with a program like Notepad
3. Go to line 81.  The RuleID should match the GUID in the error stack. (You can search for the GUID to find this line)
4. Change the second 3 to a 4. (this would be the third character in the GUID)

  • The original (incorrect) value will be 233b42b0-d79a-4c27-aa09-c20377447693
  • You should change this to 234b42b0-d79a-4c27-aa09-c20377447693
5. Save the file.
6. Stop the prairieFyre DataSynchronization service.
7. Run a full Telephone System Synchronization


CCM 6.0.2.X with MCD 6.0 

Keywords: MCD 6.0 sync telephone system synchronization fail fails PKey

Rate this Article:

Add Your Comments

Name: *
Email Address:
Web Address:
Verification Code:

Last Modified:Wednesday, August 28, 2013
Last Modified By: andrew_montpetit
Type: FIX
Article not rated yet.
Article has been viewed 10,163 times.