Optimizing VVX deployment with pre configured configuration files.

While ago I posted an article explaining how to use the configuration files to deploy and configure VVX devices over a provisioning server. If anyone who used the .cfg files on the provisioning server might realize that, there are lot of parameters to be configured so the the device deployment can be streamlined and make it more user friendly in the process.

In this article, I have shared a set of pre configured ans optimized .cfg files that can be used with any Lync server deployment. Granted that some of the parameters need to be changed according to the environment and I will explain what need to be changed and why.

There are 6 configurations files all together which address different segment of the device configuration.

Starting with Device.cfg. This configuration file set to configure following parameters in VVX device,

  • Set Device Base Profile as Lync
  • Change default administrator password (In version 5.1.1 Revision B, Device comes up with warning message if the Administrator password remains as default)
  • Enable Device update
  • Specify device update location
  • Time server configuration

The Feature.cfg file specify the common set of features on the device such as, Call lists, Miss call alerts, Contact Directory. In this file, the specified parameters are below,

  • Removed the “Corporate Directory” option on the device. Within “Directory”, the device will have “Lync Directory” option so that the contacts can be searched and called. In many cases, I have seen users get confused with two different set of directory options hence removing the “Corporate Directory” option
  • URI Dialling disabled. VVX generally have URI dialling enabled. When this feature is enabled, all inbound and outbound calls display as the full SIP URI (sip:+6123456789@contoso.com.au). Users who are used to have legacy PBX end points does not like this at all. They want to see just the number or the name without any other information

Sip-Interop.cfg is the most important one. This one controls the device registry intervals as well as the SIP Proxy server related parameters. In this configuration file, most of the parameters haven’t changed. But, the ones that were changed are below,

  • Device registration expiry interval. Default device registration expiry interval is 3600 seconds. If the devices is registered in an SBA, then if the SBA goes down, the devices still shows as signed in but, it actually be in an unknown condition till the registration expires. Have 3600 seconds is too much in that scenario. In this configuration file, the interval has changed to 120 seconds. This cannot be less than that. If it’s less, then users will experience the frequent device sign in and sign out.
  •   VOIP Server configuration. Here, the VOIP server interoperability is set to Lync 2010 and the transport method is set to TLS.
  • SDP early media disabled. I have noticed when this parameter is enabled, device sometimes does not provide a ringing tone to the end user. The dialled call will be blank till it get picks up.
  • Apply Digitmap Locally. Enabling this parameter will make the device to adhere to the Lync server normalization rules which are assigned to the user.

The Site.cfg file is configured to set daylight saving time in to the device. If the daylight saving is applicable, the start and stop times need to be configured,

  • SNTP address of the time Server
  • Daylight saving enable or disable. If enabled, start and stop times

Lync.cfg file configured to set BToE enabled. But, in version 5.1.1 Revision B, Polycom have set the BToE as disabled and given that the configuration file version is 5.2, this configuration file doesn’t really enable BToE on version 5.1.1 Revision B firmware. But, it can be used on Version 5.2.

The Cer.cfg is set to import the root CA in to the device. 90% of the devices that I have deployed were able to get the certificate without uploading manually. In case the device fail to pick up the certificate, copy and paste the hash file of the CA certificate in to the configuration parameter.

Finally, the Master configuration file 000000000000.cfg. All the above mentioned configuration files are specified in this master configuration file. When the device boots up, it will fetch the configuration mentioned on this files and get configured based on parameters which are configured on each sub configuration file.

The configuration files can be downloaded from, https://onedrive.live.com/redir?resid=6329AF91D1E5ADBC%21704

Follow my other article if you are new to the VVX setup. https://thamaraw.com/2014/04/02/configuring-the-provision-server-to-setup-polycom-vvx-devices-to-support-lync/


Lync Server CU 5 KB 2809243 (August Update)

Microsoft has released the August update for Lync Server 2013 CU 5. Applying the update is pretty much straight forward as the ones that released before this.

The update can be downloaded from below URL. Take a look at the release notes and issues that has been addressed with this update. And most importantly, don’t forget to update the Back End Database.


Happy updating folks 🙂


Configure Analogue Extensions on Sonus SBC to work with Lync Server 2013

Objective of this article is to guide how to configure Analogue extensions sitting on Sonus SBC 1000\2000 FSX module to communicate with Lync server 2013. Integration with having the FSX modules on the SBC chassis is much less complicated that the FSX is sitting on a different Gateway.

In that case, there will be a licensing concern when it comes to Sonus gateway. To do this, you would probably need Registrar license as well as SIP\Transcoding license. But, in Sonus SBC version 3.1.x does have an option called “RTP Proxy”. This parameter configured in Routing table against the specific route allows RTP to flow without a Transcoding license given that both end use the same codec.

Now back to the subject. The configuration steps would be pretty straight forward,

  • Configure Analogue contact objects in Lync server
  • Configure a CAS Signalling Profile
  • Configure Transformation table
  • Configure a CAS Signalling Group
  • Configure Routing Tables

Configure Analogue contact objects in Lync server

This step is much like configuring a Common Area device. Instead of New-CsCommonAreaDevice, we use New-CsAnalogueDevice. Use the Lync management Shell to run below command. Replace site specific parameters for the highlighted sections.

New-CsAnalogDevice -LineUri tel:+14255556001 -DisplayName “Building 14 Receptionist” -RegistrarPool redmond-Cs-001.litwareinc.com -AnalogFax $False -Gateway -OU “ou=Telecommunications,dc=litwareinc,dc=com

There’s no need to grant a voice policy because the Lync server doesn’t have any sort of authority over the analogue extension.

Configure a CAS Signalling Profile

