Access Control Web Application (Time based)

If you are using GnuGk in an environment where where you don't want to be interrupted by unwanted calls at the wrong time, this appication can help you. It allows you to configure rules who may call whom at what time.

Think about doctors in an operating room who may want a colleague to call, but shouldn't be interrupted for anything else. Think about important meetings etc.

Rules can reference

  • caller IP
  • caller E.164
  • called E.164
  • time of day
  • start day
  • end day
The time-based rules can be
  • one time
  • repeat every n weeks
  • repeat every n months
  • repeat every week on certain weekdays
  • repeat on the n. of a month
  • repeat on the n. weekday of a month

Screenshots: Screenshot 1  Screenshot 2

Version 1.1Unix tar archiveWindows ZIP archive
Access control web application (incl. Perl source code) Download Download

Installing the web application

  • make sure you are using GnuGk 3.9 or higher
  • create a MySQL table for the access rules using the schema in accessrules.mysql
  • copy the config file gnugk_access.ini to /usr/local/etc/ and edit it (database access and path names)
  • edit the Apache configuration (see 'perldoc' for a sample configuration) and add user access rules (.htpasswd) if needed
  • copy the scripts and templates into one or more folders according to the path settings in gnugk_access.ini
  • install any missing Perl/CPAN modules:
    • CGI
    • Config::Tiny
    • DBI
    • Date::Calc
    • HTML::Template
    • IO::Socket
    • List::MoreUtils
    • Net::CIDR >= 0.14
    • Net::IP::Match::Regexp
  • test the web interface (the rules aren't activated in GnuGk, yet)
  • enable access control to GnuGk, by prepending 'vqueue' to the routing policies and adding the [CTI::Agents] section (see accesscontrol.ini for an example)
  • make sure gets started right after GnuGk and keeps running as long as GnuGk does
  • install a cron entry to run every few minutes to abort calls that run longer as allowed

Last updated: 17. Dec 2015