@bytesnz

Jack Farley, Web Application Engineer

Call Record Presenter

As part of filling the practical work experience requirements for my degree, I would at Tait Electronics over the summer of 2006.

My project for that summer was to design a call record presenter to look for inconsistencies in log files produced by some of their digital radios. The log files were in Syslog format and contained information about the calls and other events that happened on the radios.

Once I had settled in at Tait, I met with the supporter of the project and discussed with them the requirements of the project. The presenter had to be able to parse log files, associate events across log files from different base stations with each other and present the data in a manner that could be easily browsed and investigated. It was also to flag any inconsistencies that it found while parsing the data.

I decided to use Python and SQLite for the project as it was used by some of the teams who would be working with the presenter, I then started writing the parser to collate the information in the log files using a test driven development methodology.

Once the parser had a basic functionality, I started designing the interface for the presenter. To make it easy to use, simple to program, and be able to be easily accessed from remote computers, I developed a web interface for the presenter using an iterative design process. At each step in the development, I would check that the design was meeting the expectations of the supporter of the project and took in any feedback they had.

With the presenter interface, a user was able to look at basic statistics about each log file that was parsed and was able to dig into the data by searching for a number of record information including the time the calls were made and who made them. When the calls were found, information about the calls was able to be looked at. The log files containing the calls were also able to be loaded with the lines associated with the calls automatically highlighted.

[ghthumb id=”folder=7”]