Problembehandlung

Problembehandlung bei der Exchange Synchronisation

Diese Seite hilft Administratoren und Support, typische Synchronisationsprobleme schnell zu identifizieren und zu lösen. Nutzen Sie die Logmeldungen, um Einträge im ROOMS-Log zielgenau zu finden.

Leitfaden zur Fehlersuche

Finden von Reservationen mit Synchronisationsfehlern

Unter Listen –> Buchungen können Buchungen gefunden werden, bei welchem die Synchronisation fehlgeschlagen hat.

  • Buchungen mit Synchronisationsproblemen
  • Serienbuchungen mit Synchronisationsproblemen

In diesem Fall annulliert man am Besten die Buchung und erstellt eine neue.

Mit der Option

  • Buchungen mit fehlender Back-Synchronisation

findet man Buchungen, welche über das Addin in Outlook erstellt wurden, dann aber von Rooms nicht in Exchange gefunden wurden. Liegt das Erstelldatum der Buchung lange in der Vergangenheit, ist wohl die dazugehörige Outlook Buchung annulliert worden (bevor die Back-Synchronisation durgeführt wurde).

Warum kommt es zu Konflikten/fehlgeschlagenen Synchronisationen?

Einzelbuchung

Eine Einzelbuchung mit dem Status Unsynchronisierbar –> Reservation.Unsynchronisierbar = 1, erhält keine direkten Updates mehr von Exchange. Updates von Rooms werden aber weiterhin nach Exchange synchronisiert.

Eine Einzelbuchung wird unsynchronisierbar wenn eine Notifikation von Exchange, welche wichtige Änderungen vornimmt, 5x nacheinander nicht verarbeitet werden konnte. Diese Anzahl von Updates, bis die Sync deaktiviert wird, kann in den RoomsAppSettings konfiguriert werden:

	<!--Stop sync after continuous failed updates to a reservation-->
	<add key="StopSyncAfterFailedAttempts" value="5" />

Beispiel:

  • Eine Reservation wird 5x nacheinander auf eine in dem Raum bereits besetzte Zeit verschoben.

Serie

Bei der Serie gibt es zwei verschiedene Konflikt Status:

UnsynchronizableUnrecoverableRoomsChanges –> Serie.SyncStatus = 1 UnsynchronizableUnrecoverableRoomsChanges –> Serie.SyncStatus = 2

Tritt einer dieser Status auf, wird die Serie komplett nicht mehr synchronisiert. Zu diesem Status kann es kommen wenn von Rooms aus Änderungen gemacht wurden, die nicht mehr synchronisiert werden können. Oder wenn, wie bei den Einzelbuchungen, wichtige Änderungen von Exchange 5x nacheinander nicht übernommen werden konnten.

Begriffe

  • Appointment: Termin in Exchange/Outlook
  • Reservation: Termin in Rooms

Nicht unterstützte Aktionen in Outlook

BackSync-Dienst

Der BackSync-Dienst wird aktiv, wenn über das Outlook-Add-in eine Reservation/Appointment erstellt wird. Er verknüpft die Reservation mit dem Appointment in Exchange.

Werden in der Zwischenzeit (zwischen erstellen des Termins und ausführen der Backsync) Änderungen am Termin vorgenommen, muss der Backsync Dienst dies abhandeln. Rooms ist dabei der Master. Dieses Verhalten kann mit der Konfiguration: “BackSync delay in minutes” getestet werden.

Vorbereitung

Möglicher FehlerResultatIntervallLogmeldung
Keine LizenzenAbbruch5 Minuten[BackSync] - Missing license
Person wird nicht gefundenAktion wird gelöscht
Person SyncMode auf NoneAktion wird gelöscht
Person Mailbox leerAktion wird gelöscht
Reservation ist in der VergangenheitAktion wird gelöscht
Serie ist komplett in der VergangenheitAktion wird gelöscht
Aktion keiner Reservation zugeteiltAktion wird gelöscht
Exception beim Suchen von ReservationIntervall erhöhtBackSyncIntervall[BackSync] - Error occured trying to find Reservation {0}
Reservation wird nicht gefundenAktion wird gelöscht[BackSync] - Reservation {0} was not found in Rooms BackSync failed

