Where are the Exchange 2007 Unified Messaging Voicemail Greetings???

by alexpav 17. March 2009 13:01
 

Have you ever wondered where the Exchange 2007 Unified Messaging greetings are stored? Recently, a fellow colleague had an interesting dilemma. His customer asked him if there was a way to upload WAV files as user’s personal greetings. Such functionality exists for Auto Attendant prompts, but not for individual user mailboxes. But before we dive in to uploading WAV files as personal greetings, we need to better understand how these greetings are stored in Exchange 2007 Unified Messaging.

First, let’s review the different greeting types which exist in Exchange 2007 Unified Messaging:

·         Recorded Name (stored in Active Directory)

·         Personal Greeting (stored in the mailbox)

·         Out of the Office Greeting (stored in the mailbox)

Recorded Name

The personal greeting is stored as a binary value in Active Directory, in an attribute called ms-Exch-UM-Spoken-Name.  In order for this attribute to be populated, several things have to take place. First, the user must have an enabled mailbox on an Exchange 2007 mailbox server. Second, the mailbox must be enabled for Exchange 2007 Unified Messaging. Finally, the user must dial the UM Outlook Voice Access number and use Personal Options to record the name. If the user does not perform the last step, Exchange 2007 Unified Messaging will auto-generate the recorded name based on the Display Name in Active Directory, however the auto-generated recorded name itself is not stored in AD. Instead, it is stored in memory of the Exchange 2007 Unified Messaging server.

Personal Greeting

Much like the custom recorded name, the personal greeting is a binary format value. However, instead of being stored in Active Directory, it is stored in the mailbox of the user. Similar three pre-requisites apply – Exchange 2007 mailbox, enabled for Unified Messaging, and user action to record the personal greeting via Outlook Voice Access.

So how does Exchange UM store the personal greeting? We already know that it is a binary value (in fact, it is a binary representation of a WAV file), and that it sits in the user mailbox. But where exactly is it?

Each user mailbox contains a hidden message area. This message area is not exposed in Outlook or Outlook Web Access, however it can be viewed using MAPI tools such as MFCMAPI, which is can be obtained from the Microsoft Download Center here. To use MFCMAPI, it is necessary to configure the Outlook profile in online mode (cached mode won’t work correctly), and also add the following registry key to view large binary values (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem\MSMapiApps\SharedMemMaxSize= 0x00800000 (DWORD).

Let’s use MFCMAPI to explore the hidden message area of a mailbox. First, launch MFCMAPI, select the Session menu item, and click on Log On and Display Store Table. Then, select the online mode Outlook profile if prompted. You will see the configured MAPI instances in the top pane of the MFCMAPI window.

 

Figure 1 – Outlook Profile, Unrated Version

Right-click the actual Exchange mailbox, and click Open Store. A new window will open, displaying the Root Container on the left side. As you can see, this is the raw view of the mailbox as you can navigate familiar folders and see raw contents of messages.

Figure 2 – Raw Mailbox View, a.k.a. Too Much Info

Right-click the Root Container in the left pane, then click on Open Associated Contents Table. You will see one more window pop-up, displaying hidden messages which are contained in the mailbox. Scroll the top pane to the right and expand the Message Class column. You will see different message classes that exist. Of interest to us is the IPM.Configuration.Um.CustomGreetings.External message. If it is not visible, you may have to record the greeting by calling in to Outlook Voice Access. If no items are visible, it is likely that the Outlook profile is configured in Cached Mode. Click on the message with the IPM.Configuration.Um.CustomGreetings.External type. You will see the list of properties in the bottom pane. We are looking for the 0x7C09000A property (see Figure 3). Note that MFCMAPI cannot fully load it because it is quite large, but no worries, with our registry modification from earlier we will be just fine!

Figure 3 – Hidden Messages

Right-click it and select Edit Property as Binary Stream. As you will see, the Stream text (top window) displays the WAVEfmt in the top row – that’s the binary file format. The bottom window displays the actual hex string of the wav file (Figure 4)

 

Figure 4 – Binary Stream View

Out of the Office Greeting

The OOF greeting is very similar to personal greeting. It is also stored in the mailbox and can be accessed and dare I say it – modified - by mortals (non-Exchange UM server types) by using MAPI tools.

Conclusion

Now that you know where the Exchange 2007 Unified Messaging greetings are stored, you can better troubleshoot issues with greetings, and also do cool things such as write applications which allow users to upload a wav file as their greeting, enabling them to easily switch between multiple greetings without having to re-record them. We’ll plan to cover this for you in our future blog posts.

Currently rated 3.7 by 3 people

  • Currently 3.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Exchange | MAPI | Unified Messaging

Comments

Comments are closed

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen