Jul 25

MS Exchange Distribution Voicemail

If you’ve ever setup Distribution mailboxes in Cisco Unity Connection, you’ll know its super simple with just creating the Distribution Mailbox, then adding Members. The Greeting can also be pushed out to several Distribution Mailboxes. However configuring the same feature in Microsoft Exchange is slightly different.

MS Exchange doesn’t support configuring an extension for a Distribution Group Mailbox. What needs to be done is configure a single user mailbox, and yes you will need to create an AD User as well. Enable Unified Messaging for this user and allocate an Extension Number.

Create a Distribution Group Mailbox with the appropriate members.

Next we need to configure email forwarding for the Single User to direct all emails to the Distribution Mailbox.

Generic Greetings cannot be uploaded. So you will need to (via OWA) record the greeting for each Single User separately.

Quick break down:

  1. Create AD User and mailbox
  2. Enable UM for User
  3. Create Distribution Group Mailbox
  4. Add members to the Distribution Group Mailbox
  5. Setup email forward (don’t leave a local copy) from the AD User to the Distribution Group Mailbox.
  6. Log into OWA for each AD User and record a Voice Greeting.
Jul 12

VoiceMail not Displaying on Jabber 9.2 with IMP 9.1

There are multiple reasons as to why Visual Voicemail will not display on your Jabber Client for Windows. I come across this little issue which had me going for a little while, so I though I’d post it up.

Like the title suggests, I could log into Jabber, makes phones calls, chat, listen to voicemail messages etc, however I could not see voicemails. Yes the VoiceMail icon was displaying fine. This particulare environment was not AD Integrated, now I know there are some articles out on the net saying that Jabber will not work unless its AD Intergrated, well thats not the case Jabber will work just fine and same with voicemails. You just need to make sure the ‘Web Application’ password in Unity COnnection is the same as the End User Password in CUCM. SO yes its a bit ore maintenance, so AD Integrated is the recommended method.

I checked and confirmed the UC Service for Mailstorewas correct, I removed this service and re-associated it. This UC Service is responsible for displaying the Voicemail Icon. So if you do not have the icon, this UC Service is probably misconfigured. I re enterd the users password into CUC for the ‘Web Application’, restarted Jabber and was getting the “Cisco Jabber is not connected to the your voicemail server’. I tested entering an incorrect password into the ‘Web Application’ password field, restarted Jabber. This time the error was ‘Unables to log into Voicemail etc’ So I knew the password was indeed correct.

I cleared the Jabber Voicemail cached from the PC, this is located under the username/AppData/Local/Cisco/UnifiedCommunications/Voicemail. Restarted jabber this made noe difference.

I then traced through the jabber client logs and noticed the following error message. “Failed for with error: returning error  NOT_AUTHORIZED : password must change, you must reset your password using the password reset URI” SO I had something to go from here. I logged back into the CUC Server and opened the User and select ‘Password Settings’, then dropped the box down to Web Application and low and behold the setting ‘‘ was checked. I unchecked this and Visual Voicemail starting working upon the next jabber restart.

So what this was doing was allowing the user to log into CUC, then CUC was prompting the user to change their password, however the jabber client doesnt have this ability so then CUC was throwing an unauthorized message back to Jabber and not allowing the user to view voicemails.

 

 

May 04

CUCM Users cannot access Voicemail from Exchange 2010 Server – Fast Busy

When CUCM users try to dial or access the VoiceMail pilot on an Exchange 2010 Server, they receive a fast busy. Upon viewing the application events logs on the Exchange 2010 Server, 3 events appear.

Source: MSExchange Unified Messaging

Event ID: 1327

Level: Error

Details:

The Unified Messaging server wasn’t able to retrieve the custom prompt data for the UM dial plan “UCMv9_DialPlan”. Check the dial plan configuration to ensure that all custom prompts have been configured correctly. “Microsoft.Exchange.UM.Prompts.Provisioning.PublishingPointException: An error occurred while accessing the custom prompt publishing point. Cannot open mailbox /o=contoso/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=CONTOSOPDC01/cn=Microsoft System Attendant. —> Microsoft.Exchange.Data.Storage.ConnectionFailedTransientException: Cannot open mailbox /o=TopGun2/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=CONTOSOPDC01/cn=Microsoft System Attendant. —> Microsoft.Mapi.MapiExceptionLogonFailed: MapiExceptionLogonFailed: Unable to open message store. (hr=0×80040111, ec=-2147221231)

