none
ActiveSync - SyncWindow seems to be ignored RRS feed

  • Question

  • I'm making a sync request that includes the following:

    1) Global sync window size of 400

    2) Folder Ids that correspond to the the inbox, the calendar and the contacts folder.

    3) Per-folder sync window size of 100

    Based on the active sync documentation what I'd be expecting is that we'd get back 100 items for inbox, 100 items for calendar, and 100 items for the contacts folder. Since the documentation states that the per-folder window sizes will be filled until the global window size is filled.

    What I'm finding however is that the inbox folder returns 100, items, and all that's returned for the other folders is new sync keys, then once the inbox is synced i get data for the calendar, then finally contacts. The only time that data for more than one folder is returned is when we have a partial filling of the inbox folder (i..e fewer than 100 items). At that time I get both inbox and calendar, but only a new sync key for contacts.

    This seems to go against the description of the sync windows in the active sync documentation. Is what I'm seeing as expected (i.e. that I am not getting back 100 emails, 100, calendar events, and 100 contacts in a single request) or is it working as expected?


    Friday, May 16, 2014 1:57 PM

Answers

  • Hi Lee, since we resolved your issue offline I am posting the details of the problem resolution here for the benefit of the community.

     

    This is something that has to be configured in the web.config file on the server as well. Otherwise, the default maximum value is 100.

     

    The web.config file should be located here on the Exchange Server.

     

    C:\program files\microsoft\exchange server\v15\clientaccess\sync\web.config

     

    Search for MaxWindowSize.  If it is there, update the value to 400.  If it's not in the file already, add the following under <appSettings> and save the file.

     

    <add key=”MaxWindowSize” value=”400”/>

     

    Just for completeness, run “iisreset” from the command prompt.  ASP.Net should monitor the web.config for changes and cycle the app pools, but manually doing it just makes sure that it actually picks up the changes.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Monday, June 30, 2014 4:17 PM
    Moderator

All replies

  • Hi Lee,

    Thank you for your question. A member of the Protocol Documentation support team will respond to you soon.

    Regards,
    Vilmos Foltenyi - MSFT

    Friday, May 16, 2014 4:30 PM
  • Hi Lee, I am the engineer who will be working with you on this issue. I am currently researching the problem and will provide you with an update soon. Thank you for your patience.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Tuesday, May 20, 2014 3:51 PM
    Moderator
  • OK great thanks very much, anything that you can do to shed some light on the issue would be very helpful. 

    I will provide an active sync capture of the request as well and update this support post.

    Tuesday, May 20, 2014 3:58 PM
  • A capture would be very helpful. Please send that to me at dochelp(at)microsoft(dot)com.

    Thank you.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Tuesday, May 20, 2014 4:01 PM
    Moderator
  • I just sent the logs to dochelp@microsoft.com with an explanation of what the behavior is.

    Thanks
    Lee

    Tuesday, May 20, 2014 4:51 PM
  • We received the files.  Thanks.

    Bryan S. Burgin Senior Escalation Engineer Microsoft Protocol Open Specifications Team

    Wednesday, May 21, 2014 4:19 PM
    Moderator
  • Hi Lee, since we resolved your issue offline I am posting the details of the problem resolution here for the benefit of the community.

     

    This is something that has to be configured in the web.config file on the server as well. Otherwise, the default maximum value is 100.

     

    The web.config file should be located here on the Exchange Server.

     

    C:\program files\microsoft\exchange server\v15\clientaccess\sync\web.config

     

    Search for MaxWindowSize.  If it is there, update the value to 400.  If it's not in the file already, add the following under <appSettings> and save the file.

     

    <add key=”MaxWindowSize” value=”400”/>

     

    Just for completeness, run “iisreset” from the command prompt.  ASP.Net should monitor the web.config for changes and cycle the app pools, but manually doing it just makes sure that it actually picks up the changes.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Monday, June 30, 2014 4:17 PM
    Moderator