Aktion für BackSync einzelner Reservation

Möglicher FehlerResultatIntervallLogmeldung
Exception beim Durchführen der BackSync → Exchange ExceptionIntervall erhöhtBackSyncIntervall[BackSync] - Exchange Error occured while trying to find or save Appointment, related Reservation: {0}, Mailbox: {1}
Exception beim Durchführen der BackSync → DB TimeoutService wird 5 Minuten gestoppt, beim 2. Mal wird Aktion gelöscht
Exception beim Durchführen der BackSync → ExceptionIntervall erhöhtBackSyncIntervall[BackSync] - Error occured during BackSync of Reservation: {0}
Appointment kann nicht gefunden werdenIntervall erhöhtBackSyncIntervall
Validation Errors beim Speichern der ReservationIntervall erhöhtBackSyncIntervall[BackSync] - Error occured while trying to change reservation {0}: {1}

Aktion für BackSync, wenn Reservation Teil einer Serie ist

Möglicher FehlerResultatIntervallLogmeldung
Exception beim Durchführen der BackSync → Exchange ExceptionIntervall erhöhtBackSyncIntervall[BackSync] - Exchange Error occured while trying to find or save Appointment, related Serie: {0}, Mailbox: {1}
Exception beim Durchführen der BackSync → DB TimeoutService wird 5 Minuten gestoppt, beim 2. Mal wird Aktion gelöscht
Exception beim Durchführen der BackSync → ExceptionIntervall erhöhtBackSyncIntervall[BackSync] - Error occured during BackSync of Serie: {0}
Master Appointment kann nicht gefunden werdenIntervall erhöhtBackSyncIntervall
Weniger Appointments als Reservationen vorhanden → Buchungen werden annulliert → Validation Error beim Annullieren[BackSync] - Error occured while trying to cancle reservation {0}: {1}
Validation Errors beim Speichern von ReservationAktion wird gelöscht[BackSync] - Error occured while trying to change reservation {0} in serie: {1}: {2}

Collaboration-Dienst

Der Collaboration Dienst ist das Hauptstück der Synchronisation, er behandelt sowohl Subscription Updates von Exchange sowie auch Updates auf seiten Rooms.

Vorbereitung

Möglicher FehlerResultatIntervallLogmeldung
Keine LizenzenAbbruch5 Minuten[CollaborationService] - Missing license
Reservation ist in der VergangenheitAktion wird gelöscht
Serie ist komplett in der VergangenheitAktion wird gelöscht
Person wird nicht gefundenAktion wird gelöscht
Person SyncMode auf NoneAktion wird gelöscht
Person Mailbox leerAktion wird gelöscht

Vorbereitung für Exchange Subscription Update (IsSubscription = true)

Möglicher FehlerResultatIntervallLogmeldung
Keine Reservation verknüpft – Kommunikationsproblem mit Exchange beim Suchen von AppointmentIntervall erhöhtExchangeManagerException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Keine Reservation verknüpft – Appointment wird in Exchange nicht gefundenAktion wird gelöscht
Keine Reservation verknüpft – Appointment besitzt keine Rooms Identifizierung (AppointmentOid)Aktion wird gelöscht
Keine Reservation verknüpft – Reservation oder Serie wird über AppointmentOid nicht gefundenAktion wird gelöscht
Reservation verknüpft wird nicht gefundenAktion wird gelöscht[CollaborationService] - Reservation {0} not found in rooms, subscription update will be removed
Bei IstSerieübernahme: Serie existiert nicht in RoomsAktion wird gelöscht
Bei IstSerieübernahme: Serie befindet sich in einem unsynchronisierbaren StatusAktion wird gelöscht