Diagnostic context:

Lid: 18969   EcDoRpcExt2 called [length=257]

Lid: 27161   EcDoRpcExt2 returned [ec=0x0][length=180][latency=0]

Lid: 23226   — ROP Parse Start —

Lid: 27962   ROP: ropLogon [254]

Lid: 17082   ROP Error: 0×80040111

Lid: 26937

Lid: 21921   StoreEc: 0×80040111

Lid: 27962   ROP: ropExtendedError [250]

Lid: 1494    —- Remote Context Beg —-

Lid: 26426   ROP: ropLogon [254]

Lid: 60049   StoreEc: 0x8004010F

Lid: 49469

Lid: 65341   StoreEc: 0x8004010F

Lid: 56125

Lid: 47933   StoreEc: 0x8004010F

Lid: 32829

Lid: 49213   StoreEc: 0x8004010F

Lid: 48573

Lid: 64957   StoreEc: 0x8004010F

Lid: 59409

Lid: 45073

Lid: 11173   StoreEc: 0×80040111

Lid: 22970

Lid: 8620    StoreEc: 0×80040111

Lid: 1750    —- Remote Context End —-

Lid: 26849

Lid: 21817   ROP Failure: 0×80040111

Lid: 26297

Lid: 16585   StoreEc: 0×80040111

Lid: 32441

Lid: 1706    StoreEc: 0×80040111

Lid: 24761

Lid: 20665   StoreEc: 0×80040111

Lid: 25785

Lid: 29881   StoreEc: 0×80040111

at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, Int32 ec, DiagnosticContext diagCtx)

at Microsoft.Mapi.ExRpcConnection.OpenMsgStore(OpenStoreFlag storeFlags, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, MapiStore msgStorePrivate, String& correctServerDn, ClientIdentityInfo clientIdentityAs, String userDnAs, String applicationId, CultureInfo cultureInfo)

at Microsoft.Mapi.MapiStore.OpenMapiStore(String serverDn, String userDn, String mailboxDn, Guid guidMailbox, Guid guidMdb, String userName, String domainName, String password, String httpProxyServerName, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, Boolean wantRedirect, String& correctServerDN, ClientIdentityInfo clientIdentity, String applicationId)

at Microsoft.Mapi.MapiStore.OpenMailbox(String serverDn, String userDn, String mailboxDn, String userName, String domainName, String password, ConnectFlag connectFlags, OpenStoreFlag storeFlags, CultureInfo cultureInfo, WindowsIdentity windowsIdentity, String applicationId)

at Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore)

— End of inner exception stack trace —

at Microsoft.Exchange.Data.Storage.MailboxSession.ForceOpen(MapiStore linkedStore)

at Microsoft.Exchange.Data.Storage.MailboxSession.Initialize(MapiStore linkedStore, LogonType logonType, ExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags)

at Microsoft.Exchange.Data.Storage.MailboxSession.<>c__DisplayClass12.<CreateMailboxSession>b__10(MailboxSession mailboxSession)

at Microsoft.Exchange.Data.Storage.MailboxSession.InternalCreateMailboxSession(LogonType logonType, ExchangePrincipal owner, CultureInfo cultureInfo, String clientInfoString, Action`1 initializeMailboxSession, InitializeMailboxSessionFailure initializeMailboxSessionFailure)

at Microsoft.Exchange.Data.Storage.MailboxSession.CreateMailboxSession(LogonType logonType, ExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags, CultureInfo cultureInfo, String clientInfoString, PropertyDefinition[] mailboxProperties, IList`1 foldersToInit)

