1 ***************************************
2 Auerswald Callnotifier for COMpact 3000
3 ***************************************
5 Connects to the debug port of your Auerswald Compact 3000 telephony switchboard
6 and listens for incoming calls.
7 It will notify you whenever a call comes in.
9 It also listens for outgoing calls if you want that, and you can log
10 incoming and/or outgoing calls into a file or a database.
12 Callnotifier is able to resolve the names of calls via LDAP and the
13 caller location city names via OpenGeoDb.
22 1. Clone the git repository
23 2. Install dependencies
25 4. Run ``./callnotifier.php``
30 - PEAR's Console_CommandLine package
31 - PEAR's Net_LDAP2 package for LDAP name resolution
32 - curl for the dreambox notifier
41 Enable the debug port by activating
45 - Server configuration
47 - D channel output via IP D channel output via IP on/off
55 - D-Kanal über IP ausgeben D-Kanal über IP ausgeben ein-/ausschalten
60 Copy ``data/callnotifier.config.php.dist`` to ``data/callnotifier.config.php``
61 (same name, just no ``.dist``), open it in a text editor and adjust it to
64 It contains examples for every plugin.
65 Adjust them as you need and remove the ones you do not need.
71 Logging plugins allow you to specify when calls shall be logged:
73 - ``startingCall`` - when the call is coming in, and the telephone rings
74 - ``finishedCall`` - when the call has ended
76 Furthermore you may decide which calls to log:
78 - ``i`` - Log incoming calls only
79 - ``o`` - Log outgoing calls only
80 - ``io`` - Log both incoming and outgoing calls
86 There are two types of plugins: Detailler and Logger.
87 Detaillers load additional details to a call - e.g. a name - and loggers
88 can do anything, e.g. write a log file or send a XMPP message.
92 Plugins that fetch additional details to calls are named "detailler".
94 CallMonitor_Detailler_LDAP
95 --------------------------
96 The plugin determines the name for a telephone number by looking up a
99 It retrieves the name of the caller for incoming calls, and the name
100 of the telephonee for outgoing calls.
102 It searches the following LDAP attributes:
108 - ``telephoneNumber``
110 Example configuration::
112 $callMonitor->addDetailler(
113 new CallMonitor_Detailler_LDAP(
115 'host' => 'ldap.home.cweiske.de',
116 'basedn' => 'ou=adressbuch,dc=cweiske,dc=de',
117 'binddn' => 'cn=readonly,ou=users,dc=cweiske,dc=de',
118 'bindpw' => 'readonly'
124 CallMonitor_Detailler_OpenGeoDb
125 -------------------------------
126 The plugin determines the location (city) for a telephone number by
127 checking the area code (prefix number) against a OpenGeoDB SQL database.
129 If several locations share the same area code, the one with the most inhabitants
132 If you use this plugin, you need to run ``docs/opengeodb-create-my_orte.sql``
133 on the OpenGeoDB database to create an indexed table with all relevant
134 information needed by the plugin.
136 Example configuration::
138 $callMonitor->addDetailler(
139 new CallMonitor_Detailler_OpenGeoDb(
140 'mysql:host=dojo;dbname=opengeodb',
149 Logger handle react on events like incoming or outgoing calls,
150 if they start or finish, or on any data received from the ISDN bus.
155 Log calls in a SQL database
157 Send messages on incoming calls to the DreamBox satellite
160 Log to the command line. Helpful for debugging.
162 Log finished calls into a text file
164 Log finished calls into a text file, newest on top
166 Use the unix ``notify-send`` command on starting and finished calls
168 Send an XMPP headline message for incoming calls to one or multiple
175 Ctrl+C does not send the disconnect command.
176 This is a problem with PHP since pcntl_signal handling and blocking sockets
177 do not work together. The signal will not be handled.
183 Auerswald callnotifier is licensed under the terms of the GPLv3 or later.
189 Original git website: http://git.cweiske.de/?p=auerswald-callnotifier.git
191 Mirror: https://github.com/cweiske/auerswald-callnotifier