61

I'm working on a custom implementation of a server (VERY basic WebDAV) that accepts Outlook's published calendars.

Outlook seems to have a setting (see the screenshot below) where it accepts a parameter form the server that tells it how often to re-publish the calendar and that's the parameter I'm trying to figure out.

Outlook's Option allowing the server to specify the recommended frequency

If the setting is not specified Outlook defaults to 60 minutes which doesn't work for me but I cannot find any information on what the parameter might be (I am aware that Outlook's settings can be adjusted within the UI but I need it done automatically via a response from the server). When using Wireshark I see that when first publishing the calendar Outlook sends a PROPFIND method to the URL of the server:

PROPFIND /path/to/url HTTP/1.1
X-Office-Version: 15.0.4771
Depth: 1
Content-Type: text/xml
User-Agent: Microsoft Office/15.0 (Windows NT 6.3; Microsoft Outlook 15.0.4771; Pro)
Host: example.com
Content-Length: 114
Connection: Keep-Alive
Cache-Control: no-cache

<?xml version="1.0" encoding="utf-8" ?> <D:propfind xmlns:D="DAV:"><D:prop><D:resourcetype/></D:prop></D:propfind>

which then responds with an XML (I'm assuming this is where the setting would be, but cannot find any information on it):

<?xml version="1.0"?><a:multistatus xmlns:a="DAV:"/>

I'm lost at this point and not sure where else to be looking after lots of Googling and traffic sniffing (of Outlook <->Exchange communications but none that I found seem to be using the non-default param). Any suggestion where would be a good idea to look for something like this?

Mihail Russu
  • 2,526
  • 1
  • 17
  • 27
  • 1
    This is a guess after quite a bit of googling... maybe the "server" that checkbox is referring to isn't the WebDAV server you're publishing to, but the Exchange server your Outlook account is associated with, and it's pulling from some Exchange-specific property, e.g., `DevicePolicyRefreshInterval`. I may have missed something, but I didn't see anything in the WebDAV specs or other WebDAV servers' documentation that mentioned anything like a recommended sync frequency. – heenenee Dec 28 '15 at 19:53
  • 1
    I would recommend you try running it on a real webdav server and see what's being sent back and forward between client and server. – Evert Mar 11 '16 at 00:38

2 Answers2

3

CalDAV (Calendaring Extensions to WebDAV, documented in RFC-4791) uses the iCalendar (Internet Calendaring and Scheduling Core Object Specification, documented in RFC-5545, not to be confused with Apple's iCal) format for the data exchange. iCalendar accommodates non-standard properties that start with a "X-" prefix.

X-PUBLISHED-TTL is the property that maps to the recommended update interval for subscription to the calendar. It's supported by Microsoft for Outlook & Sharepoint, and possibly by some more calendar publishers, but not by Google or Apple.

Example values:

X-PUBLISHED-TTL:PT1H        (every hour)
X-PUBLISHED-TTL:PT120M      (every 120 minutes)

There's also some work-in-progress to officially add a similar property to the iCalendar spec. According to the latest version of the New Properties for iCalendar draft proposal, the new REFRESH-INTERVAL property would be used in the following way:

REFRESH-INTERVAL;VALUE=DURATION:P1W
Community
  • 1
  • 1
Cahit
  • 2,484
  • 19
  • 23
  • Any idea on the default values for these when they are not specified? – John Brandenburg Aug 14 '18 at 14:30
  • I don't know why this received a down-vote. As far as I can tell, this is the most accurate information out there and is absolutely how Outlook gets its values. If someone has information saying otherwise, I'd love it if it was a post here rather than just a downvote on a good answer. – Doug Aug 05 '19 at 13:12
1

There is no Outlook Server setting for frequency of polling. This setting is at the client end. On an email client "check for new messages" is used to avoid overloading the server with requests. See the MS Outlook website .

David Spector
  • 1,520
  • 15
  • 21
  • Yes, it's mentioned in the original post that there's a client setting for this. If there wasn't a server setting then in the "Update this calendar with the *server's* recommended frequency" checkbox shown on the screenshot - what would the *server* refer to in that case? – Mihail Russu Feb 12 '19 at 08:07
  • 1
    I think that "server's recommended frequency" is poor English for "the recommended frequency for polling the server". There is no reason for any email server to have a frequency option, other than things like timeouts and frequency of delivery attempts when a delivery fails, and those usually have reasonable defaults. – David Spector Feb 12 '19 at 13:43