HMC 4.5 and Exchange 2007 SP1 - Part #4 Internal and External Out of Office

转自 http://blogs.technet.com/provtest/archive/2008/12/26/hmc-4-5-and-exchange-2007-sp1-part-3-internal-and-external-out-of-office.aspx 很好的文章,贴过来收藏,hehe.


Internal and External OOF in HMC Environment

So, the 4th main customization that HMC introduces to Exchange 2007 is the OOF Transport Agent. What is OOF? Here is the text book definition, "The Out-of-Office (OOF) feature is commonly used by end-users to let other people know when they are not available to respond to e-mail." Now, I don't intend to go into the working of OOF in Exchange 2007 because I think there are better articles out there that talk about it.

Here, I want to briefly explain how Exchange 2007 OOF, out of the box isn't really working complete in a HMC environment and how we make it work.

What's not working, really?

Exchange 2007 introduces the concept of Internal and External OOF. This is something that a lot of our customers have been waiting for. Now, we all know Exchange 2007 wasn't packaged with multi-tenancy enabled out of the box. The problem is this, the identification of what is considered internal and what is external.

If a mail is sent from one user to another (even though they are of different tenants) within the same Exchange Organization, it is considered internal. In another word, a hoster may hold both company A and company B, however, Exchange 2007 believes that both company A and company B are internal, and hence company A will never use External OOF to company B. This breaks the concept of internal and external OOF notification as in Exchange 2007 in HMC environment.

For example,

  1. Hoster A has a HMC environment that hosts both company A and company B.  
  2. John from company A set an internal and external OOF. The internal OOF is only intended for users in company A.
  3. Alice from company B sends an e-mail to John from company A. Instead of getting John's external OOF, she got his internal OOF.

How do we make it work then?

