Provisioning Q and A

Post on 17-Jun-2015

7,008 views 2 download

Tags:

description

This is the Provisioning Q&A presentation.

transcript

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???