ActiveSync Autodiscover

Achim J. Latz achim+automx at qustodium.net
Tue May 29 19:29:45 CEST 2012


Hello Patrick:

On 29/05/2012 17:00, Patrick Ben Koetter wrote:
> MS ActiveSync Autodiscover has not been implemented yet. We want to do it, but
> lack proper documentation/understanding of the protocol at the moment. We wish
> to do it for 1.0.

Combining bits and pieces from z-push [0], I created a "definitive" 
version for a PHP autodiscovery script [1] that

a) works for Outlook Autodiscover test:
 > Attempting the Autodiscover and Exchange ActiveSync test
 > Autodiscover was successfully tested for Exchange ActiveSync.

b) works for ActiveSync Autodiscover test:
 > ExRCA is attempting to test Autodiscover for joe at domain.tld.
 > Autodiscover was tested successfully.

I used a simple case insensitive AliasMatch for the Apache vhost:

AliasMatch (?i)/Autodiscover/Autodiscover.xml 
"/var/www/autodiscover/auto.php"

The POST request that MS sends to discover *ActiveSync* is the following:

<?xml version="1.0" encoding="utf-8"?>
<Autodiscover 
xmlns="http://schemas.microsoft.com/exchange/autodiscover/mobilesync/requestschema/2006">
<Request>
<EMailAddress>achim at qustodium.net</EMailAddress>
<AcceptableResponseSchema>http://schemas.microsoft.com/exchange/autodiscover/mobilesync/responseschema/2006</AcceptableResponseSchema>
</Request>
</Autodiscover>

and the answer that the PHP script gives is this:

$protocol = "https";
$asUrl = $protocol . "://" . "mail.domain.tld" . 
"/Microsoft-Server-ActiveSync";

     <Response 
xmlns="http://schemas.microsoft.com/exchange/autodiscover/mobilesync/responseschema/2006">
     <Culture>en:en</Culture>
     <User>
     <DisplayName><?php echo $matches[1]; ?></DisplayName>
     <EMailAddress><?php echo $matches[1]; ?></EMailAddress>
     </User>
     <Action>
     <Settings>
     <Server>
     <Type>MobileSync</Type>
     <Url><?php echo $asUrl; ?></Url>
     <Name><?php echo $asUrl; ?></Name>
     </Server>
     </Settings>
     </Action>
     </Response>

With that (really simple) response, iOS is happy to autoconfigure for an 
(emulated) ActiveSync server with z-push, since we have all the 
information required:

DisplayName
EMailAddress
Url
Name

Incorporating that type of response in automx should be straight 
forward, right?

Best regards, Achim


[0] <http://z-push.sourceforge.net/phpbb/viewtopic.php?f=2&t=922&start=10>
[1] <http://www.qustodium.net/download/auto.php.txt>


More information about the automx-users mailing list