Date post: | 17-Jun-2015 |
Category: |
Technology |
Upload: | joshua-goldbard |
View: | 7,008 times |
Download: | 2 times |
Powerful, Distributed, API Communications
Call-in Number: 805-309-5900 Pin 705-705-141
Expert Q&A: Provisioning Edition
May 17th, 2013
Welcome
Our Panelists
Joshua Goldbard
Marketing Ninja, 2600hz, Moderator
Darren Schreiber
Founder, 2600hz
Francis Genet
Provisioning Engineer, 2600hz
Andrew Nagy
Provisioning Guru, Provisioner.net
Provisioning:
Y U NO NAME THINGS
CONSISTENTLY?
Some background…
What is Provisioning?
• As old as time.
• Telecom Term used to dole out
access
• We’re focused on Handset provisioning
• Goal is to eradicate manual labor
• Why is this important?
• Cisco devices can take 2.1 hours per
device to install (according to Cisco)
Provisioning is hard• Handsets change over time• Some support only certain features or methods• Example, TFTP only on Polycom 3.0 Firmware
(HTTP is weird on 3.0), HTTP/TFTP on 4.0 and beyond
• Secure phones are even harder• Checksum Firmware• Weird authentication patterns (see Ang Cui’s
video)• Lots of pings
Note to Karl: THIS SUCKS
Provisioning is Political• Some firmwares are only supported in certain
countries• Based on encryption standards / languages / etc.
• Some companies hide their older firmwares• Sometimes you need the older firmware!
• Some firmware is actually broken!• We have multiple Aastra firmwares that don’t work
• Nobody will tell you any of this!• Broken to one person is not broken to another
Provisioning Lifecycle1. Phone arrives brand new from factory2. Phone has Provisioning URL added to the on-Device GUI3. Provisioning server creates a provisioning profile for the
handset containing all of the configuration files (MAC Address used for identification)
4. The Phone is attached to the corporate network and attempts to connect to the provisioning URL in the GUI
5. The provisioning server recognizes the MAC ID of the handset and sends the corresponding configuration files after authenticating the phone
6. The phone receives the firmware and/or Configuration files and if this is a secure environment, performs a checksum on the configuration files to make sure they match
7. If everything is Kosher, the phone will begin the update process. Once complete it will enter service.
8. Every few minutes (days) or when the phone powers on, it will repeat this process starting at step 4.Every Phone will ping every 3-10
minutesNetwork has to handle these requests
Let’s Get Technical!
Trouble With
Provisioning• Handset Manufacturers think they own
Provisioning
• Variation in Provisioning methods on
different firmware versions
• Hard to build for the general case
Trouble with Provisioning:
Inconsistency
Every Handset Requests the Configuration
Differently• Yealink• All info in the User Agent
• Polycom• By default, no phone identification• Can enable info in User Agent but has to be
turned on
• Some phones do XML and some even do arbitrary text fils
Codecs• Some phones have different toggles for Codecs
• Yealink requires you to put a 1 to activate Codecs
• Cisco requires you to put the name
• SNOM requires you to build a list
CONSISTENCY? NAH.
Yealink
Cisco
Y U NO USE CONSISTENCY?
SNOM
Codecs
Cisco (Timezones in GMT Time)
Polycom (Timezones in Seconds)
Y U NO USE CONSISTENCY?
Timezones
Yealink
Polycom
Now for the Painful Part• There is no workaround
• To make provisioning work for your customers, you have to do a lot of leg work• Anticipate which handsets clients will want• Test, test and test some more
Concealing Complexity is of paramount concern
Easy becomes unmanageable over time
Yeah it really is that BadBut maybe we can do something about it…
Oh by the way… The hardest part about
provisioning?
THE USER
Users, Resellers, etc.• “I don’t like this ringtone”• “Why do I have to push two buttons when my old
system only required one to intercom?”• “I want two line keys, one for my private calls
and one for support”• “My MWI makes noise when it goes off, make it
stop”• “I want the logo changed for my customers”
• Oh, and implied:• I DON’T WANT TO TOUCH ANYTHING TO DO
THIS
Simplicity is Prerequisite for Reliability
-Edsger W. Dijkstra
Designing a Simple Provisioner
• Anticipate Client Demands• If a phone doesn’t support HTTP, users should
be notified• Use known good firmware/config files
• Don’t get fancy• It is not possible to standardize provisioning
settings across handsets• The best that can be done is to conceal this
complexity from the consumers of the service
Final Detail: It has to work every time
One last detail:Getting the URL into the
phone• Two ways of doing it: DHCP66 or Manually
• DHCP option 66• Router service for including Provisioning URL in
header• Great for local installs and fast provisioning on a
single site
• Manual• Going into the GUI and manually entering the
Provisioning URL• Can often pay distributors a small fee to pre-load URL
Our Experience Installing Using our Provisioner
• 140 Phones on one campus, <4 hours
• 30 Phones in a small office, <1 hour
• Demo provisioning live for clients• Really powerful demo for resellers
• Multi-site installs >1000 phones, <1 Day
Compare to Cisco @ 2.1 hours per handset (Source Aberdeen Study, 2011 TCO)
Lessons from the front
lines• Timing Settings on Handsets
• Codec Issues?
• Worst Manufacturer? Best?
• Provisioning things other than handsets
(modems, ATAs, Conference Phones)
Let’s take some time to
pontificate about provisioning at
scale…
The Tsunami of Pings
• Provisioning is hard because of
zero standardization in the industry
• Best solution is to hide complexity
from your clients
• We did a lot of leg work so you
don’t have to; use our provisioner
Recap
QUESTIONS???