Call-Logger v4.1 Setup InstructionsDownload at http://71.28.21.109/call-logger-setup.exe. [Editors Note 7/20/12: The link above is no longer active]
DependenciesCall-Logger is written in and depends on a few packages that are all freely distributed.
- Python (Developed on 2.5 branch)
- mysql-pyhon (The MySQL Connector for Python)
- pywin32 (Python Windows Extensions)
- MySQL Server (Developed on 5.0 branch)
To run Call-Logger you must download all of these packages and install them manually.
Go to
http://python.org/download/releases/2.5.2/ and download the x86 release of Python. Call-loggr
may also work on the Win64-AMD64 version but this has not been tested at all. Once the installer is
downloaded just double-click on it and accept all of the default settings.
Go to
http://sourceforge.net/project/showfiles.php?group_id=22307&package_id=15775 and download an
appropriate version of mysql-python. Call-Logger v4.1 was developed on MySQL_python-1.2.2.win32-py2.5.exe
Once you have downloaded the package install it.
Go to
http://sourceforge.net/project/platformdownload.php?group_id=78018 and download the version of
pywin32 that matches your Python version. For me it was the pywin32-212.win32-py2.5.exe (currently
highlighted in green on the downloads page. Install the package once you have downloaded it.
If you already have a MySQL server installed on your network you can optionally skip this step and
perform the MySQL setup listed below on the existing server. If you do not have an existing MySQL
server or you would like to install a separate instance on your server go to
http://dev.mysql.com/downloads/mysql/5.0.html#win32 and download the "Windows Essentials (x86)"
version of the MySQL installer. Note that if you are running a separate MySQL server the version
number doesn't really matter much as long as it is at least MySQL 4.0.0. Once you have downloaded
the install double-click on it and do a "Complete" install. After the installer finishes MySQL will
ask you if you want to configure the instance now, choose yes. My settings are as follows, but pretty
much anything will do.
- Detailed
- Server Machine
- Multifunctional Database
- Include Bin Directory in Windows PATH
Don't forget to set a root password and
*remember* it
All other settings are default from what the install chooses.
MySQL Configuration- Click on Start->All Programs->MySQL->MySQL Server <version>->MySQL Command Line Client
- Enter your password from the Instance Configuration above
- Copy and paste the following commands:
CREATE DATABASE logger;
USE logger;
CREATE TABLE `calls` (
`id` int(11) NOT NULL auto_increment,
`date` date default NULL,
`time` time default NULL,
`length` varchar(15) default NULL,
`ext` varchar(10) default NULL,
`trunk` varchar(10) default NULL,
`digits` varchar(50) default NULL,
`fdigits` varchar(50) default NULL,
`city` varchar(50) default NULL,
`state` varchar(50) default NULL,
`country` char(2) NOT NULL default 'US',
`transfer` varchar(10) default NULL,
`thirdParty` varchar(10) default NULL,
`accountCode` varchar(50) default NULL,
`aniClassDigits` varchar(50) default NULL,
`dnisDigits` varchar(50) default NULL,
`type` varchar(15) default NULL,
`rawData` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `extensions` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`description` text,
`ext` varchar(50) NOT NULL default 'xxxx',
PRIMARY KEY (`id`),
UNIQUE KEY `ext` (`ext`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `trunks` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`description` text,
`trunk` varchar(255) NOT NULL default 'Txxx',
PRIMARY KEY (`id`),
UNIQUE KEY `trunk` (`trunk`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
GRANT INSERT, SELECT, UPDATE ON logger.* TO 'logger'@'127.0.0.1' IDENTIFIED BY 'logger';
scroll through and look for any errors. If there are none you can type "quit;" to exit the CLI.
MySQL configuration is done.
Install Call-LoggerDouble-click on the setup package and follow the on-screen instructions.
Editing the Main Config FileWe need to edit the main configuration file so that Call-Logger knows where to find things. To do that,
- click on the Windows "Start" button and choose "Run"
- The Run dialog box will appear with a text-box labeled "Open:" Type "Wordpad" in this box and click on "OK"
- Wordpad (a text editor) will open and display a blank document.
- Click on the "File" menu and choose "Open"
- In the Open dialog box, navigate to where you installed Call-Logger. This is C:\Program Files\Call-Logger\
by default. - in the "Files of Type:" select box choose "All Documents (*.*)" and choose the file called config.py and
click OK. Be careful not to choose config.pyc instead of config.py.
Wordpad is now displaying the configuration contents of your installation. If you followed the instructions above
you do not need to edit any of there parameters (The defaults will be fine) except "host". Set this paramater to
the IP address of your PBX. If you did change anything above make the proper changes here to reflect your earlier
settings.
- Save the file and close Wordpad
Install the ServicesNavigate to the Folder where you installed Call-Logger (the default is C:\Program Files\Call-Logger\) and
double-click on install-services.bat. Read the ouput and look for any errors (The word "Error"). If there
are none your installation is complete. Restart your server to test the install.
I wrote these instructions really quickly so let me know if you don't understand or have trouble and any input you have. If people are interested I might make improvements and / or write a front end for the database. I found a bug shortly after I built this version that stops the City, State of a call based on area code, prefix from being reported in some cases. I have fixed this bug and will release the fix after some extended testing. The next version will not depend on python, mysql-python or pywin32. I am going to statically link all of the libraries that I need to simplify installation and configuration.