Skype for Business – Can I have Voicemail if I use Lotus Notes?

The short answer is no, you require Exchange Unified Messaging, whether that is provided by Exchange 2010 SP3, 2013 2016 or Exchange Online.

But, what about if you deploy an Exchange server just to service Voicemail and forward the Voicemail on as an attachment to Lotus Notes, or any other email platform for that matter? *NOTE – You will need to license any users that have an Exchange Mailbox & UM.*

This isn’t a guide on how to setup Exchange and UM but here are some high level steps:

You set up an Exchange server, that’s Authoritative for a fictitious domain (E.g. Exchange.MyCompany.com) and an Internal Relay for your production domain (E.g. MyCompany.com).  Your EmailAddress policy only applies the fictitious domain to users.

You set up Exchange UM as per the normal steps eg:

New-UMDialPlan -Name "MyCompany_UMDialPlan" -VoIPSecurity "Secured" -NumberOfDigitsInExtension 12 -URIType "SipName" -CountryOrRegionCode 1
Set-UMDialPlan "MyCompany_UMDialPlan" -ConfiguredInCountryOrRegionGroups "Anywhere,*,*,*" -AllowedInCountryOrRegionGroups "Anywhere"
Set-UmService -Identity "EXCHANGEMBX01.MyCompany.local" -DialPlans "MyCompany_UMDialPlan" -UMStartupMode "Dual"
Set-UMCallRouterSettings -Server "EXCHANGEMBX01.MyCompany.local" -UMStartupMode "Dual" -DialPlans "MyCompany_UMDialPlan"
Get-UMMailboxPolicy | Set-UMMailboxPolicy -AllowedInCountryOrRegionGroups "Anywhere" -MinPINLength "5" -AllowCommonPatterns $false

You set up a send connector from Exchange to your Domino Server(s) and enable Auto Forwarding to your production Domain: Get-RemoteDomain -Identity mycompany* | Set-RemoteDomain AutoForwardEnabled $True.  Note, this Exchange Server has no public SMTP routing, it routes directly to the Domino Server.

Next, how do you manage this going forwards?  You need to do the following:

  • Enable the users Exchange Mailbox
  • Enable the users for Exchange Unified Messaging
  • Configure the users Mailbox to forward to their Lotus Notes email address (Production domain)

Or you could use a script and a scheduled task!  This script assumes the EmailAddress attribute in AD is populated with the users Lotus Notes Email Address, although this could be any AD attribute.

NOTE – When Exchange is enabled, the fictitious email address will override the “EmailAddress” attribute in AD.  In my environment Skype and Exchange were in a Resource Forest and Microsoft Identity Manager automatically wrote the correct value back.  You could write the original EmailAddress back to AD at the end of the script.

FOR REFERENCE PURPOSES ONLY, USE AT YOUR OWN RISK.

<#
Author:  Chris Hayward, chrishayward.co.uk
Purpose: Script to bulk enable users for UM and configure forward to another SMTP address 
Version: 1.0
Changes: DATE - Change
#>


$EmailDomain = "MyCompany.Com"
$UMMailboxPolicy = "MyCompany_UMDialPlan Default Policy"
$strLogPath = "c:\_Scripts\AutoEnable-UM\Logs\"          # E.g. "\\myserver\myshare\mylogs\"

# Start Script
$strDate = (Get-Date).tostring("yyyyMMdd")
$strLogFile = $strLogPath + $strDate + "_CreationLog.log" # Log file

## Get all users that have an email address that matches $EMailDomain and has a Lync/Skype LineURI (E.G They are Enterprise Voice Enabled)
$NonUMUsers = Get-ADUser -Filter "EmailAddress -like '*@$EmailDomain' -and msRTCSIP-Line -like 'tel:+*'" -Properties SamAccountName, Mail, MSRTCSIP-Line

## Lets exit if there's nothing to do
If ($NonUMUsers.count -lt 1){
    Write-Host "No new users to enable"
    exit
}

## Start the Log file
Start-Transcript -path $strLogFile -Append

ForEach ($User in $NonUMUsers){
    ## Enable mailbox
    $Mailbox = Get-Mailbox -Identity $($User.SamAccountName)
    If ($Mailbox.IsMailboxEnabled -ne 'True'){
        Write-Host "Enable Mailbox"
        Enable-Mailbox -Identity $($User.SamAccountName)
    }

    ## Get the LineURI into the correct format for UM (NOTE I'm taking the tel:+ off and using the full 12 digits for the UK eg 441234567890)
    $Extension = $User.'MSRTCSIP-Line' -split '\+'
    $Extension = $Extension[1]

    ##Enable Exchange UM (Will probably fail the first time so we will keep trying until the mailbox is ready)
    $UMMailbox = Get-UMMailbox -Identity $($User.SamAccountName)
    While ($($UMMailbox.UMEnabled) -ne 'True'){
        Start-Sleep -s 10
        Write-Host "No UM yet, keep trying"
        Get-Mailbox -Identity $($User.SamAccountName) | Enable-UMMailbox -UMMailboxPolicy $UMMailboxPolicy -Extensions $Extension
        $UMMailbox = Get-UMMailbox -Identity $($User.SamAccountName)
    }

    #Here we set the Mailbox to forward to the Email Address populated in AD (Keep trying if it fails first time)
    $MailForward = Get-Mailbox -Identity $($User.SamAccountName)
    While ($($MailForward.ForwardingSMTPAddress) -notlike 'smtp*'){
        Start-Sleep -s 10
        Write-Host "No forward yet, keep trying"
        Set-Mailbox -Identity $($User.SamAccountName) -ForwardingSMTPAddress $($User.Mail)
        $MailForward = Get-Mailbox -Identity $($User.SamAccountName)
    }
}


Stop-Transcript
exit

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.