Exchange Subscription Update für das Löschen eines Termins (IsSubscription = true, IsDelete = true)

Möglicher FehlerResultatIntervallLogmeldung
Reservation/Serie kann nicht annulliert werdenSync-Error-Mail wird versendet → Aktion wird gelöscht[CollaborationService] - Serie/Reservation {0} could not be cancled in rooms: {1}
Nach Annullation Reservation/Serie: Exception bei Reset der SyncAktion wird gelöscht[CollaborationService] - Failed to reset SyncProperties of Serie/Reservation {0}

Exchange Subscription Update erhalten (Einzelreservation) (IsSubscription = true)

Möglicher FehlerResultatIntervallLogmeldung
Reservation ist nicht mehr synchronisiert (keine SyncItemId)Aktion wird gelöscht[CollaborationService] - Reservation {0} is not synced anymore, ingoring subscription update
Appointment wird nicht gefunden → ExceptionIntervall erhöhtExchangeManageException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Appointment wird nicht gefundenAktion wird gelöscht[CollaborationService] - Reservation subscription update {0}, appointment not found, ingoring subscription update
Änderung von Appointment kann nicht auf Reservation übernommen werden → Exception bei UpdateIntervall erhöhtCollaborationAktionHandler Exception[CollaborationService] - Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Änderung von Appointment kann nicht auf Reservation übernommen werdenAktion wird umgeschrieben von Subscription auf Update mit MeetingRequestUpdateType = SendToAll → Error-Mail wird versendet[CollaborationService] - Validation Error occured during Sync but trying again: {0}

Exchange Subscription Update erhalten (Serie) (IsSubscription = true)

Möglicher FehlerResultatIntervallLogmeldung
Serie ist nicht mehr synchronisiert (keine SyncItemId)Aktion wird gelöscht[CollaborationService] - Serie {0} is not synced anymore, ingoring subscription update
Appointment wird nicht gefunden → ExceptionIntervall erhöhtExchangeManageException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Appointment wird nicht gefundenAktion wird gelöscht[CollaborationService] - Serie subscription update {0}, appointment not found, ingoring subscription update
Es existieren mehr Appointments als Reservationen in RoomsAktion wird umgeschrieben von Subscription auf Update mit MeetingRequestUpdateType = SendToAll → Error-Mail wird versendet[CollaborationService] - Serie {0}, Subscription update, more appointments in exchange than in rooms appointment will be reset; Validation Error occured during Sync but trying again: {0}
Reservation muss annulliert werden → Exception bei AnnullierungIntervall erhöhtCollaborationAktionHandler Exception[CollaborationService] - Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Reservation muss annulliert werden → Validierungserror bei AnnullierungAktion wird umgeschrieben von Subscription auf Update mit MeetingRequestUpdateType = SendToAll → Error-Mail wird versendet[CollaborationService] - Validation Error occured during Sync but trying again: {0}
Änderung eines Appointments kann nicht auf Reservation übernommen werden → Exception bei UpdateIntervall erhöhtCollaborationAktionHandler Exception[CollaborationService] - Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Änderung eines Appointments kann nicht auf Reservation übernommen werden → Validierungserror bei UpdateAktion wird umgeschrieben von Subscription auf Update mit MeetingRequestUpdateType = SendToAll → Error-Mail wird versendet[CollaborationService] - Validation Error occured during Sync but trying again: {0}

Aktion: Löschen eines Appointments auf Exchange (Serie/Reservation gelöscht/annulliert) (IsDelete = true)

Möglicher FehlerResultatIntervallLogmeldung
Keine SyncItemId oder AppointmentOidAktion wird gelöscht[CollaborationService] - Cannot remove appointment, no syncitemid or appointmentoid
Exception beim Löschen des AppointmentsIntervall erhöhtExchangeManagerException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Löschen des Appointments ist nicht erfolgreichAktion wird gelöscht[CollaborationService] - Failed removing appointment on Exchange {0}

