Tuesday, August 24, 2010

Managing Snom endpoints in your environment

Managing any VoIP endpoint could be a nightmare or a pleasure, depend of how you view it. Pretty much as Group Policy – you might not use it at all and the environment will still work, although every time a change must be made, one needs to touch every device. Or… make a single change on central location and have it applied at once. Snom endpoints are no exception. Being a multi-platform, multi-protocol device, it often confuses the administrator/enduser with the rich set of features and… the end result could be either mismanagement (lack of management, that is) or over complication. Based on my experience, I intend to make series of posts describing some of the methods and procedures necessary to have one healthy Snom environment.

Snom phones rely on provisioning server, essentially an http or https server that responds to a particular request with specific xml file(s), which are later applied to all phones or a particular one, thus managing settings, user account and so on. Before we go in to details about the format and the content of the provisioning files, we must answer perhaps the most important question – how Snom phone will “know” where to go to get the provisioning information?

Snom uses DHCP Option 66 (TFTP Server Name) to obtain information of the provisioning server URL. One question comes immediately to mind – “Ok… we are not booting from TFTP, why using this option in first place. And, I already use it for other devices on the network… am I doomed?”

My answer to the first question – I have no idea! Perhaps Snom ran out of “options”? My goal is, however, to show you an alternative way to utilize this option and have central management solution in place.
As many other well designed network devices, Snom endpoints will submit Option 60 (Vendor Class Identifier) in the in the DHCP Discovery broadcast. The goal is – if the DHCP server understands the option and the Scope/Server options are properly configured, the DHCP response will contain a very specific values meant for the requester (Snom) only. With other words, you could already have an Option 66 set for some purposes and still supply your Snom phones with unique value (namely “Provisioning URL”).
Before we precede with the configuration steps of our DHCP server, there are few important notes:
  1. Each Snom model submits the word “snom” (lower case!) and the model number in a single string i.e. snom300, snom320, snom360…snom870 and so on as “Vendor Class Identifier”. I got to think today - why not only “snom” so that we will have to configure the entire shebang one time only? Well, model 300 (with its simplicity), compared to 870 with the large color touch screen display, is like Ford Fiesta next to Cadillac Escalade. And… Snom 8xx series can show live stream (security camera for example) on the display… bottom line - different features require different provisioning options.
  2. This example is for Microsoft DHCP server. If you are Linux guy, the assumption is that you already “know it all” and/or your Ubuntu or SUSE or whatever makes you hot has configured itself already, fearing the possibility to face you… or Chuck Norris…
  3. The screenshots are from DHCP mmc on Windows 2008 R2
On your Microsoft Windows DHCP server:
Right click on IPv4 and select “Define Vendor Classes”

In DHCP Vendor Classes window, click Add button.

In New Class window, populate as shown and click OK button.

Repeat the above steps for each Snom model in your environment.

Right click on IPv4 and select “Set Predefined Options”

On “Predefined Options and Values”, click Add

Select snomXXX model and click Add

In Options Type windows, populate the fields as shown:

Click OK and OK again.

***by setting this prerequisites, we will send the provisioning URL via option 66, BUT encapsulated in Option 43 i.e. different way compared to DHCP Standard Option 66.

Now right click over the Scope Options (of the scope your phones are on) and select “Configure Options”.

Click “Advanced” tab in “Scope Options” window and select snomXXX from “Vendor Class” dropdown menu.

Tick “66 Option 43”…

…and enter the provisioning URL of your Provisioning/Settings Server.

***This part can be very tricky and need a little explanation. Notice that the box has three sections – Data, Binary, and ASCII.

  1. Don’t worry about Data, nor Binary (unless you hate your life)
  2. Click under ASCII (on right of the “.”
  3. Backspace one to remove that “.” Or you will get your phone in some sort of loop (I need to talk to the guys in Berlin about that)
Now type the URL of the provisioning/settings server as continuous string (http://provisioning.drago.ws is currently shown

Click “OK” and you are all set

In the next post of this series I will explain how exactly Snom Provisioning works and what we can do with it.

P.S. Have I mentioned that Snom300 works just fine with Wave14?


Steve from HDI said...

When I followed this, the 300 stopped registering to Snomtastic. I previouly had it working using on Option 66. As far as the Server URL so I only use http://myserver.mydomain.lcl or should I use http://myserver.mydomain.lcl//phone/phone.aspx?mac={mac}

Anonymous said...

Any idea how to do this in PfSense's DHCP server?