Voicemail Subscriber Access Problem

Issue

A customer reported that Subscriber Access to Voicemail had stopped working.  They are running Skype for Business Server 2015 and Exchange Server 2016 (both on-premises).

When calling Subscriber Access from the Skype for Business Client, by clicking on “Call Voice Mail” or dialling the SIP URI of the Dial Plan (here it’s Lync-UM-Dial-Plan), the call is instantly disconnected.

SfBClient-CallVM

SfBClient-CallSIP

When calling the Subscriber Access Number from the PSTN Network, the call is answered with “To access your mailbox enter your extension, to contact someone press the hash key”.  When a valid extension is entered, the call is disconnected.

Investigation

When a call is dropped, the events below are logged in the Application Log on the Exchange 2016 Mailbox Servers (Source: MSExchange Unified Messaging).

Event ID: 1079 / Level: Warning
Description:
The VoIP platform encountered an exception Microsoft.Exchange.UM.UMCommon.FsmConfigurationException: Parsing of a user interface configuration file failed because the prompt identified as “tuiHBODelay” was not found for the locale with ID: 2057. —> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.Exchange.UM.UMCore.SingleStatementPromptConfig.AddPrompts(ArrayList promptList, ActivityManager manager, CultureInfo culture)
— End of inner exception stack trace —
at Microsoft.Exchange.UM.UMCore.SingleStatementPromptConfig.AddPrompts(ArrayList promptList, ActivityManager manager, CultureInfo culture)
at Microsoft.Exchange.UM.UMCore.GlobCfg.DefaultPromptHelper.Build(ActivityManager m, CultureInfo culture, PromptConfigBase[] configs)
at Microsoft.Exchange.UM.UMCore.ActivityManager.RunHeavyBlockingOperation(BaseUMCallSession vo, HeavyBlockingOperation hbo)
at Microsoft.Exchange.UM.UMCore.ActivityBase.OnHeavyBlockingOperation(BaseUMCallSession vo, HeavyBlockingOperationEventArgs hboea)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.Fire[TArgs](UMCallSessionHandler`1 handler, TArgs args)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.SessionState.CompleteNonTeardownState()
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.SessionState.CompleteState()
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.SubscriptionHelper.<>c__DisplayClass22_1`1.<CreateSerializedEventHandler>b__1()
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.<>c__DisplayClass192_0.<CatchAndFireOnError>b__0() during the call with ID “3a87a18e-c8ee-43d5-b6c7-90de685963e8”. This exception occurred at the Microsoft Exchange Speech Engine VoIP platform during an event-based asynchronous operation submitted by the server. The server will attempt to recover from this exception. If this warning occurs frequently, contact Microsoft Product Support.

Event ID: 1079 / Level: Warning
Description:
The VoIP platform encountered an exception Microsoft.Exchange.UM.UMCommon.FsmConfigurationException: Parsing of a user interface configuration file failed because the prompt identified as “tuiMailboxUnavailable” was not found for the locale with ID: 2057. —> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.Exchange.UM.UMCore.SingleStatementPromptConfig.AddPrompts(ArrayList promptList, ActivityManager manager, CultureInfo culture)
— End of inner exception stack trace —
at Microsoft.Exchange.UM.UMCore.SingleStatementPromptConfig.AddPrompts(ArrayList promptList, ActivityManager manager, CultureInfo culture)
at Microsoft.Exchange.UM.UMCore.PromptConfigBase.BuildConditionalPrompts(ArrayList promptConfigArray, ActivityManager manager, CultureInfo culture, IPromptCounter promptCounts)
at Microsoft.Exchange.UM.UMCore.Menu.MenuStart(BaseUMCallSession vo)
at Microsoft.Exchange.UM.UMCore.Menu.StartActivity(BaseUMCallSession vo, String refInfo)
at Microsoft.Exchange.UM.UMCore.TransitionBase.Execute(ActivityManager manager, BaseUMCallSession vo)
at Microsoft.Exchange.UM.UMCore.ActivityBase.OnError(BaseUMCallSession vo, UMCallSessionEventArgs callSessionEventArgs)
at Microsoft.Exchange.UM.UMCore.ActivityManager.OnError(BaseUMCallSession vo, UMCallSessionEventArgs callSessionEventArgs)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.Fire[TArgs](UMCallSessionHandler`1 handler, TArgs args)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.SessionState.Start()
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.ChangeState(SessionState nextState)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.SessionState.FireError(Exception e)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.<>c__DisplayClass192_0.<CatchAndFireOnError>b__0() during the call with ID “3a87a18e-c8ee-43d5-b6c7-90de685963e8”. This exception occurred at the Microsoft Exchange Speech Engine VoIP platform during an event-based asynchronous operation submitted by the server. The server will attempt to recover from this exception. If this warning occurs frequently, contact Microsoft Product Support.

Event ID: 1159 / Level: Warning
Description:
The call with ID “3a87a18e-c8ee-43d5-b6c7-90de685963e8” was disconnected by the Microsoft Exchange Unified Messaging service on the Mailbox server because of a system error.

Event ID: 1079 / Level: Warning
Description:
The VoIP platform encountered an exception Microsoft.Exchange.UM.UMCommon.FsmConfigurationException: Parsing of a user interface configuration file failed because the prompt identified as “tuiSystemError” was not found for the locale with ID: 2057. —> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.Exchange.UM.UMCore.SingleStatementPromptConfig.AddPrompts(ArrayList promptList, ActivityManager manager, CultureInfo culture)
— End of inner exception stack trace —
at Microsoft.Exchange.UM.UMCore.SingleStatementPromptConfig.AddPrompts(ArrayList promptList, ActivityManager manager, CultureInfo culture)
at Microsoft.Exchange.UM.UMCore.GlobCfg.DefaultPromptHelper.Build(ActivityManager m, CultureInfo culture, PromptConfigBase[] configs)
at Microsoft.Exchange.UM.UMCore.GlobalActivityManager.DropCall(BaseUMCallSession vo, DropCallReason reason)
at Microsoft.Exchange.UM.UMCore.GlobalActivityManager.HandleError(BaseUMCallSession vo, UMCallSessionEventArgs voiceObjectEventArgs)
at Microsoft.Exchange.UM.UMCore.ActivityManager.OnError(BaseUMCallSession vo, UMCallSessionEventArgs callSessionEventArgs)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.Fire[TArgs](UMCallSessionHandler`1 handler, TArgs args)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.SessionState.Start()
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.ChangeState(SessionState nextState)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.SessionState.FireError(Exception e)
at Microsoft.Exchange.UM.UcmaPlatform.UcmaCallSession.<>c__DisplayClass192_0.<CatchAndFireOnError>b__0() during the call with ID “3a87a18e-c8ee-43d5-b6c7-90de685963e8”. This exception occurred at the Microsoft Exchange Speech Engine VoIP platform during an event-based asynchronous operation submitted by the server. The server will attempt to recover from this exception. If this warning occurs frequently, contact Microsoft Product Support.

Both Event ID 1079’s complain about missing locale ID 2057:

Parsing of a user interface configuration file failed because the prompt identified as “tuiHBODelay” was not found for the locale with ID: 2057

Parsing of a user interface configuration file failed because the prompt identified as “tuiMailboxUnavailable” was not found for the locale with ID: 2057.

Locale ID 2057 is English – Great Britain (en-GB).

I realised that Exchange Server 2016 CU8 had been applied a couple of days prior to the issue being raised; however, the Exchange Server 2016 CU8 Language Pack for en-GB had not been installed.  The Language Packs are critical as they contain pre-recorded prompts, grammar files, text to speech data, Automatic Speech Recognition (ASR), and Voice Mail Preview capabilities for specific languages.

When Exchange Server 2016 is installed (and earlier versions of Exchange Server), the only language installed is English – United States (en-US).  The same applies when applying Cumulative Updates.

To confirm this is the issue, I set the language on my Exchange Mailbox to en-US.

Get-Mailbox steve.bush@x500.co.uk | fl Languages

Languages : {en-GB}

Set-Mailbox steve.bush@x500.co.uk -Languages en-US

Get-Mailbox steve.bush@x500.co.uk | fl Languages

Languages : {en-US}

With the language set to en-US, I could dial into Subscriber Access without any problems, both from the Skype for Business Client and the PSTN Network.

Resolution

Download the relevant Language Pack from here (for Exchange 2016 Server CU8 ONLY), install it on the relevant Exchange Mailbox Servers and the issue will be resolved.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s