Contacts vs Subscribers in OCS 2007 R2

In OCS 2007 R2 deployments where you have a large amount of users with large contact lists you may have users that experience the problem of seeing colleagues with unknown presence. Troubleshooting this may prove to be difficult because there is nothing wrong with the system, it is by design. The reason for this is that the Default Presence Policy has a set of limits and restrictions that affect presence. The following table describes the available presence policy settings:
By default, the Default Policy and Service: Medium presence policies are installed when you deploy Office Communications Server 2007 R2. The following table describes the specific settings of the two presence policies
So what does this mean?
  • CategorySubscriptions: Defines how many users are getting your presence information
    • Max: 3000 / 5 = 600. Additional users will see you as presence unknown
    • We divide by 5 because of each category that make up the presence document
      • contactCard
      • calendarData
      • Note
      • Services
      • State categories
    • The result of this is that 400 hundred out of thousand users how have you in their contact list will see presence unknown
    • Setting a large number here will have a significant impact on performance if the average user has a larger number of users subscribing to their presence
  • PromptedSubscribers: Maximum Number of Queued Presence Subscription Alerts
    • Max: 500
    • Determines the maximum number of prompts that can be queued up for a given user
      • An “acknowledgement prompt” is created when a subscriber subscribes to a users presence
      • Once the user acknowledges the subscription, the entry is moved
      • Most of the time there will only be a few entries in this table (assuming the user acknowledges the prompts and doesn’t just ignore them)
    • This table could get full in certain situations when users are imported into the system
    • Setting a larger number here has no real impact on performance
  • “Maximum contacts per user”: Maximum number of contacts per users contact list
    • Max 1000, default 200
    • If you have 1000 users and all those 1000 users have indeed 1000 contacts, then each user will get presence unknown for 400 contacts
If you see users start getting presence unknown you should expand the numbers of CategorySubscriptions in the Default Policy for presence. If you still get issues with this you should help your customer reevaluate how they use the contact list in Communicator. One of the strengths with Communicator is that you don’t need to add the entire organization to you list because you are able to search up contacts you are not collaborating with on a daily basis and see their presence status.

As long as you have 1000 users and only a few have indeed 1000 contacts and the others have lots less so that no user gets more than 600 subscriptions, then nobody will get presence unknown. You could say to be on the safe side they should allow “Maximum contacts per user” only 600. But Microsoft decided to allow slightly more as the experience in practice is that not all users will indeed add contacts to the max but a few wants to, and that´s what they are making possible.


Communicator 2007 R2 fails to open new window when double-clicking a Contact

When using Microsoft Office Communicator 2007 R2, double-clicking a Contact fails to launch a new conversation window.  However, you are still able to right-click a Contact, and start an IM session by selecting “Send an Instant Message.”

Cause: When double-clicking a Contact, OC 2007 R2 uses XML to initialize a new conversation window, and we’re finding several customers who have incompatible and/or legacy builds of MSXML.DLL that are encountering these failures.

Resolution: To resolve this issue, please install XML Version 6.0 and XML Version 3.0 SP7.

Thanks to Scott Oseychik for posting the solution here:

Office Communicator Custom Presence States

Any Post starting with this disclaimer means that this post was not written by me however I liked it and added to my blog. I will also include the link to the original or similar post to provide credit to the original author

Office Communicator 2007 offers a few user defined areas, the Note, your location and Custom Presence

Please note something important – there is no defined custom presence that includes the Yellow (away) status. The reason is that it is not supported as it was deemed to be a value that you wouldn’t set yourself but would be set based on your activity. I would agree with that for Away but Be Right Back I can set but it is what it is. What happens if you set one of the states to the Yellow (away) states – none of the custom presence items show.

Another item to note that can be a bit annoying – you can’t sign in with the custom presence, you have to sign in with a standard state and then change. My approach is to pick the state that matches what I will eventually select with my custom text.

Universal limitations

  • You can only define up to 4 custom entries.
  • Maximum length of the custom presence description is 64 characters.
  • XML customState availability can be set to “online”, “busy” and “do-not-disturb”.
  • If you want the custom states set for everyone on the computer system instead of the current user, you need to change the .REG file from HKCU to HKLM. (Mostly only useful for TS servers)

Here is syntax for presence.xml used for what you see and a reg file syntax is also included. Please note that you can put the xml anywhere just update the reg file syntax for the correct path.

NOTE: The LCID=”1033″ specify the language of the clients you want the custom presence to be displayed . 1033 is english, if your contacts have clients with different languages you need to find the corresponding language code. See list of locale ID (LCID): You can have multiple languages for the same state so that it works for different clients. If you use the program that you can download at the bottom of this post you need to manually change the LCID in the generated xml

    <customState ID=”1″ availability=”online”>
        <activity LCID=”1033″>Out and about – use mobile</activity>
        <activity LCID=”1044″>Out and about – use mobile</activity>
    <customState ID=”2″ availability=”Busy”>
        <activity LCID=”1033″>Down in the lab – use mobile</activity>
        <activity LCID=”1044″>Down in the lab – use mobile</activity>

    <customState ID=”3″ availability=”busy”>
        <activity LCID=”1033″>Reviewing program documents</activity>
        <activity LCID=”1044″>Reviewing program documents</activity>

    <customState ID=”4″ availability=”do-not-disturb”>
        <activity LCID=”1033″>Executive Briefing with Customer</activity>
        <activity LCID=”1044″>Executive Briefing with Customer</activity>


and here is the syntax of the reg file

Windows Registry Editor Version 5.00




A program has been written to automate this process

Setting the Pre-Req’s on Vista and MOC R2

Amending the registry:

1) Start –> RegEdit.exe

2) Navigate (by double clicking) to the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator

3) Change the EnableSIPHighSecurityMode key name to be 0

4) Right click EnableSIPHighSecurityMode –> Modify –> change it to 0 –> OK

It should look like this:


5) Close the registry editor.

Go here to download the tool: