Exchange Autodiscover is relating to “information” from three different perspectives:
- Autodiscover is the tool that Exchange client uses for getting information about the Exchange infrastructure.
- Autodiscover is the method in which Exchange CAS server provides information to his Exchange clients.
- Autodiscover is the information itself.
Table of content
Article Series Table of content | Click to expand
Exchange and Autodiscover infrastructure | Article Series
Exchange Autodiscover – Article series – INDEX
Exchange and Autodiscover infrastructure | The building blocks
- Exchange Autodiscover infrastructure – Introduction | Part 01#36
- The old Exchange environment versus “modern” Exchange environment | Part 02#36
- Who are the Exchange Autodiscover clients? | Part 03#36
- The Autodiscover information | Part 04#36
- The Autodiscover algorithm for locating the “source of information” | Part 05#36
- Exchange CAS server | Providing Exchange clients access to their mailbox | Part 06#36
- Exchange CAS server as information + Web service provider | Part 07#36
- The dual identity of the Exchange server | Part 08#36
Autodiscover infrastructure | FQDN and URL address
- The basics of Domain name, FQDN and URL address | Exchange infrastructure |Part 09#36
- Exchange Web services | Manage the Internal and external URL address | Part 10#36
Exchange Autodiscover flow in different environments
- The content of the Autodiscover server response | Part 11#36
- Outlook client protocol connectivity flow in an internal network environment | Part 12#36
- Exchange clients and their Public facing Exchange server | Part 13#36
- Outlook Autodiscover decision process | Choosing the right Autodiscover method | Part 14#36
- Autodiscover flow in Active Directory based environment | Part 15#36
- Autodiscover scenarios in enterprise environment | Part 16#36
Autodiscover infrastructure | Exchange infrastructure and namespace convention
- Should I use a single namespace for Exchange Infrastructure? | Part 1#2 | Part 17#36
- Exchange infrastructure | Implementing single domain namespace scheme | Part 2#2 | Part 18#36
- Public SAN certificate | Deprecated support in the internal server name | Part 19#36
Exchange, Autodiscover and security infrastructure
Autodiscover Troubleshooting tools
- Outlook Test E-mail AutoConfiguration | Autodiscover troubleshooting tools | Part 1#4 | Part 21#36
- Microsoft Remote Connectivity Analyzer (ExRCA) | Autodiscover troubleshooting tools | Part 2#4 | Part 22#36
- Microsoft Connectivity Analyzer (MCA) | Autodiscover troubleshooting tools | Part 3#4 | Part 23#36
- Using Fiddler for Autodiscover troubleshooting scenarios | Part 4#4 | Part 24#36
Autodiscover major flow scenarios
Autodiscover flow in an Exchange on-Premises environment | non-Active Directory environment
- Autodiscover flow in an Exchange on-Premises environment | non-Active Directory environment| Part 1#3 | Part 26#36
- Autodiscover flow in an Exchange on-Premises environment | non-Active Directory environment| Part 2#3 | Part 27#36
- Autodiscover flow in an Exchange on-Premises environment | non-Active Directory environment| Part 3#3 | Part 28#36
Autodiscover flow in an Office 365 based environment
- Autodiscover flow in an Office 365 environment | Part 1#3 | Part 29#36
- Autodiscover flow in an Office 365 environment | Part 2#3 | Part 30#36
- Autodiscover flow in an Office 365 environment | Part 3#3 | Part 31#36
Autodiscover flow in an Exchange Hybrid environment
- Autodiscover flow in an Exchange Hybrid environment | Part 1#3 | Part 32#36
- Autodiscover flow in an Exchange Hybrid environment | Part 2#3 | Part 33#36
- Autodiscover flow in an Exchange Hybrid environment | Part 3#3 | Part 34#36
Exchange Stage migration and Autodiscover infrastructure
In the following article, I would like to zoom in on the aspect of the Exchange CAS server as the source for information and the Autodiscover process that enables the Exchange client to retrieve the required information.
The article content
In this article, we continue our “first glimpse” at the Exchange Autodiscover infrastructure.
We will review subjects such:
Q1: How to find the source of information?
Q2: What is the way that the client uses for locating the element that will provide them the required “Autodiscover information”?
Q3: What does the Autodiscover respondent include?
Q4: When the server responds with an answer (Autodiscover response), what is the content of this “answer.”
Q5: How the Autodiscover information is created?
What is happening behind the scenes on the Exchange CAS server which need to generate the Autodiscover response
Q6: What are the Exchange web based service?
What is the meaning of -“Exchange web services” and what are the available Exchange web services
What is the “Exchange information”?
Exchange client, need a lot of information about the Exchange infrastructure.
If we want to use a metaphor for describing the “role” of the Exchange CAS server as an information provider, we can relate to the Exchange CAS server as a “door to the information.”
In the following diagram, we can get a general concept about the “type of information” that provided by the Exchange server.
1. Exchange web based services
- The exchange provides many types of services to his client, most of this “Exchange service” consider as web services.
Exchange client’s access the “Exchange web service”, by using a URL address that includes the FQDN of the host (Exchange CAS server) that provides the particular web service.
- The information about the available Exchange web services is “passed” to the Exchange client as part of the Autodiscover process.
- Each time that the Exchange client needs to use a particular Exchange web service, the client will use the information (the Autodiscover infrastructure) that was sent by the Exchange CAS server.
- The Exchange CAS server is the information provider and, at the same time, the elements that provide different web services.
2. Configuration settings required for creating a new Outlook mail profile.
The “other type of information” that needed to Exchange client such as Outlook is the configuration setting’s details that required for creating a new Outlook mail profile.
The creation of a new Outlook mail profile and in particular Outlook Anywhere profile, require a lot of configuration settings.
Theoretically, these details can be fulfilled manually by the user, but, in a modern Exchange environment such as Exchange 2013 that uses a session ID, instead of using the Exchange CAS server name, the option of -“creating a new Outlook mail profile manually” is barely possible.
Under the “other” section, we can add additional types of details and information that provided to the Exchange clients.
Technically, there is no limitation or restriction on the amount of data, which can include in the “information package,” that is provided by the Exchange server.
The Autodiscover information that is provided by the Exchange CAS server can include a new and updated type of information that not provided by prior versions of Exchange servers.
The “catch” is that as long that the client knows how to “read” and relate to the data that included in the Autodiscover response it’s O.K.
Autodiscover process | Client versus server
If we want to encapsulate to one-sentence meaning of Exchange Autodiscover, we can say that: it’s all about the relationships between client and server.
In the current article, and in the following provisions of this series, we will use different terms for describing this “client and server relationships”:
The client side
We can relate to the client as: “client,” as a “Mail client” or, as an “Exchange client.” When we relate to the particular process of Autodiscover, we will refer to the Exchange client as –“Autodiscover client.”
The server side
As mentioned, the Exchange architecture includes five types of server roles, but 99% of the time when we mention the term: “server” or “Exchange server” the meaning is the Exchange server which holds the CAS (Client Access Server) role.
When we relate to the Autodiscover process, the terms that will be used for describing the “server-side side element” that provides the Autodiscover services could be:
- Autodiscover Endpoint
- Destination server
- Destination host
- Potential Autodiscover Endpoint
- Final Autodiscover Endpoint.
The reason for using the term “Potential” is because, when the Autodiscover client addresses the “destination host”, he doesn’t know if this is the “right host” that can help him to complete the authentication process, provide the Autodiscover information and so on.
In other words -the Autodiscover client “hope” that the Autodiscover Endpoint that he tries to connect is the correct or the “last hope” in the Autodiscover process round trip.
Autodiscover query and Autodiscover response
The Autodiscover includes many aspects such as a protocol that is used by the client to locate their “source of information” (Exchange CAS server).
The other aspect is the part in which the Autodiscover reach the required Autodiscover Endpoint completes all the authentication and identification steps and gets to the point and which the client asks for the necessary information, and the server provides this information.
The request or the query that the Exchange client sends, described as Autodiscover request.
The “answer” of the server which includes the requested information described as Autodiscover response.
In my mind, the Exchange CAS server is some kind of superman that came to save the world in his hour of distress.
What does the Autodiscover response include?
The Autodiscover response that provided by the Exchange CAS server (the Autodiscover Endpoint) is dynamically generated and sent to the Exchange client (the Autodiscover client).
The Autodiscover response that’s sent to the Autodiscover client includes two main parts:
1.Configuration settings\instructions for Outlook + Outlook Anywhere mail profile
The task of creating a new Outlook mail profile can be considered as a complicated task because the Outlook mail profile such as Outlook Anywhere mail profile, includes many different parameters that relate to the protocol type, the authentication protocol, the method to the server identification and the name of the required Exchange CAS server.
In case that the Exchange infrastructure based on Exchange 2013, the task of “getting the name of the Exchange CAS server” become even more complicated. In an Exchange 2013 environment, the mail client doesn’t use the Exchange CAS server name but instead, use a session ID that is sent by the Exchange CAS server.
2.Information about Exchange services
The other “type of information” that included in the server Autodiscover responds is information about each of the available Exchange web services.
The information includes the service name, the name of the Exchange server which provides the service, and the URL that the Exchange client will need to use in case he wanted to access a particular service.
How does the Autodiscover information is created?
The Autodiscover information that is provided by Exchange server considers as a dynamic content that is “regenerated dynamically,” each time that an Exchange client asks for the Autodiscover information.
The reason for the “dynamic nature” of the data is because Exchange infrastructure and, especially Office 365 and Exchange Online infrastructure could consider as very dynamic.
The meaning of – “dynamic” is that in each mint or hour, there could be changes in the Exchange infrastructure such as – Exchange CAS server\s that are not available for any more verses new Exchange CAS server\s.
Other examples could be changes or updates of Exchange CAS server\s that provide a particular web service.
The Autodiscover response format
The “answer” (the Autodiscover responds) that the Exchange CAS server provides is implemented as data in XML format.
The Autodiscover process based on a method, on which the Autodiscover client, request from the Exchange CAS server a file named – autodiscover.xml or autodiscover.svc
Apparently, we can think that autodiscover.xml is a static file that is stored in the Autodiscover folder on the Exchange CAS server but in reality, there is no such file.
The Autodiscover response that is sent as an “answer” (the request for the autodiscover.xml file) is a dynamic content that created on a real-time (based on the type of the mail client, the current Exchange infrastructure information and so on).
Autodiscover infrastructure | Recap
After we have to review the basic components of Autodiscover, let’s recap some of the concepts of Autodiscover infrastructure.
- The “element” the described as the “source of information” is the Exchange CAS server. The primary purpose of the Autodiscover process is to enable the Exchange clients, to find the “right Exchange CAS server” that will be able to provide them the required Autodiscover information.
- When we describe a subject that refers to the Exchange Autodiscover infrastructure, we relate to the Exchange client as a – Autodiscover client and relate to the Exchange CAS server as Autodiscover Endpoint.
- The Autodiscover Endpoint (the Exchange CAS server) provides to the Autodiscover clients the information using an XML file named: autodiscover.xml
- The autodiscover.xml includes information that needed for Exchange client such as Outlook, for creating a new mail profile and additional information all the available Exchange services that exist in the Exchange forest\organization.
- Exchange services are web-based services and for this reason, the information about Exchange services is implemented by providing the URL of the Exchange Online services.
Autodiscover – client versus server perspective
The Autodiscover infrastructure is built from two parts: the client side and the server side.
The Autodiscover service on the “client side” enables to the Exchange client to perform tasks such as:
- Decide about the preferred Autodiscover method.
- In an Active Directory environment – create a Query the local Active Directory (using the LDAP protocol) and ask for a list of Autodiscover Endpoint (available Exchange CAS server\s).
- In a non-Active Directory environment – communicate the Autodiscover Endpoint using HTTPS and HTTP protocol.
- Get the server certificate of the Autodiscover Endpoint and provide the user credentials to the Autodiscover Endpoint.
- Get the autodiscover.xml and use the information included in the file for creating a new Outlook mail profile or access the different Exchange services.
The Autodiscover service on the “server side,” is responsible for:
- “Listen” and registered updates in changes in the Exchange environment.
- Accept requests from Autodiscover client, provide them the public server certificate, get the user credentials.
- Generate the autodiscover.xml file and provide the file to the Autodiscover client.
The variation of the Outlook mail client
The Autodiscover response of the Exchange CAS server is based on a dynamic process, in which the Exchange CAS server recognizes the version of the Outlook client and, based on the specific Outlook version, generate a custom Autodiscover responded.
For example, Exchange server will create a different “answer” (XML response) for Outlook client version 2007 versus Outlook client version 2013.
It is important for us to know your opinion on this article