
Welcome to The Cherry Project.
You are visiting the home page of the Cherry Project. Here we are trying to put all the information about ongoing development of information system for telecommunications code-named as The Cherry Project.
About the project
The Cherry Project is our attempt to design a uniform well grained multi-service, multi-user, multi-provider, modular and completely web-based open source billing system for internet and telephone service providers with elements of distributed calculus.
Key features
- 100% open source product following the good traditions of UNIX canons.
- The whole-way modularity: the system must be easily expendable as well as reducible to nothing (any new functionality must be easily addable, unused or undesired functionality must be easily removeble).
- Complete web-based user's and administrator's interfaces. As more administrative operations must be hold on the web as possible (except, perhaps the installation process itself).
- Flexible way of permissions control taking in account a multi-user operation. Each operator (user who operates the system) can be separetely configured to allow his/her own specific operations. Operators must be able to join into groups etc.
- The system must be multi-lingual. There must be an easy way of adding new language dictionaries.
- A single instance of the system must support multiple service providers with all their individual subscribers, services, network access devices and billing rules. Operators must be able to serve more than one service provider at atime. Also proper way of permissions and restrictions must be able to apply.
- Real-time "hot" billing operations.
- System must be easily expansible. When more computing power is needed to perform proper operations of real-time billing, adding new billing process running on other unix system must solve the problem. For this, a proper inter-billing-process communication protocol must be designed.
- Support for most communication devices and network access protocols and service types, like: dialup, voip, pppoe, vpn, leased-lines, what-so-ever communication industry protocols and services will be invented to meet current and future customers' needs.
- Database independancy. The system must be designed to use standard SQL92 database query language. All the database operations must be done modular making it possible to use any well-known open source database (MySQL, Postgres, etc).
- ...
Project state
In general, the project currently is in early development and heavy planning phase. Lot of things to be done till realese of 1.0. A heavy load of work is currently focused on:
- RADIUS Server.
Description: A simple, Perl5 written piece of code utilizing a Finite State Machine paradigm to serve at once as many access servers as system can withstand. The purposes of the server are: to accept RADIUS requests from Network Access Servers, to unify them, to form a unified requests to one of Tariff Servers currently available, to accept responses from Tariff Server and translate them to Network Access Servers.
Current state: Operational. Supports Cisco H.323 VoIP sessions only.
To-Do:
- Dialup sessions support.
- NetFlow support (needs to be thought out pretty much).
- Tariff Server.
Description: Processes tariffication requests from RADIUS Server, calculates service cost, does charching and all the associated database operations. Utilizes all the configured billing plans and charging schemes.
Current state: Operational. Supports billing plans and charching schemes pre-defined in database.
- Web interface.
Description: Allows billing operations and system maintainance for users over the HTTP protocol. Utilizes Java Scripts and HTML.
Current state: Pretty ugly and unuseful.
To-Do:
- Dealers support.
- System journals and reports of all kinds.
Downloads
The RCS of the project is available at ftp://cherry.t72.ru/pub/cherry/.
Documentation
There's no documentation available of any kind. If you don't like the current state of the question you are welcome to change it. We accept any help.
Though some RCS installation tips we can provide. To install the RCS base you should do the following:
- Unpack the tarball to any working directory like: tar -zxpf cherry-1.0.tar.gz.
- cd to the ProjectCherry directory.
- make install the instance. It will create /usr/local/cherry directory by default. You must be root to do so.
- Create a virtual host in your httpd.conf file, pointing to /usr/local/cherry/htdocs.
- Edit /etc/cherry/cherry.cfg. Please also take a brief view on other ../etc/*.cfg files.
- Create a cherry database in your PostreSQL. Also create cherry and master users. Allow a master to create tables in the database. User passwords given in cherry.cfg.
- Run /usr/lib/cherry/mkdb. It will create all the tables in database.
- Go to the web and see what you have got. Good luck. :-)
Contacts
Evgeny Korolenko, ugin@t72.ru
Ruslan Zalata, rz@t72.ru
Links
Concerning the project:
Useful documentation and related technical stuff:
$Author: rz $
$Date: 2005/11/25 09:26:16 $
$Header: /home/vvk/RPM/SOURCES/Project_Cherry/CVSROOT/cherry/html/www/index.html,v 2.0.0.1 2005/11/25 09:26:16 rz Exp $
$Id: index.html,v 2.0.0.1 2005/11/25 09:26:16 rz Exp $
$Locker: $
$Log: index.html,v $
Revision 2.0.0.1 2005/11/25 09:26:16 rz
Project Cherry release 2.0
Revision 1.1.1.1 2003/07/30 08:31:28 rz
Project CHerry: imported from RCS
Revision 1.3 2003/03/08 21:30:34 rz
*** empty log message ***
Revision 1.2 2003/03/08 19:53:22 rz
*** empty log message ***
Revision 1.1 2003/03/08 19:29:26 rz
Initial revision