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:



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

Sharing is Caring   


Comments from the Peanut Gallery

  1. cori

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

  2. Chuck


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



    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


  4. Timo


    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?


  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. 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. 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. 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. 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. Kevin Koziol

    that rocks! It sure beats the manual changes.

  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. 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. 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.


  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


  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. Alan

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

  17. Tom Pacyk

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

  18. Sally

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

  19. 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.

  20. 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?

  21. Axel


    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?


  22. 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.

  23. 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.

  24. 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

  25. 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.

  26. 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.

  27. Matt

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

  28. mike

    WONDERFUL tool you have shared, it works, and the price is reasonable ! :)

  29. Jack

    Any chance of developing this functionality for the Communicator R2 client ?

  30. Brian V

    We recently upgraded to the Release Candidate of R2. I noticed that this tool
    stopped working. Did MS make some changes that stopped the tool from working ?

    I think this is a great tool by the way.

  31. Tom Pacyk

    I’d be happy to try and make it work with R2, but I don’t have my hands on any R2 bits yet. If someone wants to pass them along I’d be happy to take a look. :)

  32. Thelma

    HI This is a very nifty tool, but being a woman and finding the standard
    colours boring the question is: How can we change that as well as have
    you tried adding custom emotions to OCS 2007?

  33. Alan

    My fix above works for R2 as well. Read, people. 😛

  34. Brian V

    Tom, I can pass along the R2 MOC client.
    I’ll put it on
    can you email me and I’ll send you the link.

  35. Murmelsson

    Thanks Tom for this excellent add-on. Now it’s like Facebook-status for people who need to look busy!

  36. Mariel

    This is great Tom. Can you also put EMOTIONS like that of Yahoo messenger?

  37. Victor

    I try to use the fix from the link above and it doesn’t works for my R2 client, it says that the windows installer service can´t find the program that is gonna upgrade (obviously). Is there another hotfix that i need to use this program?

  38. Patrick

    Alan is right. You just need to add a DWORD of EnableSIPHighSecurityMode
    and make the value 0 (it wasnt there for me so I had to add it…
    not sure about the rest of ya) BTW I am running the R2 piece so again, Alan is

    I did, logged out and back and it worked. Nice!!!!

  39. EDF

    Thank you for writing the GUI. Much faster/easier! I’m already sending it around.

  40. Jatin

    Is there any way I can add new set of Emoticons in OC 2007 ?

  41. Ernie

    Vista Enterprise SP1. My custom Presence Tool stopped working when the Communicator was upgraded to R2.

    I’m having the same trouble as Victor above. The fix appears to be pre-R2(?).

    Where in the registry does the DWORD of EnableSIPHighSecurityMode need to be located?

  42. bernd

    i have the same problem, pls tell me where to create thsi dword value

  43. Martin

    Hi there,

    how to get it working with R2?

  44. Ganesh

    is it possible to display Date and Time in status ??

  45. Tom Pacyk

    Ganesh, not that I know of.

  46. Tim

    For those of you banging your heads to workaround the R2 issue, just follow Alan’s tip on adding the “EnableSIPHighSecurityMode” registry key (REG_DWORD) and setting it to ‘0’ ( This eliminates the need to feed the XML off of SkyDrive (or some other malarkey site). Besides, SkyDrive no longer allows for direct download links (i.e. no permalinks) so that method won’t work.

  47. Karl B

    Hi All – also ran into the tool not working with OC 2007 R2 – I went to RUN – Regedit, HKEYCurrentUser – Software – Communicator – but could not find EnableSIPHighSecurityMode – am I in the right place?

  48. Isaac

    I tried this tool, it seems this application works with everybody, except me.
    All steps are made, but I can’t see the customs states on my IM.
    I check the registry and it was generated as mentionated.
    I have the 2007 version.
    Even I tried in manually way but still without working.

  49. Justin

    Hey i’m kind of noob at these things so where would i put that EnableSIP… reg key. I put it in both the HKEYCURRENTUSER/SOFTWARE/MICROSOFT/COMMUNICATOR and the HKEYLOCALMACHINE/same path but i still can’t get my comunicator to show my custom status. What am i doing wrong or not doing?

  50. Loyd - CA - USA

    I found the tool to work flawlessly. I was looking for emoticon’s and found this; much better. Now I can SAY exactly what I’m thinking. lol

  51. Tim

    Is there a way to change the “Show me as inactive or away” period longer than 60 mins?

  52. Aich

    newkey.SetValue(“EnableSIPHighSecurityMode”, 0, RegistryValueKind.DWord)

    Add this key to registry to get this to work with 2007 R2

    I created a new version that works.

  53. neil

    Aich – to where and how do you add the reg key.
    I have added and it makes no difference I cannot create Custom Presence.
    Using: 2007 R2 aka 3.5.6907.37

  54. drain

    From the “Run…” command, type “regedit”. Use the Find command to search for EnableSIPHighSecurityMode. You will find the value set to 1; change it to 0. Then shutdown and restart Communicator and the presences will be available.

  55. Brandon

    I was hoping you wouldn’t mind sharing the source code. I have a project involving parsing XML and you have what appears to be a great example. Feel free to email it to me directly.

  56. Rik

    BTW, the registry setting EnableSIPHighSecurityMode needs to go in the Communicator Policies section – therefore, create it in HKCU\Software\Policies\Microsoft\Communicator – you should already see a CustomStateURL REG_SZ setting there.

  57. Cam

    You only get those when you’re rolling with the R2 back-end, the R2 server GPOs etc

    If you’re running R2 client with an R1 backend you’re screwed

  58. Rob

    For those who aren’t so familiar with the registry, here’s how to apply the fix to make the Communicator 2007 Custom Presence Tool work with the latest update of Communicator (Microsoft Office Communicator 2007 R2):
    1. Go to Start/Run and type in “regedit” (without quotes) in the “Open” dialog box. This will open the Registry Editor.
    2. In the list of folders on the left-hand side of the Registry Editor window, navigate to this folder:
    There should already be a couple of keys here named (Default) and CustomStateURL.
    3. From the menu bar select Edit/New/DWORD Value. This will create a new key with the highlighted name “New Value #1”. Change that name to “EnableSIPHighSecurityMode” (no quotes). If you inadvertantly deselect the new key before changing the name, right-click on the new key, select Rename from the popup window, and rename it as instructed above.
    4. Right-click on the new key (EnableSIPHighSecurityMode)and select Modify from the popup window. In the “Edit DWORD Value” window, change the value in the “Value data:” input box to 0 (it may already be set to 0). Click OK.
    5. Exit the Registry Editor, then exit and restart Communicator for the changes to take effect.

  59. Alex Benke

    I have “2007 R2 aka 3.5.6907.37” and Rob’s comment above worked for me.

  60. Doreen Ng

    Thank you Rob for considering “layman” like us who really wonder how to get the code in there. I followed your steps and it worked!

  61. Imran

    I have R2 and it works great

  62. Jeff

    I’ve done all of the steps and it doesn’t seem to work on Windows 7. :(
    Has anyone got it to work in Windows 7?

  63. Jeff

    Apparently restarting Communicator was not enough. I had to reboot the system. yeah!

  64. MEJC

    Hmmm that did not for a user of mine. He still shows “Inactive and the contact has been away for 5 minutes” I would love to remove how long he has been inactive for. I entered the regedit setting and rebooted his computer with no luck. Any ideas? Thanks in advanced.

  65. Todd

    Thanks all, working great here as well!

    In keeping with the theme of simplicity and ease-of-use, it would be great if this tool could be updated to also set EnableSIPHighSecurityMode=0 automatically.

  66. Costa

    Nice tool. Worked fine as is on MOC 2007. It does what is expected to do, the rest: blame MS.
    No, normally you don’t have to restart the computer.
    Thanks a lot.

  67. Dane Jeffrey

    If anyone is interested, I’ve made an online tool / generator for the custom presence XML and the .reg file. Only English at the moment but I might add functionality toallow selection of the language LCID at some stage. Find here:

  68. Pravy

    Can I add inactive as one of the option in availability dropdown and show half green and half yellow icon ?

  69. Mao

    What’s going on with the away option, why that one is not include?

  70. kman

    REAL confused newbie here. I saved the tool to my desktop, clicked on it to run it, but get a “Custom file not detected. Please choose a save location” so I choose C:\Program Files\Microsoft\Microsoft Office Communicator but I get an error message “You don’t have permission to save in this location. Contact the administrator to obtain permission. would you like to save in My Documents instead?” I choose yes. THe actual GUI runs and I make a custom selection, hit save, and error message “THere was and error writing to the file” I hit OK and then a window says Custom presense saved successfully” I hit OK, close the GUI window, update the registry, restart everything, but doesn’t work. Please help!!!

  71. kman

    OH, btw, I do not have SOFTWARE/POLICIES/MICROSOFT/COMMUNICATOR located under HKEYCURRENTUSER, so I added it under HKEYLOCALMACHINE since it was there. Could that be why? If so, can I just add it under SOFTWARE/POLICIES/MICROSOFT (no communicator), or will that do absolutely nada?

  72. Ken P.

    Custom Presence no longer available via file:// . You have to point to a URL for it to work.

  73. CP

    Hey Tom,
    I’m looking to remove the stautus time on my microsoft Office Communicator. eg it says “Away for 5 mins”. Is there any way I can remove the time. Please help. Thanks

  74. cindy

    Thank you so much! This makes it all easier. If you find a way to change the colors of the status please post.

  75. cindy

    Ok spoke too soon. The change did not take effect on my MOC, I ran the tool and added the RegKey. I will reboot later to see if that will fix it as I saw someone had to reboot. My MOC is 2007 R2 3.5.6907.83

  76. Jebastin

    I’m using communicator 2007, R2. When i lock my system, communicator automatically show that i’m away for this many minutes. I want to remove that minutes details. Is there any possible?

  77. drain

    Crap. They updated to Lync. Now what am I going to do?

  78. Justin Duijn

    Download link is.. Down..

  79. Sohan

    i need this tool can u upload this again.


Chime In