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

Peanut Gallery

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

     
  2. Tom,

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

    Chuck

     
  3. 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. 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. 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. 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. 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. 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. 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. that rocks! It sure beats the manual changes.

     
  11. 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. 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. 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. 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. 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. Yeah. New build of MOC breaks it. ;_;

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

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

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

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

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

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

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

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

     
  30. 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. 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. 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. My fix above works for R2 as well. Read, people. :-P

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

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

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

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

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

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

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

     
  41. 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. i have the same problem, pls tell me where to create thsi dword value

     
  43. Hi there,

    how to get it working with R2?

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

     
  45. Ganesh, not that I know of.

     
  46. 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′ (http://www.confusedamused.com/notebook/communicator-2007-custom-presence-tool/#comment-712). 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. 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. Hey 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. 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. 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. Is there a way to change the “Show me as inactive or away” period longer than 60 mins?

     
  52. 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. 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. 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. 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. 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. 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. 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: HKEYCURRENTUSER/Software/Policies/Microsoft/Communicator 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. I have “2007 R2 aka 3.5.6907.37″ and Rob’s comment above worked for me.

     
  60. 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. I have R2 and it works great

     
  62. 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. Apparently restarting Communicator was not enough. I had to reboot the system. yeah!

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

     

Speak Up