I was recently integrating a pair of Exchange 2010 UM servers to a Avaya CM 6.21 via Session Manager and ran across an interesting issue. After enabling several mailboxes for Exchange UM the users were not available in the Directory when speaking the subscribers name. Though I could reach them using the touchtone menu by specifying the extension numbers.
I've seen this issue before and thought to myself - this is a just a case of the grammar files not updating. I ran the following command to update the grammar files that contain the users recorded name or system generated name:
Galgrammargenerator.exe -d 'ACME UM Dial Plan' -o c:\temp\galgrammarresults01.txt and got the following output:
Generating Grammar: Grammar for all UM-enabled users in dial plan 'ACME UM Dial Plan'
Filter: ((((HiddenFromAddressListsEnabled -eq 'False') -and (((RecipientType -eq 'MailContact') -or (RecipientType -eq 'UserMailbox') -or (RecipientType -eq 'MailUser') -or (Phone -ne $null))) -and (((DisplayName -ne $null) -or (FirstName -ne $null) -or (LastName -ne $null))))) -and (EmailAddresses -like '*phone-context=ACME UM Dial Plan.acme.com') -and (EmailAddresses -like 'EUM:*'))
Downloading Entries: 09/03/2013 11:51:44
Downloading Entries Complete: 09/03/2013 11:51:44
The user "Henry E. Jensen III" with the e-mail address "firstname.lastname@example.org" was not added to the speech grammar because the speech recognition service has determined that it can be said in at least 10 ways. The maximum allowed is 1.
The user "Greg D. Rapp" with the e-mail address "email@example.com" was not added to the speech grammar because the speech recognition service has determined that it can be said in at least 10 ways. The maximum allowed is 1.
Compiling grammar file E:\Program Files\Microsoft\Exchange Server\V14\UnifiedMessaging\grammars\en-US\59e94d9d-355c-4e1e-a4c6-b45dcc013998.grxml -> C:\Users\hejadmin\AppData\Local\Temp\ad8e619f-1cf4-4941-95e1-a4ea5f2bbd4d.cfg
Wowzers 10 different ways to say a name and only one allowed. After digging through the following Blog http://blogs.technet.com/b/exchange/archive/2006/10/30/3395749.aspx it is the display name where the users given name is generated from and then inserted into the speech grammar.
In this case the Display Names had periods, and designations like III that the speech grammars did not like.
There are two solutions:
1) Modify the display name attributes.
2) Populate the PhoneticDisplayName attribute
I opted for the second option and executed the following command:
set-csuser -identity firstname.lastname@example.org -PhoneticDisplayName 'Henry Jensen'
Next I ran Galgrammargenerator.exe again and after a couple of minutes the user was added to the directory allowing a caller to search for the user name using voice commands.