Lync and Exchange UM Integration

This article covers the Unified Messaging (UM) integration configuration between Lync Server 2010 Release Candidate and Exchange Server 2010 SP1.  Although the process is basically the same as it was in Exchange 2007 and OCS 2007 R2 there are a few important changes.  Also note these instructions were tested various times with both RC and RTM installations of Lync Server.

The lab environment used as examples was built using the same processes discussed in these three previous articles for Lync Server.  A single consolidated Exchange 2010 SP1 server was also added with all roles (CAS, Hub, Mailbox, UM).

Overview

The following steps completed in this order in a greenfield deployment should yield a working UM environment in little time.

  1. Deploy Exchange Server 2010 SP1 in same forest as a consolidated server with Unified Messaging role included.
  2. Replace the self-signed certificate with one from an internal Windows Enterprise Certificate Authority and reassign all Exchange roles to it.
  3. Create a new SIP Dial Plan in Exchange.
  4. Configure UM Dial Plan, Policy, and Auto Attendant settings.
  5. Enable Unified Messaging on at least one mailbox.
  6. Run the exchucutil.ps1 PowerShell script on the Exchange server.
  7. Configure Lync Server Dial Plan or verify existing configuration is sufficient.
  8. Run the ocsumutil.exe tool on the Lync server.

Configuration

These steps begin right where article 3 left off so if you are following along make sure to configure the Enterprise Voice setting in Lync Server as detailed in that article.

1.  Deploy Exchange Server

The deployment of Exchange Server 2010 SP1 is outside the scope of this article but there are many official and unofficial walkthroughs available online to help anyone unfamiliar with the Exchange Server deployment process.  The best place to start would be the official Microsoft documentation.  The host used in this lab is a separate, dedicated virtual guest running Windows Server 2008 R2 with 2GB of RAM assigned to it.  No previous instance of Exchange had been installed so the deployment included creating a new Exchange Organization.

Prior to deploying the Exchange Server make sure to install all of the prerequisite software for the UM role as documented in this checklist.  Pay special attention to the Microsoft Speech Platform, UC Managed API 2.0, and UM Language Pack installations.

2. Generate New Certificate

This step is a common Exchange deployment task and official instructions can be found here.  Note that the statement “you must use a public certificate if you are using Unified Messaging with Office Communications Server” is not entirely correct.  This really should state that a ‘trusted certificate’ is required, as a private certificate issued by an internal Enterprise Windows CA can be used and will work fine if both the Lync and Exchange servers are members of the same domain.  Also verify that the UM service is assigned to the new certificate once it is installed and the UM service was restarted.

When collocating the UM role on a consolidated Exchange Server the easiest configuration is to use a single SAN certificate for all Exchanges services with the server’s FQDN set as the Subject Name (e.g. lab1exch.csmvp.net) with any other required names (e.g. mail.csmvp.net, autodiscover.csmvp.net) added to the Subject Alternative Names field.

3. Create Exchange UM Dial Plan

In this deployment the VoIP Security option Secured was used used so that both SIP signaling traffic and RTP media traffic will be transmitted between Lync and Exchange using encrypted TLS communications.  Opting to use the SIP Secured setting would only protect the SIP traffic using TLS while all RTP traffic would be transmitted over TCP.

Additionally a value of 4 was selected for the number of digits in extension numbers as the dial plan previously configured in the Lync server is based on the pattern 312-555-75xx, where the last four digits are treated as the user’s extension.  Since normalization patterns were created to translate 75xx patterns into RFC 3966 patterns (+131255575xx) then we want the Exchange UM dial plan to automatically select the last 4 digits of the user’s Telephone Number field as their extension when they are later enabled for UM.

  • Using the Exchange Management Console navigate to the UM Dial Plans tab under Organization Configuration > Unified Messaging.  Create a new UM Dial Plan with any Name desired (e.g. DefaultUM), and any valid PIN length (e.g. 4). The URI Type must be set to SIP URI and the VOIP Security was set to Secured.  As this lab is using a North American dialing plan the Country/Region Code was set to 1.

