Tag Archives: call forward

How to administratively forward Lync calls or numbers

Scenario: A user leaves the organization and you would like to forward their number/calls to a manager.

Solution: Microsoft has a Lync Server 2013 (and 2010) Resource Kit that contains a command-line tool called SEFAUtil (secondary extension feature activation) which can be used to achieve this task.  Before beginning, I would recommend taking a look at the official TechNet article/documentation on the utility itself: http://technet.microsoft.com/en-us/library/jj945604.aspx  In this tutorial, we will download the tool and execute the proper commands to configure call forwarding for a specified user.

  1. Download a copy of the Lync Server 2013 Resource Kit from Microsoft's website here: http://go.microsoft.com/fwlink/p/?LinkID=330429
  2. Run the installer from your Front End Server/Pool
    OCSReskit_msi
    Lync Server 2013 - Resource Kit - Welcome
    Lync Server 2013 - Resource Kit - EULA
    Lync Server 2013 - Resource Kit - Destination Folder
    Lync Server 2013 - Resource Kit - Install
    Lync Server 2013 - Resource Kit - Finish
  3. Create a trusted application pool
    1. Execute the following command
      1. $Site=Get-CsSite -Identity "My Site"
        Lync Server 2013 - Get-CsSite - Variable

        1. Note: If you don't know what to substitute for My Site, execute the following command to see what sites you have available and then use the Identity value.
          1. Get-CsSite
            Lync Server 2013 - Get-CsSite
      2. Execute the following command
        1. New-CsTrustedApplicationPool -id <Pool FQDN> -Registrar <Pool Registrar FQDN> -site $Site.SiteID
          Lync Server 2013 - New-CsTrustedApplicationPool

          1. Note: Technically we didn't need to run the 1st command, however this can help cut-down on user error.  Additionally, if you have multiple sites and you knew what site you wanted to use but not the ID, this helps skip a step.
  4. Define SEFAUtil as a trusted application in the Lync topology
    1. Execute the following command
      1. New-CsTrustedApplication -ApplicationId sefautil -TrustedApplicationPoolFqdn <Pool FQDN> -Port 7489
        Lync Server 2013 - New-CsTrustedApplication sefautil
  5. Enable the Lync topology to commit the changes
    1. Enable-CsTopology
      Lync Server 2013 - New-CsTrustedApplication sefautil - Enable-CsTopology
  6. Forward a user's number
    1. Navigate to %ProgramFiles%\Microsoft Lync Server 2013\ResKit
      Lync Server 2013 - Navigate ResKit
    2. Execute the following command
      1. SEFAUtil.exe /Server:<Pool FQDN> [email protected] /enablefwdimmediate /setfwddestination:[email protected]
        SEFAUtil enablefwdimmediate setfwddestination

That should be it!

Note: If you are more comfortable using a GUI or don't wish to type in multiple powershell commands, I would highly recommend checking out Johan Veldhuis's SefaUtil GUI PowerShell script.  Once you are done following steps 1-5 above, you you can grab a copy of the script here: http://johanveldhuis.nl/sefautil-gui/sefautil-gui/

Configure call forwarding on unassigned number ranges in Lync

One of the new features introduced in Lync Server 2010 and kept in 2013 is the ability to assign a block of numbers to Lync and have Lync handle a call made to an unassigned number a specific way rather than just have a fast-busy signal.

While it is easy to configure a call to be handled by a simple announcement (a sound file saying you have reached a number that has not been assigned to an individual at your corporation or a text-to-speech version translated by Lync), there is really no easy way to configure the call to be routed a specific way via the CSCP (Lync GUI control panel).  In this tutorial, we will cover some of the powershell commands to create an announcement to forward the call to an operator or response group and then assign the announcement to an unassigned number range.

  1. Open up the Lync Server Management Shell as an administrator on one of your Front End servers
    Lync Server Management Shell - Run as administrator
    Lync Server Management Shell - Running as Administrator
  2. Execute the following powershell command to configure how the call should be handled
    1. To route to a response group or user
      New-CsAnnouncement -Identity ApplicationServer:lyncpool.mydomain.com -Name "Forward Announcement" -TextToSpeechPrompt "Thank you for calling my company, please wait while we redirect your call." -Language "en-US" -TargetUri sip:[email protected]
    2. To route to a specific phone number (make sure you specify ;user=phone)
      New-CsAnnouncement -Identity ApplicationServer:lyncpool.mydomain.com -Name "Forward Announcement" -TextToSpeechPrompt "Thank you for calling my company, please wait while we redirect your call." -Language "en-US" -TargetUri "sip:+[email protected];user=phone"
    3. Alternatively, you can use your own recording in a .wav format rather than use the robotic Lync voice by specifying using either of the following commands:
      New-CsAnnouncement -Identity ApplicationServer:lyncpool.mydomain.com -Name "Forward Announcement" -AudioFilePrompt "WelcomeMessage.wav" -TargetUri sip:[email protected]
      New-CsAnnouncement -Identity ApplicationServer:lyncpool.mydomain.com -Name "Forward Announcement" -AudioFilePrompt "WelcomeMessage.wav" -TargetUri "sip:+[email protected];user=phone"
      New-CsAnnouncement -TextToSpeech - forward to user
  3. Execute the following powershell command to create the unassigned number range and assign our announcement/forward to the unassigned number range
    1. New-CsUnassignedNumber -Identity "Unassigned Number Range" -NumberRangeStart "+15555555000" -NumberRangeEnd "+15555559000" -AnnouncementName "Forward Announcement" -AnnouncementService ApplicationServer:lyncpool.mydomain.com
      New-CsUnassignedNumber Range - Forward Annoucnement
  4. At this point, once you call a number that has not been assigned to a response group, user, dial-in access number, etc in the 15555555000-9000 range, you should receive your message and in my particiular case, the call should be forwarded to a particular user.  Hope this helps!

Notes: Official technet article on how the New-CsAnnouncement command can be found here: http://technet.microsoft.com/en-us/library/gg398522.aspx