diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2012-08-08 15:23:21 +0200 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2012-08-08 15:23:21 +0200 |
| commit | 498ae1ea333665971ca66dc095c339f0bb4cc238 (patch) | |
| tree | 971d0e0f07cf5d1d1f46ad836836b71cf0a1af35 | |
| parent | 10f9c946b62621f53a6c534c5c05a5be397f1ab6 (diff) | |
| download | auerswald-callnotifier-498ae1ea333665971ca66dc095c339f0bb4cc238.tar.gz auerswald-callnotifier-498ae1ea333665971ca66dc095c339f0bb4cc238.zip | |
talk about plugins in README
| -rw-r--r-- | README.rst | 108 |
1 files changed, 103 insertions, 5 deletions
@@ -1,3 +1,4 @@ +*************************************** Auerswald Callnotifier for COMpact 3000 *************************************** @@ -5,22 +6,119 @@ Connects to the debug port of your Auerswald Compact 3000 telephony switchboard and listens for incoming calls. It will notify you whenever a call comes in. +It also listens for outgoing calls if you want that, and you can log +incoming and/or outgoing calls into a file or a database. + +Callnotifier is able to resolve the names of calls via LDAP and the +caller location city names via OpenGeoDb. + +.. contents:: + +============= +Configuration +============= +Copy ``data/callnotifier.config.php.dist`` to ``data/callnotifier.config.php`` +(same name, just no ``.dist``), open it in a text editor and adjust it to +your needs. + +It contains examples for every plugin. +Adjust them as you need and remove the ones you do not need. + + + +Call types +========== +Logging plugins allow you to specify when calls shall be logged: + +- ``startingCall`` - when the call is coming in, and the telephone rings +- ``finishedCall`` - when the call has ended + +Furthermore you may decide which calls to log: + +- ``i`` - Log incoming calls only +- ``o`` - Log outgoing calls only +- ``io`` - Log both incoming and outgoing calls + + +======= +Plugins +======= +There are two types of plugins: Detailler and Logger. +Detaillers load additional details to a call - e.g. a name - and loggers +can do anything, e.g. write a log file or send a XMPP message. + +Detailler +========= +Plugins that fetch additional details to calls are named "detailler". + +CallMonitor_Detailler_LDAP +-------------------------- +The plugin determines the name for a telephone number by looking up a +LDAP directory. +It retrieves the name of the caller for incoming calls, and the name +of the telephonee for outgoing calls. + +It searches the following LDAP attributes: + +- ``companyPhone`` +- ``homePhone`` +- ``mobile`` +- ``otherPhone`` +- ``telephoneNumber`` + +Example configuration:: + + $callMonitor->addDetailler( + new CallMonitor_Detailler_LDAP( + array( + 'host' => 'ldap.home.cweiske.de', + 'basedn' => 'ou=adressbuch,dc=cweiske,dc=de', + 'binddn' => 'cn=readonly,ou=users,dc=cweiske,dc=de', + 'bindpw' => 'readonly' + ) + ) + ); + + +CallMonitor_Detailler_OpenGeoDb +------------------------------- +The plugin determines the location (city) for a telephone number by +checking the area code (prefix number) against a OpenGeoDB SQL database. + +If several locations share the same area code, the one with the most inhabitants +is used. + +If you use this plugin, you need to run ``docs/opengeodb-create-my_orte.sql`` +on the OpenGeoDB database to create an indexed table with all relevant +information needed by the plugin. + +Example configuration:: + + $callMonitor->addDetailler( + new CallMonitor_Detailler_OpenGeoDb( + 'mysql:host=dojo;dbname=opengeodb', + 'opengeodb-read', + 'opengeodb' + ) + ); + + +==== TODO ==== - multiple notification methods: XMPP, dreambox, notify-send -- ldap name resolution -- write a call list (who, when, how long) -- filter/exclude by local target -Issues -====== +============ +Known issues +============ Ctrl+C does not send the disconnect command. This is a problem with PHP since pcntl_signal handling and blocking sockets do not work together. The signal will not be handled. +====== Source ====== Original git website: http://git.cweiske.de/?p=auerswald-callnotifier.git |
