[MS-OXORULE}.pdf and OOF
- I can access the IPM.ExtendedRule.Message OOF message (Microsoft.Exchange.OOF.KnownExternalSenders.Global) along with its PR_EXTENDED_RULE_CONDITION property and the corresponding template, but how do I set the OOF time range?
I could use the OOF Web Service ([MS-OXWOOF].pdf) , but I woudl prefer to use MAPI since I have existing code that works with the OOF rules.
Thank you!
OutlookSpy and Redemption - http://www.dimastr.com
All Replies
- Hi Dmitry:
Thank you for your inquiry.
A member of Protocol Documentation Team will be in touch soon.
Regards, Obaid Farooqi Hi Dmitry,
MAPI is not supported on this forum. This forum is focused on the support of the Microsoft Exchange Server protocols documentation.I would suggest contacting the Microsoft developer support team for messaging. You can reach them through Professional Support During Business Hours 6am-6pm PST at: +1(800) 936-5800.
When contacting the Developer Professional Support tell the customer representative that you need to be routed to the “Messaging Developer” team. Do note that this support team is a call back only so the customer representative will dispatch the support case and give you a timeframe for an engineer to call you back.
Developer Consultant- Marked As Answer byTom Devey - MSFTMSFT, ModeratorThursday, October 22, 2009 4:46 PM
- Unmarked As Answer byDmitry Streblechenko _MVP_MVPThursday, October 22, 2009 5:36 PM
- Tom,
I am not sure I understand - [MS-OXORULE].pdf is as MAPI as it gets. It gives all the relevant information about accessing extended rules using MAPI.
I just need to know where a couple properties (time range information) for a *particular* rule (OOF) are stored and how they can be accessed.
Thnaks!
OutlookSpy and Redemption - http://www.dimastr.com - What has been documented and supported is specific to Exchange RPC methods, Exchange Web Services, Exchange WebDAV Extensions, and Exchange Active Sync (EAS). The use of MAPI is not supported by this forum.
In reviewing your question I could not find any mention of PR_EXTENDED_RULE_CONDITION in the documentation (ok maybe pilot error).
There is a property PidTagExtendedRuleMessageCondition (or alternatively PR_EXTENDED_RULE_MSG_CONDITION) that may map to the property.
Is this a property information you are requesting more information or is the property something that has not been documented?
Developer Consultant - Yes, that is the property. I can read that property just fine, but the problem is that the settings that I am after (OOF date range) is nowhere to be found.
Ok, let's not mention MAPI at all :-)
Assuming I use RPC, how would I retrieve/modify the start/end time range of the OFF rule? I cannot see any relevant date/time properties on the extended rule message; the condition also does not include any date/time restrictions.
Thank you!
OutlookSpy and Redemption - http://www.dimastr.com Thanks Dmitry,
I will take a look to track this down as it appears that this may have not been documented.
Developer Consultant- Hi Tom!
just wondering if you have any updates.
Thank you!
OutlookSpy and Redemption - http://www.dimastr.com - Hi Dmitry,
Sorry for the delay as I managed to get that nice flu that is going around. I am still working on getting more information back to you.
Developer Consultant - Hi Dmitry,
Outlook 2007 and 2010 uses the web service as documented in [MS-OXWOOF] to define the OOF state and the rules. From what I have been able to research Outlook does not interact directly with the Exchange Store which may have be why the information is missing.
But then I found in [MS-OXCSTOR] section 2.2.2.1 that makes me suspect that the information is missing as it mentions [MS-OXORULE].
<snippet>
2.2.2.1 Private Mailbox Logon
PidTagOutOfOfficeState Indicates whether the user is OOF. Setting to FALSE causes accumulated OOF history maintained by the rules engine to be cleared for all folders and OOF rules. Setting to TRUE allows rules set to run only when the user is out of the office to run. For more details, see [MS-OXORULE].
</snippet>
I have filed a Technical Document Question (TDQ) asking for clarification.
Developer Consultant - Hi Dmitry,
In my discussion with development today they said they would try to get feedback on the TDQ later this week.
Developer Consultant Hi Dmitry,
Still working with development on getting information back to you.
Developer ConsultantHi Dmitry,
Feedback from Exchange development is your request for StartTime and EndTime properties through Exchange RPC / MAPI is out of scope of the Exchange Server protocols documentation.
What Microsoft has documented for the Exchange Server protocol is defined by the Interoperability Principles. The Exchange Server properties you are requesting are opaque by design because the properties are internal to the server. To access the StartTime and EndTime properties you must use the Exchange Server Out of Office (OOF) web services protocol as documented in [MS-OXWOOF]. The properties that you are interested in are defined in section 2.2.3.2 t:Duration.
Developer Consultant- Proposed As Answer byTom Devey - MSFTMSFT, ModeratorThursday, November 19, 2009 6:13 AM
- Tom,
I am a bit confused - what does "out of scope" mean?
Does it mean you do not want to document this because, well, you do not want to document this?
Or because there is no way to access these properties through RPC?
Out of curiosity, where does Web Service retrieve these properties from?
OutlookSpy and Redemption - http://www.dimastr.com The scope of what is documented defined by what flows over the wire between Microsoft Exchange Server and Microsoft clients (Outlook as an example). No Microsoft client directly accesses the properties on the mailbox so the decision was made not to document them.
The OOF web services protocol does access the OOF properties on the mailbox.
Developer Consultant- Edited byTom Devey - MSFTMSFT, ModeratorSunday, November 22, 2009 9:34 PM
- So if Microsoft Exchange supports it over RPC, but it isn't used by any version of a Microsoft client over RPC, you won't tell us how it works?
I guess that is consistent with the "that are used by any other Microsoft product" part of the Interoperability principles, but it still doesn't seem all that reasonable. What is the rationale for limiting scope this way?
Are we just expected to work it out some other way?
Brad
- Because Interoperability Principles defines the boundaries of what is documented and supported. Sure one can be clever and use RPC methods to get and set these properties but it's just not supported by Microsoft. The supported method which clients like Outlook set the OOF state using Exchange Server Out of Office (OOF) web services protocol as documented in [MS-OXWOOF].
Developer Consultant - "Not supported" would be perfectly fine with me, I'd take full responsibility if my code will break in a future version of Exchange.
The problem is that I cannot see where that data is stored and how to access it using RPC or MAPI. Any hints would be very greatly appreciated....
OutlookSpy and Redemption - http://www.dimastr.com