Aktion: Update von Reservation/en nach Exchange – Vorbereitung

Möglicher FehlerResultatIntervallLogmeldung
Keine Reservation verknüpftAktion wird gelöscht
Exception beim Suchen der ReservationIntervall erhöhtCollaborationAktionHandler Exception[CollaborationService] - Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Reservation kann nicht gefunden werdenAktion wird gelöscht[CollaborationService] - Reservation not found in Rooms: {0}
Keine SyncItemId aber AppointmentOid gesetztWarten auf BackSync, Intervall erhöhtIntervall 0–5 jede Minute, Intervall 6–48 alle 30 Minuten
Serie mit unsynchronisierbarem StatusAktion wird gelöscht

Aktion: Update von Reservation nach Exchange – neue Reservation (SyncItemId leer)

Möglicher FehlerResultatIntervallLogmeldung
Exchange Exception beim Erstellen von AppointmentIntervall erhöhtCollaborationAktionHandler ExchangeManagerException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Exception beim Erstellen von AppointmentIntervall erhöhtCollaborationAktionHandler Exception[CollaborationService] - Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Exception beim Speichern der Reservation (SyncItemId / AppointmentOid)Appointment wird wieder gelöschtCollaborationAktionHandler Exception[CollaborationService] - Reservation: {0} could not be saved after creation on Exchange, removing Appointment; Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}

Aktion: Update von Reservation nach Exchange – Reservation aktualisiert (SyncItemId nicht leer)

Möglicher FehlerResultatIntervallLogmeldung
Exchange Exception beim Finden von AppointmentIntervall erhöhtCollaborationAktionHandler ExchangeManagerException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Appointment nicht gefundenBei Intervall > 1 wird Sync deaktiviert, Intervall erhöhtCollaborationAktionHandler ExchangeManager (DataProcessing)[CollaborationService] - Appointment not found on Exchange for reservation: {0}
Appointment ist noch Teil einer Serie (in Rooms nicht mehr)Sync wird zurückgesetzt / Appointment wird gelöscht (Exception möglich) / Intervall erhöht2x alle 5 Minuten[CollaborationService] - Simple reservation in rooms is serie in Exchange, removing appointment re-sync reservation: {0}
Exchange Exception beim Speichern von AppointmentIntervall erhöhtCollaborationAktionHandler ExchangeManagerException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Exception beim Speichern von AppointmentIntervall erhöhtCollaborationAktionHandler Exception[CollaborationService] - Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}

Aktion: Update von Serie nach Exchange – neue Serie (SyncItemId leer)