image

    An improvement in the Exchange Server 2010 process is seen next as the wizard will ask which UM server to associate the new dial plan with.  Previously with Exchange Server 2007 this step had to be performed manually afterwards.
  • Select the consolidated Exchange server running the UM role and then complete the wizard.

image

During the wizard completion the following error may appear as the default UM service startup mode is set to TCP and is not compatible with the VoIP Security option selected.  This will also prevent the Unified Messaging service from starting on the Exchange server.

The VoIPSecurity type of dial plan(s) ‘DefaultUM’ does not match the UMStartupMode of Unified Messaging server ‘LAB1EXCH’. Please ensure that if the UMStartupMode of the Unified Messaging server is TCP, the dial plan has a VoIPSecurity type of Unsecured. If the UMStartupMode of the Unified Messaging server is TLS, the dial plan should have a VoIPSecurity type of either SIPSecured or Secured.

  • To resolve this issue complete the wizard and then use the Exchange Management Console to navigate to the UM Settings tab on the UM server properties located under Server Configuration > Unified Messaging.  Change the Startup Mode to TLS.  (Dual could also have been selected but in this lab all communications will be using TLS so there is no reason to for the UM service to listen over TCP as well.  This approach is also more secure in production deployments.)

image

  • To apply this change the Microsoft Exchange Unified Messaging service must be restarted, although it should not even be running at this point so then it just needs to be started.

Alternatively the Exchange Management Shell can be used with the following PowerShell cmdlets to perform all of the steps shown above in this section.

New-UMDialPlan -Name ‘DefaultUM’ -NumberOfDigitsInExtension ’4′ -URIType ‘SipName’ -VoIPSecurity ‘Secured’ -CountryOrRegionCode ’1′

Set-UMServer -Identity ‘LAB1EXCH’ -DialPlans ‘DefaultUM’ -UMStartupMode ‘TLS’

Start-Service MSExchangeUM

4. Configure UM Settings

This first step is optional but I typically prefer to tweak a couple settings before enabling users for UM, specifically the minimum PIN length as the default of 6 is annoyingly long for demo purposes, plus enabling common patterns allows me to set easy-to-remember PINs like ‘1234’ or ‘1111’.

  • From the PIN policies tab on the default UM Mailbox Policy set the Minimum PIN Length to 4 and enable Allow common patterns in PIN.

image

Next is the Exchange Subscriber Access and Auto Attendant configuration.  As this lab is using 312-555-75xx in the Lync Dial Plan I selected 7556 and 7557 for the SA and AA telephone numbers.

  • Enter the desired telephone number on the Subscriber Access tab of the newly created UM Dial Plan (e.g. +13125557556).

image

    • Create a new UM Auto Attendant with any Name (e.g. AutoAttendant) (do not include any spaces) and enter the desired phone number in the Pilot Identifier List (e.g. +13125557557).  Select the new UM Dial Plan as the associated dial plan and select both settings to enable and speech-enable the auto attendant.

image

  • Alternatively the PowerShell cmdlet shown below can be used to create the new UM Auto Attendant with the setting described above.

New-UMAutoAttendant -Name ‘AutoAttendant’ -UMDialPlan ‘DefaultUM’ -Status ‘Enabled’ -SpeechEnabled $true -PilotIdentifierList ‘+13125557557′

5. Enable Mailboxes for UM

Select at least one mailbox using the Exchange Management Console and enable Unified Messaging on it.  This account should already be enabled for Lync Server and Enterprise Voice.

  • Run the Enable Unified Messaging wizard on the mailbox and select the default policy.  Retain the automatic settings but verify that the extension and SIP address shown match the desired settings for that user.

image

image

Once again, the Exchange Management Shell can be used to perform the same step, as shown by the following cmdlet.

