Static port mapping for Exchange 2003 and Outlook

I got into a bit of a heated discussion in the pub the other evening about how Outlook communicates with Exchange.  Daft isn’t it, how innocent statements get turned into full blown arguments (I suppose thats how some wars get started too).  Anyway the consultant I was arguing with couldn’t see the reason why Outlook and Exchange used random ports to communicate with each other (it’s the way that RPC works).  He wanted to set up a system so that the port ranges were fixed and static. I started off with a full explanation about RPC etc. etc. But he dug his heels in and wanted to fix the port ranges. I said “Exchange doesn’t work like that”

Well, after a bit of searching <blush> Tony, here’s how you do it…..

Locate, and then click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM

.,….\CurrentControlSet\Services\MSExchangeSA\Parameters
Add the following entry for the Microsoft Exchange SA RFR Interface:
Value name: TCP/IP Port
Value type: REG_DWORD
Value data: Port number to assign

Watch out for the limitations for port ranges though.  There is a problem too with mail notification which is received through a random UDP port, and this port can not be mapped in a static manner.  So if you’re using a firewall between clients and servers you need to turn on RPC polling

You must also manually create the following keys to override the ForcePolling registry value that is set by Windows XP SP2. To do this, follow these steps.
Locate and then click to select the following registry key:
HKEY_CURRENT_USER\Software\Policies\Microsoft
On the Edit menu, click Add Key, and then typeOffice. The class is None.
Click the Office key,click the Edit menu, click Add Key, and then type 10.0. The class is None. 
Click the 10.0 key, click the Edit menu, click Add Key, and then type Outlook. The class is None.
Click the Outlook key, click the Edit menu, click Add Key, and then type RPC. The class is None.
On the Edit menu, click Add Value, and then type ForcePolling. The data type is REG_DWORD, and the value is 0.

So sorry Tony – I was wrong about the mappings.  Drinks are on me next time I’m in London🙂