Möglicher FehlerResultatIntervallLogmeldung
Serie mit unsynchronisierbarem StatusAktion wird gelöscht
Exchange Exception beim Speichern von AppointmentIntervall erhöhtCollaborationAktionHandler ExchangeManagerException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Appointment konnte nicht richtig erstellt werdenIntervall erhöhtCollaborationAktionHandler ExchangeManager (DataProcessing)[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Exception beim Erstellen von Serie-AppointmentsMaster Appointment wird wieder gelöschtCollaborationAktionHandler ExchangeManager (DataProcessing)[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Einzelne Reservationen können nicht synchronisiert werdenSeriestatus wird auf unsynchronisierbar gesetzt → Aktion wird gelöscht[CollaborationService] - Serie {0}, sync is broken, reservations with no syncitemid: {1}, disabling sync

Aktion: Update von Serie nach Exchange – Serie aktualisiert (SyncItemId nicht leer)

Möglicher FehlerResultatIntervallLogmeldung
Serie mit unsynchronisierbarem StatusAktion wird gelöscht
Exchange Exception beim Finden von AppointmentIntervall erhöhtCollaborationAktionHandler ExchangeManagerException[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Appointment nicht gefundenBei Intervall > 1 wird Sync deaktiviert, Intervall erhöhtCollaborationAktionHandler ExchangeManager (DataProcessing)[CollaborationService] - Appointment not found on Exchange for serie: {0}
Appointment ist nicht SerieMasterSync wird zurückgesetzt / Appointment wird gelöscht (Exception möglich) / Intervall erhöht2x alle 5 Minuten[CollaborationService] - Simple reservation in rooms is serie in Exchange, removing appointment re-sync reservation: {0}
Appointment konnte nicht richtig erstellt werdenIntervall erhöhtCollaborationAktionHandler ExchangeManager (DataProcessing)[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Exception beim Erstellen von Serie-AppointmentsMaster Appointment wird wieder gelöschtCollaborationAktionHandler ExchangeManager (DataProcessing)[CollaborationService] - Exchange Error trying to sync Reservation: {0}, IsSubscription: {1}, IsDelete: {2}, IsSerieUebernahme: {3}, Mailbox: {4}
Einzelne Reservationen können nicht synchronisiert werdenSeriestatus wird auf unsynchronisierbar gesetzt → Aktion wird gelöscht[CollaborationService] - Serie {0}, sync is broken, reservations with no syncitemid: {1}, disabling sync

Push-Subscription-Dienst

Die einzige Aufgabe des Push subscription Dienstes ist es, auf Exchange eine Subscription zu erstellen/aktualisieren. Dabei wird die entsprechende URL z.B. http://rooms.example.com/Webservices/SyncNotification.svc mitgegeben.

Nach erfolgreicher Subscription sendet Exchange Subscription Updates nach Rooms.

Neue Subscriptions erstellen/aktualisieren

Möglicher FehlerResultatIntervallLogmeldung
Subscription ist keine Person/RessourceException[PushSubscriptionService] - Error while creating a subscription for an unkown entity:
Subscriber hat inzwischen SyncMode NoneSync wird deaktiviert
Exception beim Erstellen des Push Subscription → ExchangeManagerExceptionIn einer Minute wird erneut probiert[PushSubscriptionService] - {0} {1}, subscription exchange error, ({2} - {3}) ({4} - {5}).
Exception beim Erstellen des Push Subscription → DB TimeoutException wird weitergeworfen
Exception beim Erstellen des Push Subscribers → ExceptionSync wird deaktiviert[PushSubscriptionService] - {0} {1}, subscription error, ({2} - {3}).
Push subscription ist nicht erfolgreichIn einer Minute wird erneut probiert[PushSubscriptionService] - Subscription: {0} {1} is invalid: ‘{2}’.

Well Known Folders aktualisieren (Deleted-Items)

Möglicher FehlerResultatIntervallLogmeldung
Exception beim Abonnieren der FoldersIn einer Minute wird erneut probiert[PushSubscriptionService] - DeletedItemsFolder Subscription for {0} {1}, failed, ({2} - {3})
DB Timeout beim Abonnieren der FoldersException wird weitergeworfen

Sync deaktivieren (Subscription kann nicht aktualisiert werden)

Sync für die Person wird deaktiviert (SyncMode auf None, Person erhält eine Mitteilung).

Sync-Intervalle

BackSyncIntervall

  • 3x alle 5 Sekunden sofort wieder
  • 3x alle 30 Sekunden
  • 3x alle 1 Stunde
  • 3x alle 6 Stunden
  • 2x alle 12 Stunden
  • Nach ca. 47 Stunden wird Aktion gelöscht, HandleSyncError aufgerufen

CollaborationAktionHandler ExchangeManagerException handling

Exchange FehlerIntervall
DataProcessing, InternalError3x Retry alle 5 Minuten
Connectivity24x Retry alle 60 Minuten
Authentication, Authorization8x Retry alle 120 Minuten
UserUnknown4x Retry alle 360 Minuten
Alle anderen Exchange Fehler3x Retry alle 3 Minuten

CollaborationAktionHandler Exception handling

  • Intervall 0 → Retry in 1 Minute
  • Intervall 1–3 → Retry alle 20 Minuten