***************** WARNING WARNING **************************************
CLASSI should be considered PRE-ALPHA.  It mostly works for me
using an extensions.conf very similar to the sample
extensions.conf file included in the package.  It will have
problems and very well may not even work for you.  If you do
decide to try using this package you may contact me for support
at eric@fnords.org or "ManxPower" on the FreeNode/OpenProjects
IRC network.  Bug fixes, bug reports, and general comments are
welcome.  This README, the program classi.agi and the
extensions.conf-sample files should be considered the
documentation.
***************** WARNING WARNING **************************************

CLASSI tries to add some of the CLASS calling features that are
missing from Asterisk.  CLASS is commonly known as Custom
Calling or Centrex or any of a number of names.  They are
usually accessed by dialing *XX or XX#

CallerID and Call Pickup are also CLASS features but are
included as part of the standard Asterisk software.  Redial is
also a CLASS feature, but since virtually all modern telephones have a
redial putton there are no plans to add the Redial feature.

There is a sample extensions.conf included with the CLASSI
package to give you an idea of how to add these features to your
own dialplan.  

There are three main things you have to deal with.  First, is
setting the CLASSI variable to point to where the CLASSI AGI
script and sound files are.

The second thing you need to do is call the classi.agi script
before sending a call to an extension.

The third thing is that you need to add *XX and XX# extensions
to your dialplan to call classi.agi when you dial these codes.

Currently CLASSI supports "Call Return", Speed Calling 8, and
different ring patterns for internal .vs. external calls.

Call Return:  You dial *69 to call the last telephone number
that you received a call from.

Speed Calling 8: To program Speed Calling 8 dial *74 and follow
the prompts.  To use Speed Calling 8 dial the one digit speed
calling code and the # sign.



Sample Dial Plan Notes
---------------
${MYPSTN:1:3} will pull out the first three digits on ${MYPSTN} i.e. the
area code.

NuFone is an IAX LD Service Provider.  You can send outbound calls to them
to be sent to the PSTN.  You can also get USA toll free numbers from them. 
Inbound calls to the toll free number get sent to your Asterisk box.  I do
not have any toll free service so it's not shown in this dialplan.  Contact
sales@nufone.net for more info.

You CANNOT send custom Caller*ID information for analog trunks, but you can
for PRI trunks.  Most VoIP LD companies use PRI trunks.  It can't hurt to
set the Caller*ID on a Zap analog however,

The sample extensions.conf makes a few assumptions:

1) Extensions are required to dial "9" to make outside calls
2) Extensions are 4 digits long
3) You have an X100P as Zap/1 connected to the PSTN
4) You have a TDM400 as Zap/2 thru Zap/5
5) Incoming calls from untrusted locations (usually PSTN, but could be
   another Asterisk switch or VoIP endpoint) should land in the context
   [incoming].  These calls can ONLY dial things listed in the [extenstions]
   context.  You set the context in zapata.conf, iax.conf, or sip.conf.
6) Local calls are in for form of nxx-xxxx or nxx-nxx-xxxx
7) Long distance calls are in the form of 1-nxx-xxxx or 1-nxx-nxx-xxxx

CHANGELOG
---------
Jun 29 2003 - CLASSI v0.01 released.