Enable-UMMailbox –Identity ‘kristina’ -PinExpired $false -UMMailboxPolicy ‘DefaultUM Default Policy’ -Extensions ’7502′ -SIPResourceIdentifier ‘Kristina@csmvp.net’

  • Verify that the EUM and SIP addresses are properly configured on the mailbox after the wizard completes.

image

6. Run Exchange UC Configuration Script

This script is basically unchanged in SP1 and performs the same actions: creating the UM IP Gateway and IP Hunt Group as well as granting permissions to Lync server to read specific UM-related objects in Active Directory.

Make sure to allow for any outstanding AD replication to complete before running this script so that the newly created UM dial plan and any other changes are read by the script in their updated state.  If run to soon sometimes the Dial Plans listed in the last line of the script output will display as “not found” even though the configuration would typically be functional at that point.  If that happens it is safe to re-run the script multiple times at it will identify any successful previous changes and thus report that no new changes were applied in those cases.

  • Using the Exchange Management Shell execute the exchucutil.ps1 script located in the Exchange Server’s Scripts directory, as shown in the path below.

[PS] C:\Program Files\Microsoft\Exchange Server\v14\Scripts>.\ExchUCUtil.ps1

Using Global Catalog: GC://DC=csmvp,DC=net

Configuring permissions for csmvp.net\RTCUniversalServerAdmins …
CSMVP Net: The appropriate permissions haven’t been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM DialPlan Container: The appropriate permissions haven’t been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM AutoAttendant Container: The appropriate permissions haven’t been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.

Configuring permissions for csmvp.net\RTCComponentUniversalServices …
CSMVP Net: The appropriate permissions haven’t been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM DialPlan Container: The appropriate permissions haven’t been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM AutoAttendant Container: The appropriate permissions haven’t been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.

Configuring UM IP Gateway objects…
Pool: lab1ls.csmvp.net
A UMIPGateway doesn’t exist in Active Directory for the Office Communications Server Pool. A new UM IP gateway is being created for the Pool.
IsBranchRegistrar: False
MessageWaitingIndicatorAllowed: True
OutcallsAllowed: True
WARNING: The command completed successfully but no settings of ’1:1′ have been modified.
Dial plans: DefaultUM

Permissions for group csmvp.net\RTCUniversalServerAdmins

ObjectName                     AccessRights                   Configured
———-                     ————                   ———-
CSMVP Net                      ListChildren                   True
UM DialPlan Container          ListChildren, ReadProperty     True
UM AutoAttendant Container     ListChildren, ReadProperty     True

Permissions for group csmvp.net\RTCComponentUniversalServices

ObjectName                     AccessRights                   Configured
———-                     ————                   ———-
CSMVP Net                      ListChildren                   True
UM DialPlan Container          ListChildren, ReadProperty     True
UM AutoAttendant Container     ListChildren, ReadProperty     True

PoolFqdn                       UMIPGateway                    DialPlans
——–                       ———–                    ———
lab1ls.csmvp.net               1:1                            {DefaultUM}

7. Configure Lync Dial Plans

As mentioned earlier the Lync Server voice configuration is already complete.  To validate which settings are required in Lync follow just the Enabling Enterprise Voice section of this previous article (the Deploying a Media Gateway section is not required for UM connectivity.)

  • To validate the configuration will support the extension dialing configured for the SA and AA UM objects use the Lync Server Control Panel to create a New Voice Test Routing Case.  Enter the SA extension (e.g. 7556) and the Expected translation (e.g. +13125557556) and make sure the test passes. 

image

8. Run Lync UM Configuration Tool

This utility is used to create the AD contact objects for Lync Server to resolve and locate the Exchange Subscriber Access and Auto Attendant services.

In the past it was always required to configure the UM Dial Plan name to be the identical FQDN as what the OCS Location Profile was named.  But now with SP1 on Exchange Server 2010 that is no longer required, as indicated by the informational text on the bottom of the next screenshot.

  • Execute the OcsUmUtil.exe program located in the Lync Server’s Support directory, as shown in the path below.

