
i4lctrl - a isdn4linux webmin module
====================================

PLEASE send me bugs, suggestions, typos, greetings! 

mailto: gnuts@n-u-l.de

i want to know whether it is useful for you or not 
and what you think about it.


table of contents
-----------------

SHORT DESCRIPTION
LICENSE
YET WORKING FEATURES
CURRENTLY WORKING ON
INSTALLATION
USAGE NOTES
NOT YET SUPPORTED STUFF
TODO
HELP NEEDED
CHANGELOG
CREDITS


last update: may 30 2000 afternoon







SHORT DESCRIPTION 
==================
webmin module to make most aspects of isdn4linux configuration accessible through 
webmin's web-based admin-interface. you also can monitor and change the status 
of all configured isdn-devices.

current version number of i4lctrl can be found in the VERSION file.





LICENSE
=======

License ist GPL, lastest version.
take a look at the LICENSE file.





YET WORKING FEATURES
====================

- view nice isdn device status
- get offline/online, hangup incoming calls
- change dialmode (off,manual,auto) on dialout devices
- read configuration from devices (isdnctrl options)
- read/write configuration from/to files
- edit calledid.conf aliases table
- modify module configuration (well...trivial)
- write configuration to devices (isdnctrl options)
- simple mode: just let user go online/offline manually on a specific device.
  note: simple mode currently talks german only...
- you can hide/show specific devices in isdnmonitor (index.cgi)

CURRENTLY WORKING ON
====================


  
- split the config form into logical parts (like samba module) to make it a
  more readable
  parts will be
	general (main screen)
	dialout, dialin, callback, protocolls,
	ipppd/ioptions, routing


INSTALLATION
============


if you have the i4lctrl-0.xx.wbm.tar
------------------------------------

you can install the i4ctrl*.wmb.tar file as usual with the webmin module
installation feature.

after that you can run the postinst.sh in  webmin_path/i4lctrl/ 
this will copy some example config files. this step is not required.


if you got the source package i4lctrl-0.xx.tar.gz
-------------------------------------------------

extract to subdir, go there, run makewbm.sh and read paragraph above. ;)
take a look at the TODO section, please.






USAGE NOTES
===========

isdn configuration is not yet in a useable state.

take a look at module config first.

there is an option called dummymode. when turned on, no external commands are
being run: every information then is taken from the files in webmin_path/dummy/
useful for me during development, propably useless for you.

anyway, when it is turned on after install, turn it off. :o)

callerid.conf will be crippled:
all comments and records that are not [MSN] get lost...
dont use aliases.cgi if that annoys you, or, even better, enhance the script!


simplemode:
take a look at the module config, there you can set "daudevice" to the device
that should be watched in simple mode. ippp0 is preset.





NOT YET SUPPORTED STUFF
=======================

configuration issues:

- binding devices is not yet implemented :( (not much work, though)
- unfortunately channelbundeling is not yet supported :(


TODO
====

		
configure global options:
	set things like verbose-level and busreject

ioptions
	generate/edit ipppd configuration files

ip/route
	generate/edit route and ip configuration for isdn devices

script generator:
	write out a script that activates and sets up a configurable bunch of
	devices, and gobal options ...or brings them down again.
	the script generator will let you connect ippp/ip/route/device configurations
	and builds a script to set up all the stuff.
acl:

	just show specific users specific devices and just let them get online 
	or offline

- writing configuration to devices
  almost finished. except channel bundeling, this will come later...
  there is much more to do for complete configuration,
  the config dialog must be extended to allow input of
	- routes
	- ipppd options

- argh!! SuSE 6.3 has a REALLY fscked-up ip-up!
  they set default routes there and delete interfaces without asking....
  very funny. if you have a stand alone machine and only want to reach internet
  and nothing else. hrrrrmm....
  i am courious what all the other distributions do with ip-up.
  next thing i'll do is writing a ip-up configuration tool...


soon, too ;) :
--------------


ip-up/ip-down
	- setup these scripts to do various funny things, like uploading localIP,
	  starting dialup-Firewall/masquerading
	- get nettime, and so on...
	  this could be a separate webmin module, too...

isdnlog
	setup isdnlog
	view/filter isdnlog

future:
-------


# HEY! TELECOM COMPANIES!!! HEAR ME SCREAMING!!! FLAAAATRAAAATEEE!!!!
update: ok. now it seems the telcos have heard me screaming. :) we now soon have a flatrate :)))

...and gigabit for the masses :)

filter rules for autodial
	would be fine, too! also would be great to include some
	usable configurations for them...


a daemon 
	for logging and executing scheduled jobs like
	hanging up after max time (schools, ...)
	fetching and sending mail
		
	





HELP NEEDED on the following tasks:
===================================

everybody is welcome to make suggestions and to CONSTRUCTIVELY criticize :)

please report typos in all files and $microsoft{features}
errr...i mean bugs  :o)

and additionally, help is needed
--------------------------------
a problem is that i cannot get the isdnctrl verbose level and the busreject
status from isdnctrl.
fsck this! and, it is quite annoying what i did for getting all the information
about a device from isdnctrl... (it is a table with about 20 regexps... t'was 
funny to code, but...ahem.)

would anybody like to write a c program that outputs all the config vars from 
isdnctrl in a machine readable form?


we need language files. i know, this is a quite boring job...
for now, we just have hardcoded english. (which for me personally is enough
but...)
and, at first someone must remove the hardcoded english in the scripts and
them "localizable" :)


some words about webmin philosophy:
-----------------------------------

isdn4linux is really ugly to configure! especially because red had and suse
do it in completely different ways. supporting both (or more for some other 
distributions) would be like rewriting about half of the module.

because of this, my module will completely manage isdn configuration its own 
way, but in a fashion that is human readable/editable and can be used without 
having this module installed. (e.g. the init-scripts that can  be generated to
set up the devices can be used independently from the module)

if you disagree, tell me how i should support SuSE's /etc/rc.config.d/* stuff,
and (as far as i remember) RedHat's dozens of config files and support all the
isdn stuff! i dont know what the other distributions do, but...

sorry, if that is not the way the webmin folks would like it...



CHANGELOG
=========

the changelog can be found in the file CHANGELOG


CREDITS
=======

thanks to all the open-source ppl for giving us
linux, apache, webmin, perl and all the other software!



have fun!


cu
gnuts@n-u-l.de


[eof]
