TopBanner

What if you could provisiong snom specific settings like ringer tone, buttons and a myriad of other snom settings using standard Powershell and native Lync Server functionality? (no additional provisioning servers to install or learn) With snom’s new use of the native Lync Server csClientPolicyEntry cmdlet this is now possible.

Lync Phone Edition has never had the ability to change user/device setting (example: default ringer, screen contrast, etc) from Lync Server policies. Ever since Lync Qualified IP Phones have been available this unresolved challenge has required additional servers to provision Lync Qualified IP Phone settings centrally and made 3PIP phones feel like “black sheep” devices to Lync admins. In the case of snom there is snomtastic and polycom has their own method of pushing out settings.

Interestingly Lync Server has a built-in feature, for some versions already, that can brilliantly address this problem: CsClientPolicyEntry cmdlet. This commandlet allows a Lync admin to add additional custom vendor specific settings to any CsClientPolicy. Microsoft has used this as a kind of “back door” method to push less used & esoteric settings to official Lync clients but it can be used just as well to push any vednor specific setting to Lync Qualified devices.

Overview of How CsClientPolicyEntry Works

csClientPolicyEntry allows you to use csClientPolicy’s to send vendor specific devices settings to snom UC Edition devices. This means that using totally native Lync and powershell you can provision vendor specific settings inside and outside your Lync Edge. No additional provisioning servers required.

How to Use CsClientPolicyEntry to Configure snom Settings

For this example we will change the “Global” CsClientPolicy. (NOTE: obviously you would only want to do this in a lab; ONLY push settings out to small group of phone first for testing!)

First, find the snom setting you want to set. A snom setting will look something like:

answer_after_policy!

A great way to construct a setting is to login into the snom web UI, change a setting and click “Apply” and then view settings screen to see what setting changed and what its value is. (shown below)

The name you will use for the setting is the above prefixed with snom_ and the trailing ! removed to look like:

answer_after_policy!: becomes snom_answer_after_policy

Now run this powershell against the CsClient policy you want to change:

More Technical Detail on How Inband Provisioning Works

It appears that the in band provisioning is pulled from Lync Server when the endpoint reregisters. At this time all in band setting will be sent to the endpoint in the SIP Subscribe (re-register) as XML in SIP.

What can you do to trigger a re-register? Reboot the device or (in snom phones) click re-register (either via phoneUI or webUI) on the appropriate identity. You can also wait for reregister to happen. (30minutes default?)

That alternative is waiting patiently. Like many other things in Lync Server, this will not happen immediately. Below are (what appear to be to me) the default resubscribe timing in Lync for various login types:

Other Stuff/Limitations/Etc

We have tested 1 csClientPolicy with 160 csClientPolicyEntry settings successfully.

We have tested 1 csClientPolicyEntry with a Value that was 930 characters long.

What if you want to change a setting to “not set” or back to defaults? csClientPolicyEntry doesn’t seem to accept NULL

You need to know the default value and then explicitly set it to that (and optionally remove the setting from csclientpolicyentry if no longer of interest)

You can have only 1 group of csClientPolicyEntry settings per user. There is not a way to have 1 Lync user who has 3 different phones with a different settings going to the different phones using csclientpolicyentry method of provisioning settings. (you would need to use snomtastic or snom Active method). Another way of saying this is that csclientpolicyentry is per user, not per device.

While csClientPolicyEntry can strictly speaking, send settings to a single device, it is not optimized for this scenario. So using csClientPolicyEntry method for sending settings valid for 1 user is awkward. (say a button configuration valid for one user)

2nd Identity in snom devices does not seem support in-band provisioning [reported]

There is no way for csClientPolicyEntry to pass user specific values/device specific variables

for example: you want to have a group of phones in one csclientpolicy but you want an IP Phone setting assigned a device specific variable (MAC,IP) or Lync user specific (Username, LineURI, etc)

NOTE: Before rolling out large group of phones you will want to test additional load this puts on your servers

Snom Explanation Slide Deck

Additional Provisioning Option: Inband + Out of Band

it allows bridging out from inband provisioning to out of band, if needed or even to TR-069 based solutions

simply by placing XML config. and FW config files on the Lync IIS (like described in SIP to UC guide) and direct the phones inband to it, you can realize location aware FW Updates (in SBA sites) or

address the need for “roaming” F-Key’s: User A logs in with User level CS-Policy F-Key’s provided out of band, next shift comes and A logs out B logs in with its individual Fkeys (inband directed, out of band programmed)

Pros and Cons of csClientPolicyEntry to Manage IP Phones

snom UC Edition’s use of csClientPolicyEntries is pure genius: It allows you to manage snom devices using Lync Server’s built in functionality and Powershell, the settings are pushed in-band so this works on devices inside and outside your Lync Edge and it requires no additional poorly understood/supported provisioning servers.

Lync Server, and csClientPolicy entry by extension, focus’ on a user centric approach to management. This serves well in many cases but not in some cases where you have 1 user and several devices that need to have different device settings. In this case you are forced to choose between different user or same setting.

csClientPolicyEntry can technically push snom button settings just like any other setting, but is not optimal because of csClientPolicy’s “clumsiness” at/not designed for pushing user/devices specific settings.

Conclusion

Once again, snom UC Edition’s use of csClientPolicyEntries is pure genius: It allows you to manage snom devices using Lync Server’s built in functionality and Powershell, the settings are pushed in-band so this works on devices inside and outside your Lync Edge and it requires no additional poorly understood and supported provisioning servers. I want to thank Jan Boguslawski, Technical Product Manager of UC Edition at snom, for conceptualizing and designing this feature. snom UC Edition’s use of csClientPolicyEntry marks the first time Lync admins can push out IP Phone preferences (ringers, language, etc) directly and efficiently from Lync Server.

This may just be the feature that makes snom UC Edition & Lync Qualified devices more optimized than Lync Optimized devices.

You'll want to be careful when using the replace option. Other things, like the photo URL option for the clients, are stored in client policy entries. See http://www.lynclog.com/2013/11/lync-2013-client-and-and-pictures-from.html for more info.

Followers

About Me

Matthew M. Landis has various industry certifications: Microsoft Certified Systems Engineer, Microsoft Certified Database Administrator, Microsoft Office Certified Expert, Microsoft Certified Dynamics, Network+ and A+.
In 1995 Matt started Landis Computer which has been providing IT services to small businesses for 14 years and is now a 11 person Microsoft Gold Certified Partner. Matt has over 14 years of field experience implementing Windows Server, Microsoft & Dynamics ERP solutions in small business environments.
Matt is very active in the Windows based IP PBX community: He was a 3CX Valued Professional from 2008-2010 and has co-authored a book on Windows communication software "3CX IP PBX Tutorial". He is pbxnsip Certified, he has contributed thousands of posts to the 3CX community forum and he writes the monthly Windows PBX Report e-newsletter for VARS and administrators. His company, Landis Computer, was the first company in the USA to be designated a 3CX Premium Partner.
When not working and when a chance affords Matt likes to travel internationally with his wife Rosalyn and is very involved in his church.