C:\Program Files\Common Files\Microsoft Lync Server 2010\Support\OcsUmUtil.exe

  • Click Load Data and the Active Directory forest name should populate the Exchange UM Dial Plan Forest field.

image

  • Click Add to create the Subscriber Access contact first.  Select the desired Organizational Unit and Name.  The defaults can be used for the remainder of the settings.
  • Click Add again to create another contact and select Auto-Attendant as the Contact Type. Select the desired Organizational Unit and Name.  The defaults can be used for the remainder of the settings as well.

image

image

  • Close the Exchange UM integration Utility and force an address book update in a Lync client to verify the new Exchange contacts.  Depending on the AD forest configuration replication may need to complete before attempting the address book update process.

image     image

At this point calls to either attendant should work and Voice Mail access for the enabled users will be available from Outlook and Lync clients.  If calls to the Auto Attendant are failing, then take a look at the resolution in my next article.

 

About Jeff Schertz
Site Administrator

Comments

70 Responses to “Lync and Exchange UM Integration”
  1. Ewald says:

    Thanks for this. It's the most detailed description for Lync 2010 UM Integration available!

  2. Drarcehor says:

    Thanks for your post and information ((o;

  3. Deans says:

    I am having an issue. I can call into Exchange UM. Check my e-mail. Check my calendar. However when I say Directory, say a person's name, then say "call the office". The call doesn't transfer. I had this working with OCS 2007 R2. I upgraded this environment to Lync and now the transfer is not working. Do you have any suggestions?

  4. Jason says:

    Jeff,

    Thanks for the excellent write-up!

    I"m trying to integrate Lync and Exchange UM and am having an issue with the Auto Attendant. It appears to be a certificate issue, but I'm not sure why. When I dial the auto attendant number, the phone rings once and then gives me an error. In the Lync server event log, it says:

    The certificate received from the remote server does not contain the expected name. It is therefore not possible to determine whether we are connecting to the correct server. The server name we were expecting is VOIP-EXCHANGE.mytestdomain.org. The SSL connection request has failed. The attached data contains the server certificate.

    I've tried requesting new certificates from the AD Cert Server with the CN equal to the exact name found above in the error (including capitalization), but I still get the same error.

    Any thoughts?

    Thanks,

    Jason

    • Jeff Schertz says:

      Jason, it's difficult to assume what the issue may be, but typically when you see those errors they are poitning to a name mismatch somewhere. What process was used to create the certificate request?

  5. Shahin says:

    Hi, Woderful Article. I have followed it and I could set up a LAB.
    Few Hurdles which I met on my way are Certificate isse and External Access, both were on the Exchange Server.

    1. Certificate. Better to use seperate certificate for Exchange UM , if you have multiple roles installed on one box.
    For MTLS to work ,the certificate should contain the name in proper letter cases. if your server is EXUM01.lab.local , a certificate with exum01.lab.local will not work for you

    2. external access through Edge
    [if you have lync edge pool, use th internal fqdn]
    Set-UMServer YOURUMSERVER -SIPAccessService YOUREDGEPOOL.domain.local:5062
    or
    [if you have single lync edge server, use th internal fqdn]
    Set-UMServer YOURUMSERVER -SIPAccessService YOUREDGESERVER.domain.local:5062
    Restart to the ExchangeUM service by Restart-Service MsExchangeUM -Force.

    Finally Verify each UM event in the application log

    • jeffschertz says:

      Shahin, Thanks for the input. I will actually be covering the Edge Server deployment process in my next article and that will include the UM integration configuration once A/V Edge is introduced to the environment. Also X.509 certificate fields are no case sensitive (as documented in RFC 2459 http://www.ietf.org/rfc/rfc2459.txt) and neither are server hostnames. I would have to assume that there was some other difference in the to certificates you tested either than just the case of the Common Name. Also, Microsoft's best practices denote that a single certificate should be used on the Exchange server whenever possible, there is no need to request multiple certificates when the SAN field can be leveraged for multiple FQDN support.

  6. Lennart says:

    Hi!

    I've followed this guide, but get the following error when running OcsUmutil:

    "There was an error while trying to create the new contact object in Active Directory. … Object reference not set to an instance of an object"

    What can be wrong with my system?

    • jeffschertz says:

      I have not seen that error before, but I would validate that you have the corrrect permissions in Active Directory to create a new contact object from the account you are running the OCSUmUtil from.

    • Mark Watkins says:

      Hi,

      I had the same issue, in my case it was because I had separate director and front-end pools and it had defaulted to the director pool.

      Once I changed it to the front-end pool it created the objects perfectly.

      Regards,

      Mark

  7. TheGarmac says:

    Hi, firs thank you for this very detailed guide. I have an issue i am trying to resolve. We have an OCS 2007R2 environment with Exchange 2010SP1 UM. Everything works great so far. We introduced Lync into the Mix and almost everything works. There is one issue. none of the new users that are on Lync are able to dial any of the AA on Exchange. I tested and created a new Auto Attendant and set it up on Lync and that works fine and I can call it. But when I try to call all the other AA that where created prior to introducing Lync, the call failecd and I get the generic ID 403

  8. Ram says:

    Hi Jeff,

    Very good detailed article. I am planing to configure Lync and UM in a cross forest model. could you please provide me the exact steps to achieve this.

    Regards,
    Ram

    • jeffschertz says:

      Maybe in a future article I can address this, but sorry I don't have time to do 'requests' currently.

      • AndyC says:

        Hi,

        Great article, our intergration does not work even though i ahve followed it to the letter. The only difference is we already have a dial plan that is used for intergration to Cisco casll manager. Will this casue a problem and can i have two dial plans for te same number of digits in the extension?

        • jeffschertz says:

          You can't have multiple dial plans overlapping the same number of digits as Lync will just normalize on the first matching rule it hits. You'll need to make the dial plan unique so that it works correctly across both systems.

  9. Tim says:

    Great article, but im having issues with the attendant from external, after 10 seconds the call dies. i tried Shahin's method but dident change anything. have you seen this before?

    Thanks again, I enjoy your posts!

    • jeffschertz says:

      Tim, I have not seen this before. Have you looked at a SIPstack trace to see what is happening after 10 seconds?

  10. soder says:

    Just a clarification: does the exchange2010SP1 release of the EXCHUCUTIL.PS1 support the "-verify" switch, or not? Exchange2007SP1+ version of the EXCHUCUTIL.PS1 had this switch, which resulted in a read-only run of the script for verify purposes. It seems the 2010SP1 version is run in write-enabled mode, no matter if I provide -verify switch or not.

    • jeffschertz says:

      I haven't tested this but I wouldn't be surprised if the behavior has changed.

      • soder says:

        Nobody (even inside MS, Lync experts I have asked personally) has a clue about this :(
        I believe when the somebody in a TOP100 company will make a disaster after using this script, the issue will be escalated so high MS need to do something.

  11. PierreM says:

    Jeff, I don't know if this is normal, but when I go through the Auto attendant it is able to recognize the extension I want and speaks the correct user name for the extension but then displays it's own DID as the number of the user I am transferring to. calls fail to connect but I am not finding any error logs in the eventvwr of either the lync server or exchange server

  12. PierreM says:

    Jeff, great articles for getting Lync up and running. I'm almost there. I've got my primary phone as
    +12125551212 and noticed an odd thing when working with the Auto attendant (in my case called Auto_Attendant) and the I can navigate the auto attendant and transfer to extensions (it calls out the user name correctly too) but every extension I try to transfer to shows up as +12125551212 and the atempt to transfer eventually fails. what did I miss??

    • jeffschertz says:

      Pierre, I have not seen this behavior before but make sure that you have any normalization rules and other extension transfer settings properly configured in the EUM policies. Once you call the Auto Attendant in Exchange then transfer from their adhere to the Exchange org settings and not the Lync dialing rules.

      • PierreM says:

        Jeff,

        thank you. I deleted all of my previous Exchange EUM settings, rebooted the entire test environment nad followed your instructions to the letter ( except for the root phone number) and I get the same result, only this time it's following thedialing rules and dialing the last 4 digitsof the auto attendant instead of the end users extension. there must be a step in the instaructions that you are assuming we're all doing that I am missing.

        help!

        • PierreM says:

          Jeff, I've found another interesting behaviour of the UM. It's now going through (but I have to wait 3-4 minutes for the auto attendant to make the transfer) it rings, I connect and the UM drops the call.

        • jeffschertz says:

          I didn't cover the various configuration settings for supporting the Extension Dialing features in Exchange UM so there are additional settings you'll want to play with outside the scope of this article. See the "Managing UM Dialplans" portion of the documentation for more details: http://technet.microsoft.com/en-us/library/aa9978

  13. Jerry says:

    Jeff,

    Thanks for the article. I have a production Exchange 2010 server. I tried adding "Set UM Servers" by adding the local exchange server but nothing comes up? cannot find any of the servers?

    Any Suggestion?

    Jerry

  14. stephen says:

    does the name of the lync dial plan need to match the name of the um dial plan? i might already have several dial plans in my lync organization.

    • jeffschertz says:

      Stephen, with Exchange 2010 SP1 the dial plan names no longer need to match between Exchange and OCS/Lync. See Step 8 in this article for more details.

  15. Will Martin says:

    Jeff,

    I'm working on an upgrade from Exchange 2007 UM to Exchange 2010 SP1 UM and I need to phase the mailbox migrations. If I didn't need to stage them, this would be simple – install Exchange 2010, add it to the dial plan, move the mailboxes, celebrate. However, that's not the case. I've gotten various responses on whether I need a new dial plan or not (last one from Microsoft was that since this is Ex2010 SP1, we can join the existing dial plan). I'd rather not have to have a new one, since it would require that all of our users (including the CIO who demanded she be on the pilot) be reregistered. Have you worked this sort of upgrade?

    • jeffschertz says:

      Will, I haven't run into that scenario myself. I agree with the comment your got from Microsoft that you should be able to use the same dial plan, but without seeing the entire configuration it's hard to say one way or the other.

  16. Gopal says:

    Hi,
    We recently implemented Lync 2010 as our unified messaging platform. the implementation went well and everythign is working to our liking EXCEPT for the auto attendant call workflow. Our auto-attendant requires users to hit ## (# key twice) to be able to dial an extension. This is causing a lot of confusion for our callers even though our greeting on the auto attendant clearly states that they "press # twice to dial an extension."

    The vendor who implemented lync for us has done quite a bit of research and swears that there is no way to get rid of the ## requirement UNLESS we disable directory search as well i.e. users will not be able search via first/last name (which I think is a good feature to have). They insist that this is a exchange unified messaging limitation.

    To sum up, our ideal requierments are:

    1. Remove the ## requirement and allow user to dial extensions as soon as our auto attendant starts.
    2. Retain the ability to do a directory search

    Is there a way to achieve this with Lync and Exchange 2010? I appreciate any insight you can provide

  17. Niall says:

    I have followed the above successfully. Do I need to export the Exchange UM certificate to the Lync Server ?

    • jeffschertz says:

      No, the certificate on the Exchange server should be trusted already by the Lync Server. In the case that Lync and Exchange use certificates from different Certificate Authorities, then you do not import the Exchange certificate itself but the Root CA certificate.

  18. Jason says:

    I have created a new UM AutoAttendant to be used with Lync. I have setup Key Mapping, but anytime I push one of the keys to transfer to an extension, I get a message saying "The call cannot be transferred". My Subscriber Access works as expected and I can also use the Auto Attendant to transfer a call by spelling the name. How do I go about troubleshooting the Key Mapping transfer?
    Thanks!
    Jason

  19. BrianB says:

    What "extras" are there for Exchange UM w/ Luync? FOr example, can we change how the AA listens for the staff personn's name? Can we force the AA to give an option to read out all names, can we upload a wav file of a professinal recording to Exchange UM to match Lync recorded messages (match the voice we "hired"..LoL :)
    Now that I have Lunc 2010, Exchange 2010 & UM in place, prior to installing forefront and pushing out to the public to utilize all Lync options I want to tweak and pimp out the phone and UM side of the house first.. Everything works, call flow is great, reporting up as is edge and mediation, etc.. Just want to tweak it before official public golive!!
    Ideas / Sggestions ? I'm ALL ears! Awesome as always Jeff!
    @Brian_Bell

  20. Glen Knight says:

    Jeff,
    Thanks for the write up.

    I’ve got it all working with the exception of remotely connected Lync clients. When they get transferred to the UM server the client errors out with a network issue.

    What path will external clients take to connect? I’ve not got any errors in the logs and monitoring TMG doesn’t show any incoming failed attempts.

    Any ideas where I can look to start trout shooting this?

    Thank
    Glen

  21. Glen Knight says:

    Of course ” trout shooting ” is my iPads autocorrect for troubleshooting.
    :)

    Thanks
    Glen

  22. eddysamson says:

    Hi Jeff!

    We have a Lync/Exchange deployment with 3 Exchange servers. One is our main hub, one is a backup, one is the new main hub. I have created a new dial plan, UM Mailbox, and Auto attendant on the new server and configured them as I have the current ones configured. I went in and disabled the old hub, created my new gateway and hunt group for the new server, and ran OCSUMUtil.exe on my lync server and set up the new exchange server/auto attendant.

    After all this my new auto attendant was not picking up inbound calls. Do you have any idea what the problem could be? I deleted the gateway and created a new one for the old server and switched everything back successfully…its pretty much the same steps to switch over to the new one so I don't see why it isnt working. Cert issue perhaps? I have a self signed cert on the new one and an internal CA issued cert for the old one. Is this the problem?

  23. Mohammed JH says:

    Hi Jeff, I followed everything and I can call the Exchange Subscriber number assigned to it internally (Where my Exchange is located) and I can hear the Exchange IVR however when I'm logging to Lync from my external location I can't get it! Is this something to do with the Number on the gateway ? as this assigned number is an IP telephone number.

    The only error I found is in exchange event viewer is
    "The UM IP gateway or host "192.168.1.X" resolves to an invalid FQDN. Please check your UM IP gateway and DNS server configuration."

    • jeffschertz says:

      Make sure you run the required cmdlet to enable Edge services with EUM, I believe it was discussed in a previous comment on this post.

      • Mohammed JH says:

        Thanks for the reply Jeff, I have already applied the cmdlet if it's the one below you're talking about.. but unfortunately it didn't work. I'm using a CA internal certificate and all of the servers are in one domain e.g. (Lync FE, Exchange) Do you think it would be relevant ? I set the x509 certificate name on the CA to match my CA certificate with the external FQDN not the internal one. will that be the issue? Thanks

        If the command you're talking about is this "Set-UMServer YOURUMSERVER -SIPAccessService YOUREDGESERVER.domain.local:5062"

        • jeffschertz says:

          You must use the internal Edge FQDN in the command, NOT any of the external Edge FQDNs. The default A/V Authentication port (5062) is only listening on the internal interface.

  24. Mohammed JH says:

    Yes I did so, but still I can't call voice mail from a remote location! I have enabled traces on Lync FE and I can see there's a red error states " SIP/2.0 400 Internal error from Lync FE's IP to Exchange's IP", and here's the message

    TL_INFO(TF_PROTOCOL) [3]0C78.1E34::05/28/2012-10:44:23.757.000039ba (SIPStack,SIPAdminLog::TraceProtocolRecord:SIPAdminLog.cpp(125))$$begin_record
    Trace-Correlation-Id: 789467163
    Instance-Id: 0000BD99
    Direction: incoming
    Peer:EXCHANGE'S FQDN:5061
    Message-Type: response
    Start-Line: SIP/2.0 400 internal error
    From: <sip:192.168.1.182:62488> << Lync FE
    To: <sip:192.168.1.181:5061> << Exchange Server
    CSeq: 1 NEGOTIATE
    Call-ID: AD837038D849A2769C88
    VIA: SIP/2.0/TLS 192.168.1.182:62488
    MAX-FORWARDS: 70
    CONTENT-LENGTH: 0
    Message-Body: –
    $$end_record

    • jeffschertz says:

      That error seems like a basic network communication issue between the servers as the negotiation is failing right away.

  25. Mohammed JH says:

    Hi Jeff, I solved the issue, I'm not sure which one did it but I found that Lync Edge didn't have the internal IP address on the DNS which was configured by the person who installed Lync before me.

    I also created a Dial plan that enable Lync users to call to the Subscriber and AutoAttendant numbers. and applied this cmdlet on Exchange "set-UmIpGateway -identity 1:1 -port 5061" which I found on one of Microsoft Q forums.
    http://social.technet.microsoft.com/Forums/en-US/

    This has finally solved my problem, thanks so much for your kind help

  26. pininfarina575 says:

    Jeff,

    How about enabling Unified Messaging between Lync Server 2010 and Exchange Online? I followed the so-called "Checklist" but didn't have much luck….

    Any suggestions?

  27. Colin says:

    When I try this I get an error when entering the Autoattendant number. I even tried the example in this article (+13125557576) and get told that it isn't a valid extension. The only numbers it will accept are 4 digit extensions. However, thet can't be used since they get normalized to E.164 format. What's the deal?

  28. Abhiram says:

    Hello Jeff,

    Can I configure UM such that a caller only has to say the "First" name of the person he wants to reach?

    If in case there are multiple users with the same first name, then can the Auto Attendant lists out the various options?

    I have looked around without much luck.

    Thanks!

  29. Darren Ellis says:

    Ive done a load of these deployments now around the globe and I always come back to this article for reference each time! Awesome info!

  30. Hello Jeff,

    thanks for taking the time to share your informative and good article with us.
    All the points you mentioned due to Microsoft Exchange Server 2010 is right.
    Hope to hear from you soon.

    Thank you very much!

  31. Darren says:

    With Cisco voip there was an option to set Auto Attendant answer delay settings. I have users saying that clients are complaining that the call answers on our end before it rings on their end. Is it possible to set this either on Lync or Exchange? Maybe give two rings or 15 seconds before the attendant answers? Thanks.

  32. Khaled Helmy says:

    Dears,

    I have a strange problem, I configured the integration between Lync 2010 & Exchange 2010 UM. the problem is when i called the Auto Attendance no. it is answering but no sound heard. also, the same problem appeared when i called Lync client and didn’t answer, i don’t hear ny voice message. However, i can leave a voice message and the called party can receive it through outlook and hear my voice

  33. Richard says:

    Hi Jeff, community,

    I am quite new to Lync and have a basic question that is related to the IM themes mentioned above, and it's one of "language". I am British, but I live in Switzerland and am trying to fix an issue on a German-language Lync 2010 system where we get event 44009 when access to voicemail is attempted.

    I see many "rabbits" I can chase to attempt to fix this, but first my basic newbie question.

    Please define "Auto-attendant" and "Subscriber access"? The American and British English terms are sometimes different and things US citizens understand immediately are a puzzle for us Brits!

    I guess Auto-Attendant (AA) is the Exchange UM facility that answers a diverted call, plays the message and stores the caller's message? That's the number ending 7557 in your screenshots above?

    I guess that Subscriber Access is the complement and is the number the subscriber calls to retrieve messages left, configure greetings and so on? That's the number ending 7556 in your screenshots above?

    Or have I misunderstood this completely?

    TIA,

    Richard

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!