Question

I've a question regarding the over all design of push email and specifically the approach taken by Exchange ActiveSync.

As I understand there are two basic ways to get push email with the following architecture

Device <---> Push Email Server <---> Actual Email server

  1. Keep a constant socket connection between Push email server and device. Push email server will inform device over the connection.
    • Related technology - IMAP IDLE
    • No sms gateway required
  2. The Push email server will send a message (wap push, sms etc) to ask device to download new email.
    • Related technology- OMA-ENM
    • Needs a SMS gateway at Push email server

Considering this, what type of push email service does Exchange Activesync actually offer?

(AFAIK, white label push solution from Emoze/Synchronica uses the 1st approach - constant connection over something like IMAP-IDLE).

Was it helpful?

Solution 2

I think Exchange ActiveSync offers something similar to IMAP-IDLE, see below...

http://technet.microsoft.com/en-us/library/aa997252.aspx

If you've come to a different conclusion please post. Thanks!

OTHER TIPS

Exchange ActiveSync uses Direct Push. The client (phone, whatever) syncs with the Exchange server and then makes a very long-running HTTP POST request (called a "PING", but it's not an ICMP ping or anything like that). When the client issues the request they specify how long it should run for (typically it's on the order of many minutes).

That HTTP POST request will sit there idle on the Exchange server's side until either a change occurs in the mailbox or the time period requested by the client had simply passed with nothing of interest happening.

In the case of the former - where something changed in the mailbox - the return value of the POST call indicates to the client that it needs to re-sync with the mailbox to pull down the latest changes.

In the case of the latter - where nothing changed at all - the return value specifies this and the client simply re-sends another long-running PING to the server, repeating the whole process again.

So it's your #1, really. For more information, this Microsoft link goes into more detail.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top