Simplified Web Provisioning for VOCAL

Abstract
--------

I'm working on a non-java provisioning system for VOCAL allinone.  The
purpose of this system is to improve the "out of the box" experience.  If
people don't have to install java to configure an initial VOCAL system, it
should be easier for people to install and try out.  If they like it, and
want a more advanced provisioning, then they can install the JRE and use
the applet.

Here's an outline on the proposed solution.  Please comment on this if
you're insterested in testing, or if there's anything on the list you
don't understand.

Requirements
------------

VOCAL
Apache
Perl 5.x
CGI module for perl



State of non-java provisioning
------------------------------

Right now, most user feature enable / disabling works, and, although
the gateway ip address does change, there's no dial plan to do
external calls through the gateway.

Works:

add / remove users
enable /disable digest authentication
change passwords
enable / disable voicemail
change email address for voicemail delivery
upload / enable custom greeting
external call dial plan
remove java dependency in allinoneconfigure
make it so that ms can change gw on the fly

Still needs work:

(?) make local-call-only work (not sure how to implement)
auto-convert uploaded wav files for custom greeting
security audit -- need to make sure that script can't be hijacked.



Plan for non-java provisioning
------------------------------

Non-goals
---------

- NOT to replace the current java GUI's functionality
- NOT to be a generic provisioning tool for all situations
- NOT to replace marscapone


Goals
-----

- web based
- interim solution
- simple to produce
- user does NOT need java to start using a simple allinone VOCAL
  system
- user can do simple tasks without java


Scope
-----

without Java, users can:

  - make a basic call
  - create and delete users, including voice mail boxes
  - require digest authentication
  - manage voice mail
    - cfna / cfb / vm (turn on / off, specify email address for vm,
      upload custom greeting)
  - add one gateway
  - choose e.164 or enterprise style dialing (e.g. 9 to call out)
  - do simple access control (e.g. IP address) and allow local calls /
    allow gw. calls

automated items:
  - 4 digit dial plan
  - 2 users automatically (1000 / 1001)
  - fully configured system
  - create all appropriate stuff for voice mail to work


simplifying assumptions:
  - user has apache installed
  - user has perl installed
  - Redhat 7.x only at first


Second Stage
------------

- allow for plug and play on phones
  - simple ACL for valid mac / ip addresses
  - choose default phone startup behavior ( full access / limited
    access / no access)

- allow additional feature configuration
  - cfa (forward all calls to specified destination)

- make HTML GUI interact more happily with the Java GUI.  Do not make
  changes to files written by Java GUI vs. by HTML GUI (e.g. by tagging
  files created by the HTML GUI).


======================================================================

Copyright 2002-2003, Cisco Systems, Inc.
THE INFORMATION HEREIN IS PROVIDED ON AN "AS IS" BASIS, WITHOUT ANY
WARRANTIES OR REPRESENTATIONS, EXPRESS, IMPLIED OR STATUTORY, INCLUDING
WITHOUT LIMITATION, WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE.

$Id: DESIGN.txt,v 1.4.2.1 2003/03/28 05:25:53 bko Exp $