at Microsoft.Exchange.Data.Storage.MailboxSession.ConfigurableOpen(Exch”.

 ———————————————————————————————————————

Source: MSExchange Unified Messaging

Event ID: 1021

Level: Warning

Details:

The Unified Messaging server rejected an incoming call with the ID “ffb50f80-18316a64-a1-f26e0a0a@10.0.0.1″. Reason: “The Unified Messaging server cannot find a valid UM hunt group for “2998″ associated with UM IP gateway “10.0.0.1″.”

 ———————————————————————————————————————

Source: MSExchange Unified Messaging

Event ID: 32768

Level: Warning

Details:

The Telephony Manager declined a call with Call Id ‘ffb50f80-18316a64-a1-f26e0a0a@10.0.0.1 for the following reason in component telephony session: ‘The application has requested that the call be declined during media negotiation.’.

Further trace information for support personnel follows:

System.InvalidOperationException: The application has requested that the call be declined during media negotiation.

at Microsoft.SpeechServer.Core.SessionInfo.ApplicationRequiresSecureRtp(RemoteRtpOffer rtpOffer, IPEndPoint mediaEndpoint, IPEndPoint sipPeerEndpoint, CallInfo callInfo, Boolean& receiveRTAudio)

at Microsoft.SpeechServer.Core.TelephonySessionInbound.CreateMediaNegotiation(ContentDescription rtcMediaDescription, SessionInfo sessionInfo, CallInfo callInfo, IPEndPoint sipPeerEndpoint)

at Microsoft.SpeechServer.Core.TelephonySessionInbound.Initialize(SessionInfo sessionInfo, SessionReceivedEventArgs e, CallInfo callInfo, EventSerializer serializer, SpeechSession speechSession, Boolean isTlsConnection)

at Microsoft.SpeechServer.Core.TelephonySessionInbound..ctor(SessionInfo sessionInfo, SessionReceivedEventArgs e, CallInfo callInfo)

at Microsoft.SpeechServer.Core.TelephonyManager.CreateSession(Int32 inviteReceivedTickCount, SessionReceivedEventArgs e)

at Microsoft.SpeechServer.Core.TelephonyManager.SignalingSessionReceived(Object sender, SessionReceivedEventArgs e)

 ——————————————————————————————————————–

Cause:

The System Mailbox and/or System Attendant User account in Active Directory has been removed or is corrupt. The System Attendant Mailbox is used to publish prompts for Unified Messaging including the default Welcome prompt.

Resolution:

  1. Log onto the Exchange Server and open the MGMT Shell.
  2. Type into the Shell:

 Remove-Mailbox “SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}” –Arbitration

This command will remove the System Attendant user from Exchange and Active Directory. If the user has already been deleted, you will receive an error in the mgmt shell.

3.   Mount the Exchange 2010 ISO or DVD and re-run the prepare AD switch.

Setup /prepareAD

4.   This will copy files onto the Server, then go through and re-create any system user accounts and    mailboxes that are missing.

5.   Verify the System Attendant user is present in Active Directory. Located under the Users CN

6.   One more step is to enable the SystemMailbox as an Arbitration mailbox.

Enable-Mailbox “SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}” –Arbitration

Try and access VoiceMail again. VoiceMail and AA should be working as per normal.

Mar 02

Disabling PIN for MS Exchange VoiceMail

A popular integration is with using Microsoft Excahnge 2010 as voicemail as opposed to using CUE or CUC. In CUC and CUE a simple check box allows you to effectively disable the PIN (for internal only). However with MS Exchange 2010, there is no GUI option so its to the Exchange Management Shelll (Powershell) we go.

First thing to do is query the user’s mailbox to check the settings. IN particular we are looking for the option “PinlessAccessToVoiceMailEnabled”.

get-ummailbox -identity “emailaddress” | fl PinlessAccessToVoiceMailEnabled

If the mailbox does have a PIN enforced, the results will show “FALSE”

To disable the PIN on the mailbox type the following

set-ummailbox –identity email address –PinlessAccessToVoiceMailEnabled $true

Remember this only applies to internal access. Does not apply to accessing your voicemail from an external device. Also this does not apply to accessing our calendar or email via the phone system, you will need a PIN to access these areas of the MS Exchange 2010 Unified Comms.