3. Our Panelists
Joshua Goldbard
Marketing Ninja, 2600hz,
Moderator
Darren Schreiber
Founder, 2600hz
Francis Genet
Provisioning Engineer,
2600hz
Andrew Nagy
Provisioning Guru,
Provisioner.net
6. 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)
7.
8. 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
10. 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
11. Provisioning Lifecycle
1. Phone arrives brand new from factory
2. Phone has Provisioning URL added to the on-Device GUI
3. 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 minutes
Network has to handle these requests
13. Trouble With Provisioning
• Handset Manufacturers think they own
Provisioning
• Variation in Provisioning methods on different
firmware versions
• Hard to build for the general case
15. 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
16. 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.
21. 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
22. Yeah it really is that Bad
But maybe we can do something about it…
23.
24. Oh by the way… The hardest
part about provisioning?
THE USER
25. 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
27. 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
28. 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
29. 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)
30. Lessons from the front lines
• Timing Settings on Handsets
• Codec Issues?
• Worst Manufacturer? Best?
• Provisioning things other than handsets (modems,
ATAs, Conference Phones)
31. Let’s take some time to pontificate about
provisioning at scale…
The Tsunami of Pings
32.
33. • 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
When do we come in and provide the support? Possile examples?
Sponsered features?...they have access to current and future features for free.
In premise is possible
Sponsered features?...they have access to current and future features for free.
Sponsered features?...they have access to current and future features for free.
Yealink is the best (Andrew+Francis) Cisco is the worst (Andrew+Francis) No documentation O_O. Polycom is the most complex. Documentation is a mess on Polycom.
Yealink stuff: make sure you send the right firmware and then the right config file. If you send the wrong config file, or send the file too early, you can brick the phone. 50 handsets is the threshold for DHCP66