To support Out of Office (OOF) feature for tenants among different organizations within the same Windows domain, HMC introduces a customized OOF transport agent on all Exchange Hub Transport servers. As highlighted over here (http://technet.microsoft.com/en-us/library/cc545931.aspx), the OOF agent includes two utilities:

  • Categorizer Override Agent: A transport agent to override the categorizer behavior on Hub Transport servers. This agent sits in Submission Queue and to be more specific, OnSubmittedMessage in the Exchange 2007 Transport pipeline.

 

  • SMTP Domain Cache Task: A scheduled task to generate cache files for categorizer override agent to filter the OOF messages. Based on the deployment document, the interval recommended is 60 minutes.

So, how do these utilities work? It is quite simple as a matter of fact. Let's talk about the Categorizer Override Agent first. When a mail comes into the Hub Transport server, it hits the OnSubmittedMessage; it fires up the Categorizer Override Agent. The agent checks to see if the mail is sent using an external OOF template, if yes, then it expands the recipients to check and bypass suppression of the external OOF message for external and inter-company recipients.

Next it checks to see if it is an internal OOF template, if it is, it will then expand the recipients and suppress the internal OOF message for external and inter-company recipients.

For performance reason, that's where the SMTP Domain cache task comes in. The task read from the MPS SQL server for all the domains that have been provisioned and generate a .cache file with all the domains hosted by the environment periodically.

This file is used by the categorizer override agent to find out if it is part of this Exchange organization. Having it cached as a local text file, is obviously a big performance gain compared to going to Active Directory to make the query every time especially if the environment has large number of hosted domains.

So, there you go, with the above, it overrides the logic of Internal and External OOF when dealing with different companies in the same Exchange organization.

The OOF agent was first introduced in HMC 4.5 and Microsoft has also back ported this agent to HMC 4.0 environment, (http://blogs.technet.com/provtest/archive/2008/11/19/oof-agent-is-now-available-in-hmc-4-0.aspx)


What are some of the usual problems that you may face while installing this OOF agent?

The installation of the OOF agent is clearly documented here. However, there are a few areas that you may encounter issues,

The OOF agent included in the deployment ISO is a 32-bit agent. Hence, the default path, instead of the documented, C:\Program Files\Microsoft\Exchange Server\TransportRoles\Agents\CategorizerOverrideAgent, it will be C:\Program Files (x86)\Microsoft\Exchange Server\TransportRoles\Agents\CategorizerOverrideAgent instead.

 Another thing you should know is that, the Microsoft Exchange Transport service runs as a NT_AUTHORITY\NetworkService account. Hence, you need to make sure whichever directory that you are installing this agent in, the NT_AUTHORITY\NetworkService must have permission to it.

Also, it is my recommendation to Install HMC 4.5 Rollup 1 instead as this rollup includes a 64-bit binaries.  

Another common mistake that most people may have is not setting the path correctly in SmtpDomainCacheTask.exe.config file. A simple mistake there may, like removing a '&' may result in failure with strange error.

More about OOF?

In case you want to know more about the working of OOF, here are 2 articles that you may want to read,

Exchange Server 2007 Out of Office (OOF)
http://msexchangeteam.com/archive/2006/10/06/429115.aspx 

Legacy client and Out of Office (OOF) interoperability
http://msexchangeteam.com/archive/2007/04/04/437544.aspx

1 Comment

I have been getting trouble tickets lately that oof changes is not used.

Say someone disables oof - The oofs are still sent even though the outlook and the web shows its off.

Or if you change an oof - is not changed to the new.

I have been looking high and low, but the HMC usegroups are closed now.

Im HMC4.5RU6

Leave a comment

Recent Entries

  • 小心安装 OCS 2007 R2 Cumulative Update 6 (CU6) 和 .NET 4.0

    今天发现有新的 OCS 2007 R2 的更新,于是就跑去把几台 OCS 2007 R2 的服务器都给升级了,为了偷懒,用了那个一体化更新包ServerUpdateInstaller.exe,这个东西好是好,就是下载后没有点版本信息可以从文件名看出来,每次都一样,我只好自己在后面加个尾巴标注。更新完了重启,发现 Front-End 服务死活都起不来,检查系统日志,发现Event ID: 30968 Source: Live Communications User Services Details: The component Live Communications User Services...

  • 解决 SQL 2008 Reporting Service 的 TeraData 扩展错误

    新装的一台 SQL Server 2008 SP1, 上面有跑数据库引擎和报表服务,新装后不久在事件管理器中频繁出现以下错误:Log Name:      ApplicationSource:        Report Server (MSSQLSERVER)Date:          7/2/2010 12:48:21 AMEvent ID:      108Task Category: ExtensionLevel:         ErrorKeywords:      ClassicUser:          N/AComputer:      M2AHKCRMWEB01.mail2any.localDescription:Report Server (MSSQLSERVER) cannot...

  • 配置OCS XMPP网关以支持OC和Jabber XCP联系人的通讯

    占个位...

  • 配置OCS XMPP网关以支持OC和Gmail联系人的通讯

    是的,您没有看错,我也没有写错!现在通过安装配置 XMPP 网关,您可以在 Office Communicator 中添加 Gmail (Google Talk)用户作为联系人,查看对方的忙/闲状态,并即时聊天。 微软的OCS团队早在去年就在其团队博客上面发布了配置指南,请移步 http://communicationsserverteam.com/archive/2009/10/01/599.aspx 查看。 另外本文也参考了MVP- Jeff Schertz 的博文 http://blogs.pointbridge.com/Blogs/schertz_jeff/Pages/Post.aspx?_ID=91 基本上,您需要在现有运行良好的 OCS 2007 R2环境中添置至少一台 XMPP 网关服务器,通过配置其相关设定,来支持和Gmail用户的连接。 下面我也说说我自己的经验和步骤: 一、拓扑图 我们先来看看微软官方文档中的一幅图: Gmail...

  • 为 phpBB3 配置 LDAP 认证

    最近需要架设个论坛,需要支持 LDAP 认证,一番Google之后,选择了来源的 phpBB3 废话不多说了,直接来看看 LDAP 认证设置部分. 管理员控制面板->客户端通信->认证设置 关键参数设置 LDAP 服务器名称: 192.168.1.21 --domain.local 域控的IPLDAP基础dn: OUTest, DC=Domain,DC=localLDAP uid: sAMAccountNameLDAP 用户 dn: CN=phpBB,CN=Users,DC=domain,DC=localLDAP 密码: phpBB用户的密码 因为2003以后域不再支持匿名用户查询,所以需要有个域用户来做 LDAP...

Close