Scenario: You have an XDA (or other Pocket PC device) and want it to synchronize with your Exchange Server when out of the office via GPRS, and in the office via the cradle and USB connection.
WARNING ! This document is provided in the hope that it may be useful. It worked for me – it may work for you – but I offer to guarantees.
1 Set up the hosts file on the PC
If you don't have a fully qualified domain name (see section 3) you will probably need to do this.
In windows\System32\drivers\etc\hosts add something like
100.20.30.40 yourservername.local
You will need the local IP address of your server
2 Set up Active Sync on the PC
2.1 Establish Partnership
Ensure ActiveSync is installed on the PC before connecting up the XDA.
Plug in the USB connection to the PC and power on the device. Windows XP will detect it and after a few moments ActiveSync will ask whether you want a Guest or Standard Partnership. Select Standard then Next.
Select “Synchronize with Microsoft Exchange Server and/or this desktop computer. Then Next.
You will be asked for server details. This is also contained in Options / Sync Options / Configure / Connection. Ensure:
Server Name yourservername.local
This server uses an SSL connection ticked
Domain yourdomainname
Save Password ticked
2.2 Sync Options
You will be asked about the folders to synchronize.
Ensure Calendar, Contacts, Inbox are ticked
Highlight Calendar and click settings
Synchronize only the past 2 weeks
Highlight Inbox and click settings
Amount of messages to copy 3days
To save space copy at most 5k
Include attachments ticked
Only if smaller than ticked 25kb
When it syncs, the entries for Calendar, Contacts and Inbox will say “Sync Status is on the device”. Other entries may say “Synchronized”.
At this stage, ActiveSync will try and synchronize. It may appear as if it has done so on the PC, but on the XDA it will have failed with INTERNET_45 because an SSL certificate is required. This is the next step. (Look in Start / ActiveSync / Errors )
3 Set up the domain name
The XDA needs to be able to match the domain name in the certificate to your server IP address. If your server has a Fully Qualified Domain Name (FQDN), eg “mycompany.com” or “mycompany.co.uk” then your server certificate should have been set up with that name and you don’t need to do anything else in this section.
However, if you do not have a FQDN , for example, because you are on a dynamic IP address, your domain name may look something like “mycompany.local”. Because this name cannot be resolved by the Internet DNS system, we need to instruct the XDA locally about what the IP address is for your server.
This can be done using a program called “Pocket Hosts by Zimmermann”, (http://www.zimac.de/cestuff.htm) .
Download “Pocket Hosts” and install on the XDA. Run Pocket Hosts and configure it with your details.
yourdomain.local 100.20.30.40
Where the IP address (100.20.30.40) is the actual address to access your server from the Internet.
4 Set up SSL
The XDA must use SSL, and to make that work the root certificate from the Exchange Server must be installed on the XDA.
4.1 Get the server certificate
One way of doing this is to use Internet Explorer and browse to an https page on the server, eg https://yourdomain.no-ip.com/exchange .
Right click somewhere on the page and select Properties / Certificate. Select the Details Tab then Copy to File. Press Next. There are a number of format options. I used “DER encoded base 64 X509.” Press next and save this file. (certroot.cer)
4.2 Copy the Certificate to the XDA
On ActiveSync, press the Explore Button. A window will open called Mobile Device. Open a window where you saved the certificate and drag it into the Mobile Device window. Don’t worry about the warning about file conversion.
4.3 Install the certificate
An application called addrootcert needs to be installed. There is a Microsoft Knowledge Base article (KB322956 ) on this. When addrootcert is unzipped, it creates a directory called Armrel. The AddRootCert.exe can be copied to the XDA into the /Windows/Programs directory. (This app may not be suitable for all processors running Pocket PC)
To copy the file, In the Mobile Device window, click on My Pocket PC and navigate to \Windows\Start Menu\Programs
On the XDA the addcert app appears in the Programs folder. Select Start / Programs / AddRootCert.
Select Open. The Certificate you copied to the XDA should be visible. If it isn't’t, then navigate to the location on the XDA where it was saved. Click on the certificate. The certificate will open and should contain the name of your server. Click on the Install Certificate button.
5 Verify the installation
On the XDA, Open up ActiveSync, and then select the Green Sync button. The device should now synchronize directly with the Exchange Server.
6 On the XDA
In Active Sync / Tools / Options
Use mobile schedule to sync with PC un ticked Sync with this PC during manual sync un ticked
In Active Sync / Tools / Options / Options Enable PC Sync using this connection ticked
Select USB
When syncing remotely – Disconnect when done
7 Other PC Settings
It is worth checking all the settings on the PC. Here are those that worked for me.
7.1 Rules
Desktop Leave the item unresolved Server Always replace the item on my device Pass through Connection: The Internet Open Active Sync when my mobile device connects ticked
7.2 Schedule
Desktop Schedule: When connected to my PC sync Continuously
Server Schedule: When connected to my PC sync Every 5 mins
Wireless Schedule: During Peak times sync every 15 min During off peak times sync every 2 hours When roaming sync manually
Peak times 8:00-18:00
Sync outgoing items as they are sent ticked
7.3 Sync Options
In Options / Sync Options / ensure: Synchronize Mobile Device upon Connectingis ticked. Enable synchronization with a server is ticked.
In Options / Sync Options / Configure ensure: Calendar, Contacts, Inbox is ticked
Highlight Calendar and click settings
Synchronize only the past 2 weeks
Highlight Inbox and click settings
Amount of messages to copy 3days
To save space copy at most 5k
Include attachments ticked
Only if smaller than ticked 25kb
8. Firewall issues
To access your server from the Internet, there needs to be a firewall rule to allow traffic on port 443 to route to your server. I strongly recommend you seek professional advice before adjusting firewall rules. If you have a broadband connection then its highly likely your broadband router has a firewall built in. If you can access your server using Outlook Web access from the Internet, then its likely that you already have the appropriate firewall rule.
9. Finally.....
This recipe has been implemented on an XDA II and XDA IIs with Microsoft Small Business Server 2003. It took a long time for us to finally get remote connection using ActiveSync working - partly because we didn't realize that our server had already got the required software for syncing. Our XDA II was an early model that was unstable. I updated all the firmware before setting up the ActiveSync.
The remote synchronization of email, contacts and calendar is now working perfectly. Nowadays, we rarely use the cradle for syncing, since its now doing it all the time via GPRS.
How does it compare with the Blackberry? Pretty well. I would say the only limitation is that email delivery is not as quick. Remember, Blackberry is a push technology that sends emails to the device. This is a pull technology where the device connects to the server at regular intervals. Its not really a problem for us: Our ISP server only distributes mail every 15 mins anyway. Interestingly, the Exchange server can apparently get very close to the timeliness of delivery as the Blackberry if set up in a particular way. When the exchange server gets a message, it can send an email to an "email to sms gateway" which gets routed to your handheld device, instructing the device to connect to the server. Only downside is cost. I haven't found a free gateway yet.