Scheduling Reboots of VVX Phones

Recently we had a need to schedule some reboots for our Polycom phones.  The reboot was needed because our Lync Edge environment was going to be offline.  We have engaged Microsoft to help us understand why when the edge environment is offline, this has the potential to impact ALL kinds of Lync calls (P2P/PSTN….).  Once I have an answer to this i’ll post another blog.  Long story short Microsoft recommended we reboot phones to prevent a complete call outage while our Edge Pool’s were offline.

So, onto the topic of this post.  How did we go about scheduling the reboots?  If you use Polycom VVX phones and don’t have a provisioning server, I highly recommend you set one up.  Without this, I don’t know how you can automate reboots.

If you have a provisioning server setup, you should have the parameter prov.polling.enabled.  This value should be set to 1.  When set to 1, this tells the VVX phones to check back in with the provisioning server.

Our normal setup is with the following parameters:

  • prov.polling.enabled = 1
  • prov.polling.mode = random
  • prov.polling.period = 86400
  • prov.polling.time = 01:00
  • prov.polling.timeRandomEnd = 03:00
Lets break these down
  • prov.polling.enabled = tells phone if they should check back in with the provisioning server
    • 1 = Enabled
    • 2 = Disabled
  • prov.polling.mode = tells the phones “how” they should check back in.
    • Random = A random period of time between prov.polling.period.time and prov.polling.timerandomend
    • Abs = Check back in each day at the same time
    • Relative = Tells the phones to poll ever X seconds (X needs to be greater than 300).
  • prov.polling.period = 86400
    • The polling period in seconds. The polling period is rounded up to the nearest number of days in absolute and random mode. In relative mode, the polling period starts once the phone boots. In random mode, if this is set to a time greater than 86400 (one day) polling occurs on a random day based on the phone’s MAC address.
  • prov.polling.time = 01:00
    • Start time of the polling
  • prov.polling.timerandomend= 03:00
    • End Polling time.
Given what we just learned, all of our VVX phones will poll back everyday between 1am and 3am to see if there is new configurations.
Unfortunately, there’s no parameter to say “check back in on some date at some time and reboot”.  Our needs were to reboot phones at 7:30am and then again at 9am on Saturday.  So how did we do this?
It’s important to know that not every change made to the phones configs, cause the phones to reboot, so you’ll need to understand what changes force a reboot (if you see a 1 next to the parameter, it causes a reboot).

We chose to use enabling/disabling the website as our “trigger” to reboot.

You’ll notice the ‘1’ next to httpd.enabled.  This means this will cause the phone to reboot.  Given that I knew phones will check back in between 1 and 3 am, I needed to have my new config in place prior to 1am.
The night before I changed our config to the following.
  • prov.polling.enabled = 1
  • prov.polling.mode = abs
  • prov.polling.time = 07:30
Between 1 and 3am all our phones would check back in and see the new config.  The above config tells the phones they need to check back in each day at 7:30am.
Saturday morning at 7am, I updated the config to have httpd.enabled = 1, thus at 7:30am all the phones would check back in, see that they need to turn on the website and because changing this parameter causes a reboot, the phones would reboot at 7:30am.  I also updated the prov.polling.time to be 09:00 cause i needed the phones to reboot again at 9am.
At 7:30 all phones rebooted and now have their website on.  They also know that at 9am, they need to re-check back in.
At 8:30am, i updated the config back to normal, thus httpd.enabled = 0 and
  • prov.polling.enabled = 1
  • prov.polling.mode = random
  • prov.polling.period = 86400
  • prov.polling.time = 01:00
  • prov.polling.time = 03:00
At 9am, the phones check back in saw they needed to turn the website off and rebooted and also received our standard config.
There you have it…that’s how you get all VVX phones in your environment to have a controlled reboot.
Oh, what if you were on a call at the reboot times?  The phone will not reboot if you are in the middle of a call.  Once the call ends and the user hangs up the phone, then the phone will reboot.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s