Jump in to the SBC and navigate in to Settings > CAS. In CAS Signalling Profiles, create a new FSX signalling profile as shown below.CAS Profile

Configure Transformation table 

Transformation Table has to be created so that the numbers coming in to the Analog Extensions and going out to the Lync server are properly normalized. There has to be 2 sets of transformation tables. One set is “To FSX from Lync server” and another set for “To Lync Server from FSX”

To FSX from Lync server

What this rule does is that, a call comes as +6192931234 to 92931234 (The analogue Extension). This rule depends on how the Lync server send the numbers to the SBC. In my case, it’s the full E.164 number. CaptureCapture

To Lync Server from FSX

What this set of rule does is that, It coverts dialed 4 digits Extension numbers in to full E.164 number so that the Lync server can identify where that call to be sent to. CaptureCapture

Configure a CAS Signalling Group

Now to create a Signalling Group for the FSX module. This is where the physical FSX port will get the extension number and get associated with a CAS profile. For the time being, set the Call Routing Table as “Default” since we haven’t created it.  Configure a Signalling group as shown in below snapshot.Untitled picture

Configure Routing Tables

Routing Table is where everything get bonded together. It specifies where the call should go to and which Transformation Tables that it have to use. There gave to be 2 Routing tables. One is “From Lync Server 2013” and another as “From Analog Extensions

From Lync Server

This one specifies where the call to be sent to if it’s coming from lync server. In this instant, “To Analogue Extension“. Configure the routing table as shown in below snapshot.Untitled picture

From Analog Extensions

This one specifies where the call to be sent to if it’s coming from Analogue Extensions. In this instant, “To Lync Server“. Configure the routing table as shown in below snapshot.Untitled picture

Now the configuration is done. Based on this configuration, If a Lync user dials +6192931234, the call will hit on the Analog extension configured as 92321234. And the analogue extension make a call to extension 1212 (Lync User), this will get normalize in to +61892931212 and get forwarded in to Lync Server.

Lync Server 2013 Event 44009 (Um Integration with Exchange Server 2013)

When configuring Lync Server 2013 UM integration with Exchange server, the standard dialplan security configuration is configured as “Secured”. But, recently i came across with the issue where the dial plan security is set to “Secured” and the UM Service and the UM Call Router services are set to use “TLS”, i get the below error event on Lync front end server.Lync error

And when logged in to the Exchange Database server, there were plenty of warning event messages complaining that the voice encryption does not match with the Dial Plan configuration. UM Error

Thinking about the Dial Plan’s security configuration, It came to me that, then the services are set to use “TLS” instead of “Dual”, then the Dial Plan muct be configured as “SIP Secure” or elase it’ll come up with the abouve error.SIpSecure

After changing the Dial Plan security configuration and restarting UM service on both the Exchange database servers and UM Call Router on CAS server, it finally started working.

This wouldn’t be a problem if the services are set to use “Dual” instead of TLS. But, it’s recommended to use TLS as all traffic between Exchange servers and Lync servers are encrypted


Lync Server 2013 January Update (cumulative update 5.0.8308.577)

Lync Server 2013 January Cumulative Update is here. This is a Server end update which addressed to fix several bugs. This is a Cumulative update and it carries all other updates before it.

Please go to the official KB article using http://support.microsoft.com/kb/2809243 and follow the instructions.

Don’t forget to update the back end Databases!!

Lync 2013 version15.0.4551.1005 (November Update)

Microsoft has released a new Cumulative Update for Lync 2013 Client couple days ago. This fix addressed bunch of issues including,

  • Presence status isn’t updated based on Exchange calendar in Lync 2013
  • You can’t drag a contact from Lync 2013 to another application
  • Proxy authentication dialog box appears when you sign in to Lync 2013

Note that once updated, there is a known issue with this fix.

  • Screen readers cannot read aloud keystrokes during a Lync 2013 application or desktop sharing session in Windows

Before applying the CU Update, Verify that below prerequisites are installed.

  • MSO (KB2727096)
  • MSORES (KB2817624)
  • IDCRL (KB2817626)

You can download above patches and the CU update from http://support.microsoft.com/kb/2825630

Lync Server October CU (KB 2809243)

Lync Server October Cumulative Update has been released. To install this update, please go through following steps.

1. Get the Pool Upgrade Readiness Status (For Enterprise Edition Front End Servers)

Run the command get-CsPoolUpgradeReadinessState and verify that all Front End servers returns as “Ready”


Once the servers are ready, run Stop-CsWindowsService to immediately stop the Lync Server related Windows Services.

Now Download and run the “LyncServerUpdateInstaller.exe”. This can be downloaded from http://www.microsoft.com/en-au/download/details.aspx?id=36820

For Lync Server 2013 Standard Edition Servers

Download and run the “LyncServerUpdateInstaller.exe”. This can be downloaded from http://www.microsoft.com/en-au/download/details.aspx?id=36820

2. Apply the Back End Database update (For Enterprise Edition)

This is the one that most of the system administrators forget to do. If the environment has SQL Server High Availability configured on SQL Mirroring, verify that the Principle is set to Primary SQL Server by running  Invoke-CsDatabaseFailover -NewPrincipal Primary This will set the Principle as the Primary Server

If all databases including Archiving/Monitoring, Persistent Chat, run below command to upgrade the Database

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn FEBE.FQDN -Verbose

3. Apply the Central Management Store Update (For Lync Server 2010 and 2013 Plaforms)

This step is only require if the Lync Server platform was upgraded to February 2013 Cumulative Update.  Run the below command,

Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn CMS.FQDN -SqlInstanceName DBInstanceName -Verbose

4. Enable Mobility Services (For Lync Server 2010 and 2013 Platforms)

To enable Mobility Services run, Enable-CsTopology command.