Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

All versions of Exchange

Message Playback

The following must be set in Exchange for LDAP integration to be able to play back recorded messages from phones:

...

With Exchange Server 2007 SP1 RU8 we disabled promotion of custom X-Headers to named properties when mail was submitted anonymously via SMTP. Only authenticated connections would work. With Exchange Server 2007 SP1 RU9 we disabled all named property promotion on messages submitted via SMTP, however Exchange Server 2007 SP2 introduced a new feature on the global TransportConfig object called HeaderPromotionModeSetting.

Impact

So what's the point of all this? Named properties are used for many thing, but a big impact for many is the use of named properties where POP and IMAP clients are concerned. Because Exchange Server 2007 does not keep the Mime for a message around, nor does it keep a full Mime Structure of the originally submitted messages, we will reconstruct the headers of a message when going through item (MAPI) to MIME conversion, IOW, when downloading a message via POP or IMAP.

If the X-Header on a message has never been promoted to a named property then it will not show up when RETRieving or FETCHing the message via POP or IMAP. Because the named property table is managed on a per database basis, once a named property has been promoted into a specific database it will always be provided to the POP/IMAP client. 

Notes

Builds of asterisk 11, 12, 13 prior to 12 March 2015 were unable to play back messages, and could terminate when trying to playback messages, using a phone. This has now been fixed and exchange integration is once again good.

 

Exchange 2019

Microsoft have stopped an IMAP user being able to see any other user's mailbox. The workaround for this is to used Shared Mailboxes that the IMAP user can manage OR to directly login to each user mailbox with the user's name and password (not recommended).

...

#Hide from address book
Get-Mailbox "AsteriskImapUser" | Set-Mailbox -HiddenFromAddressListsEnabled $true

  1. Shared Mailboxes: Create one shared mailbox per user, and give the user(s) who own it, plus AsteriskImapUser full rights to it (when you create it)

  1. Configure Exchange IMAP Services

## Note: If you do not want SSL, skip Enable-ExchangeCertificate, X509CertificateName options and put nossl into IMAP Flags

...

# Test that IMAP is working
Test-ImapConnectivity -ClientAccessServer <<myserver>> -ConnectionType Plaintext -MailboxCredential (Get-Credential AsteriskImapUser)

  1. Configure asterisk

In the user's extension, set the voicemail IMAP_User to the shared mailbox e.g. User1_Phone
The IMAP_Password should be left empty

In Settings Voicemail Admin:Settings:IMAP Storage set:
IMAP server address= your server
IMAP server port= 143
IMAP Auth User= AsteriskImapUser
IMAP Auth password= the password you gave theat user
IMAP Flags=notls
IMAP Folder=Inbox
Greetings Folder=Greetings
Geetings=Yes

  1. NOT Shared Mailboxes (not recommended):

 For each user in Settings:Voicemail Admin Account <<extension>>::Advanced Settings:IMAP Storage set the IMAP User and IMAP password to the username/ password used by the user to log in to windows (THIS IS NOT RECOMMENDED AND IS A MASSIVE SECURITY HOLE AS PASSWORDS ARE READABLE)

...

  If you are unable to log in to the IMAP mailbox e.g. using Test-ImapConnectivity and see SChannel Event ID 36874 in the System Event log you may have to change the logonAs for the Microsoft Exchange IMAP4 backend Service in Services.msc from 'Network Service' to 'Local System Account' https://social.technet.microsoft.com/Forums/Lync/en-US/b14005e4-6416-463b-91db-a4f14620c9f2/imap-connection-failure-no-login-failed-proxynotauthenticated?forum=exchangesvrclients

FreePBX

 By default freepbx is currently installed with the file based voicemail package.

...

For exact package names for any asterisk version XX use: yum list | grep asteriskXX

Message Waiting Indication

To enable MWI (Message waiting indication), enter a semi-colon list of mailboxes in the form <extnum>@default
e.g. 101@default;102@default 
where the message lamp will light if any of the specified mailboxes has unread mail