Exchange ActiveSync Requests Status Test

When a mobile device attempts to synchronize with a mailbox on the Exchange server, the server returns an HTTP status code to the device indicating the status of the synchronization attempt. Some of the most critical HTTP status codes for ActiveSync and their interpretations are as follows:

HTTP status code Description

HTTP_200

Indicates that the device successfully connected to the Exchange server and synchronized with the mailbox on the server.

HTTP_401

Indicates one or all of the following:

  • The credentials provided to access the server are incorrect;
  • The user is not enabled for synchronization

HTTP_404

Indicates that an issue exists with the user account

HTTP_404

Indicates that the file requested is not found on the server

HTTP_449

Indicates that the synchronization attempt should be retried

HTTP_500

Indicates one or all of the following:

  • The Internet Information Service is unavailable.
  • Windows Integrated Authentication is not enabled on the Exchange Server virtual directory of the server where the mailbox of the user resides.
  • Synchronization is tried when the mailbox is being moved.

HTTP_502

Indicates an error in the proxy server used to connect to the ActiveSync Server

HTTP_503

Indicates that the ActiveSync service is unavailable

Periodic review of these status codes and the synchronization attempts that resulted in these codes is imperative to understand how error-prone ActiveSync on the Exchange server is, identify the errors that occur frequently, investigate why these errors occur, and easily troubleshoot them. This is where the Exchange ActiveSync Requests Status test helps!

This test automatically discovers the HTTP status codes returned by the Exchange server for ActiveSync accesses. For each status code so discovered, the test reports the number and percentage of accesses that returned that status code. This way, the test points administrators to status codes that were returned most often, thus shedding light on ActiveSync errors that occurred frequently.    

Target of the test : A Microsoft Exchange 2013/2016 server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each status code returned by the ActiveSync server

Configurable parameters for the test
  1. Test period - Indicates how often this test needs to be executed.
  2. Host - Indicates the IP address of the Exchange server.
  3. port - The port number of the client access server. By default, this is 443. 
  4. xchgextensionshellpath - The Exchange Management Shell is a command-line management interface, built on Windows PowerShell v2, which enables you to administer every part of the Microsoft Exchange Server. This test uses the Exchange management shell to run scripts and collect the desired performance metrics from the Exchange server. To enable the test to load the Exchange management shell snap-in (exshell.psc1) for script execution, you need to specify the full path to the Exchange management shell in the XCHGEXTENSIONSHELLPATH text box. For instance, your specification can be, c:\progra~1\micros~1\exchan~1\v14\bin\exshell.psc1.
  5. Logfile Name – The Client Access Server is an IIS web server that hosts Exchange-related web pages. This is why, like any other IIS web server, the client access server creates a daily log of its activities – including Exchange ActiveSync-related activities - in the C:\inetpub\logs\logfiles\W3SVC1\ directory by default. To report metrics on ActiveSync, this test parses the client access server’s log file, reads the ActiveSync-related errors/warnings/general information messages that were recently logged (i.e., during the last 5 minutes) from the file, and writes them to a ActiveSynchLog.log file it creates in the <eg_agent_install_dir>\agent\logs directory. Then, the test reads the metrics of interest from this log file and reports them to the eG manager. To enable the test to do the above, you need to specify the exact path to the directory that contains the client access server’s logs in the logfilename text box.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Total hits:

Indicates the current number of hits to the Exchange mailbox server that returned this status code.

Number

Compare the value of these measures across status codes to identify the status code that is returned frequently. High values for the 4xx or 5xx class of status codes is a cause for concern, as they indicate client and server errors respectively.  If such status codes are returned often, administrators will have to look up the Microsoft documentation to understand what error condition each code represents and how to resolve it.

Hit ratio:

Indicates the percentage of hits to the Exchange mailbox server that returned this status code.

Percent