Ниже приведен процесс запроса ActiveSync к серверу:
1) Клиент отправляет HTTP-запрос на Exchange Server, запрашивая любые изменения, произошедшие в почтовом ящике пользователя за указанное время. В основном он запрашивает входящие, контакты, календарь и т. Д.
2) После того как Exchange получает этот запрос, он ищет конкретный почтовый ящик и видит изменения в папках, пока не истечет указанный срок. По истечении времени ожидания он отправляет клиентам ответ HTTP 200 OK. Затем он отправляет клиенту запрос на ответ со всеми обновлениями о папках.
3) Клиент получает ответ от Exchange и может быть любым из следующих:
HTTP 200 OK - без изменений в папках. В этом случае клиент повторно отправит запрос ping для следующего значения heartbeatinterval.
HTTP 200 OK - Изменение в папках - Получит обновления для каждой папки, которая была изменена. После завершения синхронизации запрос будет повторен в следующем интервале.
НЕТ ответа - он уменьшает временной интервал в запросе проверки связи, а затем повторно выполняет запрос с минимальным значением интервала heartbeat, чтобы получить обновление.
Поэтому в основном эти значения HearBeatInterval должны совпадать между значениями, установленными на балансировщиках сетевой нагрузки и серверах Exchange.
Значения HearBeatInterval на серверах Exchange.
MinHeartBeatInterval - минимальное количество секунд, которое клиент ожидает между выполнением команд пульса на сервер. Значение по умолчанию в Exchange 2016 составляет 60 секунд. Если это значение слишком мало, клиент будет отправлять HTTP-запрос очень часто и потреблять мощность устройства.
MaxHeartBeatInterval - максимальное количество секунд, которое клиент ожидает между выполнением команд пульса. Значение по умолчанию составляет 59 минут на сервере Exchange 2016.
HeartBeatSampleSize - это сегмент, в котором сервер собирает все последние интервалы пульса, полученные сервером от клиентов Active Sync. Он сохраняет это значение, чтобы видеть, как клиенты отправляют HTTP-запрос activesync на сервер, и обеспечивает их соответствие указанным значениям. Значением по умолчанию является ожидание 200 интервалов сердцебиения.
HeartBeatAlertThreshold - Если собранное значение HBsamplesize больше или не соответствует заданному максимальному или минимальному значению сердцебиения за указанный промежуток времени, оно регистрирует событие в журнале приложения. Значение по умолчанию составляет 9 минут.
Рекомендуется увеличить значения тайм-аута брандмауэра для HTTP-запросов к виртуальной директории Active Sync серверов Exchange, чтобы повысить удобство работы пользователей. Значение времени ожидания на брандмауэре может быть равно или больше значений, указанных на серверах Exchange 2016.