Confused Amused

Communicator 2007 Custom Presence Tool

Yesterday afternoon I was tinkering with the custom states you can define within Office Communicator 2007 and found actually creating the custom states obnoxiously difficult for an end-user. In an effort to remedy that problem I whipped up an application I’m going to call the Communicator 2007 Custom Presence Tool. Let’s call it a beta version for now, just to be trendy.

It provides a GUI interface for users to select their custom availability and a status note to go along with the availability. The tool creates the XML file and updates the CustomStates registry value with the location of the XML file.

A few screenshots to demonstrate the functionality:

cst1

cst2

Here’s a basic rundown of what happens:

  • Upon startup, the tool tries to read the value of HKCU\SOFTWARE\Policies\Communicator\CustomStates.
  • If the value exists, it loads the XML file location that is specified.
  • If the value doesn’t exist, the user is prompted for a location to save the XML file. It defaults to %AppData%\Microsoft\Communicator\CustomPresence.xml. I chose that location to accommodate roaming profiles.
  • At this point the user is presented with a blank sheet (or filled if the XML file existed) of their custom availabilities and status notes that they can fill out.
  • Once Save is pressed the registry value is updated to reflect the location of the XML file.

It seems to work fine for my purposes in a lab environment, but by no means am I a programmer so I would thoroughly test this tool out on some non-production machines before you try implementing this. I’d also love any kind of feedback, so please let me know what you think. I’m positive there are some issues I haven’t found yet so feel free to point them out.

Download Communicator 2007 Custom Presence Tool

Requirements: Microsoft .NET Framework 2.0

28 Comments on “Communicator 2007 Custom Presence Tool”

  1. 1
    cori

    hey tom - this is pretty neat. any chance of getting the source?

  2. 2
    Chuck

    Tom,

    This is a great tool. Please keep me posted if you do anything else that would be useful.

    Chuck

  3. 3
    BROUSSEY

    Great tool but doesn’t work for me. The availability led is good but the status take the default status , not the one i configured. Thanks a lot

    Fred

  4. 4
    Timo

    Hi!

    Nice Tool!

    I’m from Sweden, so i have to change the LCID manually, and that is boring. Also my mates donĀ“t understand, what they have to change…

    So, is it possible, that you add a textbox, where i can choose my LCID value?

    Thanks

  5. 5
    CJ

    Great tool but is it only for communicator 2007? I have 2005 and it does not seem to work for me.

    Also how do you change the emoticons

  6. 6
    Tom

    No, it doesn’t work for 2005 since MOC 2005 doesn’t have that ability.

    I’m unaware of any methods to add or change emoticons.

  7. 7
    JB

    Nice and practical. I was building the same tool when I’ve found your’s. :) Note for the people running Vista: you need to run it as administrator (and I mean: right click -> run as administrator), otherwise it won’t be able to write to the registry the necessary key.

  8. 8
    Cathy

    This is great. But why no option for “Away”? I want to put I’m out for lunch so that people will know where I am. Or will be right back soon?

    Can you help?

  9. 9
    George

    Brilliant tool! I discovered the custom presence feature a while ago but grew tired of explaining how to save/edit the XML file, run the Registry hack, etc. Your solution is great!

  10. 10
    Kevin Koziol

    that rocks! It sure beats the manual changes.

  11. 11
    Tom

    There’s unfortunately no option for “Away” simply because MSFT doesn’t support that option in the .xml file. The program is limited in the same way as the .XML file. Because you can’t manually set an away state in the .XML file, I didn’t provide the option here. You’ll have to take it up with MSFT. :)

  12. 12
    captmorg

    Thanks, the deployment guide was a pain to work with. A tool like this would be nice for the Microsoft RoundTable device. That is even worse as far as user interfaces. You can only upload the xml config file via a command promt. Sheesh..

  13. 13
    Paul

    Thank you for this tool.

    Just what the end user needs, something simple!

    Please keep us posted of any new developments on it or other cool things in Communicator.

    Pity there is no custom Away option, that would be handy.

    Paul

  14. 14
    Alfonso

    Hi Tom, great job! I’m trying to automatize the status of the users when they initialize communicator, Does anybody know what is the registry key and the value that should have it for them to appear as not ready/busy instrad of available?? thanks in advance for your help

    Alf

  15. 15
    Phil

    This is a wonderful tool, wish i would have found it sooner. I was able to this before, but had to do it manually. After a reload, i have not been able to set this again. I think it is because of the newer build of OC 2007.

  16. 16
    Alan

    Yeah. New build of MOC breaks it. ;_;

  17. 17
    Tom Pacyk

    Hmm. I’ll look into fixing it for the new build next chance I get.

  18. 18
    Alan

    Problem is here: http://support.microsoft.com/?kbid=951662

    Fix is here: Change EnableSIPHighSecurityMode to 0.

  19. 19
    Sally

    Love it! Thanks….. now all I need is emoticons

  20. 20
    Chris

    Hi, this is working excellent. Now I am looking for an feature to hide contacts which are OFFLINE in my groups automatically. What do you think? Could be worthful. BR Chris

  21. 21
    Peter

    I can see my custom status, but in the Communicator itself all my collegues still just see me as Away or Available. How can they check my custom status?

  22. 22
    Axel

    Hi,

    it is nice, but regrettably the Status Note is not to be seen on a Communicator, where language German is configured,for example. What could be the reason for that?

    BR Axel

  23. 23
    Tom Pacyk

    Axel, the XML file generated by the tool is hardcoded to use 1033 as the LCID, which is English. If you manually open the XML and replace the LCID with the German value, which I believe is 1031, you should be able to see the states in MOC. I’ll try and use some logic in the next version to detect the OS language and use that value in the future.

  24. 24
    Axel

    Hi Tom, this works. I’m not familiar with XML: is it possible to insert a second entry for the other language in the XML file manually, so that the communicator can use the necessary entry, whether he needs german or english? I think, that would help.

  25. 25
    Percy

    Nice work Tom! I guess now I can set my status to busy with a little explanation to say I am really busy… kinda

  26. 26
    Didier

    I was not able to get this to work again after my OCS upgrade. Thanx to these comment I found the solution I was looking for. The fix from Alan works perfectly.

    Might be nice as an option in the GUI to check for this value and offer the user to change it.

  27. 27
    Bob

    Great tool. Better that doing it manually. But having a problem. It creates the XML file just fine but DOES NOT update the registry even running it as Administartor. Any help would be nice. Thanks

  28. 28
    Matt

    Nice Article and Tool. Is there any chance of publishing the source code?

Leave a Reply