Asterisk CDR Statistics

I’ve been a beneficiary of the open source software community for quite some time now. Ever since downloading Slackware Linux onto upteen floppy disks in 1995, I have used and profited from the use of open source software, whether it it be an operating system, programming language, server technology or desktop application. However, up until this point I’ve never given anything back to the open source community (I really don’t count my Twitter CLI script), chiefly because every software system I have created or worked on has been proprietary and subject to non-disclosure agreements. I’m not grumbling about that, not all software is meant to be or should be open source and working on such systems has paid the bills (just about).

So, what have I written? Unhappy about the lack of a decent (and free of charge) system for analysing caller detail records (CDRs) generated by Asterisk PBX telephone systems, I decided that I would combine a number of techniques that I have learnt and developed over the past year or so to put my own package together, and it’s now at the stage where I think it could be considered a beta. This means that it’s not perfect but it’s more or less there. I’ve started hosting it over at Github.

Principal features

  • Clean, modern interface.
  • Supports multiple Asterisk servers which record their CDRs to a MySQL database.
  • Uses Google Chart API to generate dynamic charts.
  • Quick and advanced search facilities.
  • Rolling monthly and annual reports.
  • MVC framework*.


Further development

Where does it go from here? I’m open to suggestion, which is why I’ve published it and I would welcome comments from anyone who’s interested and/or finds it useful, whether you are a developer or just an end user. Is it useful? Does it work out of the box on your system? Is it easy to install for someone who isn’t a developer? What other features would be useful, bearing in mind that the data produced by the Asterisk CDR MySQL add-on is relatively limited?

I know that the documentation is a little rough around the edges and so I shall be paying attention to that, certainly. I also want to do some really thorough and structured testing in order to ensure it’s as robust as possible. I’ve tested it, obviously, but I’ve not seriously tried to break it yet.

So please feel free to download it, either as a tarball for installation or from the Subversion repository if you would like a good look under the hood. Please submit any comments, suggestions or indeed any code you would like to contribute via the Google Code page in order that all information pertaining to it is kept in the same place. I won’t publish any comments made directly on this blog post for this reason.


Salford IT and AV installation job complete

Rack installed in the basement with 3x 24 port patch panels. It eventually contain a switch, router, server and amplifier for the garden speaker system.

I spent last weekend in Manchester finally completing the first phase of the IT and AV installation job in Salford that I have been working on on-and-off since February. The last time I was there was in June when the project was at second fix stage. Since then the builders have made great progress and the owner of the house has moved back in, requiring me to finish my work in order that he can start to buy toys to plug into the system.

All that remained was the installation of a few final CAT6 face plates that I couldn’t install before (chiefly because the walls on which they were to be installed didn’t yet exist back in June), the installation of the equipment rack in the plant room in the basement, and a complete test of all installed cables with a network cable test for the structured cabling and a multimeter for the home cinema cabling. Astonishingly, I’d made it to 35 years of age without buying a multimeter, which is something of an embarrassment for a geek, so presented with a genuine need for one I went out and bought one. A decent multimeter is only about ten quid. Regarding the structured cabling, out of 67 CAT6 cable runs, only three of them failed the initial test, which is a a good percentage for first test. They were quickly repaired and now all runs work perfectly.

These photos show the highlights of the work, since I’m obviously not going to post a picture of every single socket I installed. Apologies for the quality, they were taken with my iPhone (so, no flash) in artificial light during the evening.

Sockets in the "media room" behind where the home cinema equipment will be. The home cinema connections have their other ends at the appropriate places around the room. The hole in the plasterboard wasn't my fault and will be repaired by the builders!

The next stage is to consult on what my friend/client wants to buy to plug in to this impressive piece of infrastructure. Being a G.P., he doesn’t have much of a clue regarding electronics, hence asking for my help, but does know that he wants a pretty kick-arse system and so is willing to spend a bit on it. However, since his house is still essentially a building site, regardless of whether or not he’s living in it, I expect it’s going to be a fair few months before we get to go shopping.

It was an enjoyable weekend away from home back in Manchester. I’ve not been there since Manchester Pride and I used the opportunity to catch up with H and see Saw 3D, which I enjoyed but was a bit “more of the same”. I also don’t think it’ll be the last one, there’s still loose ends. Given my recent pattern of visits it’ll probably be another couple of months before I make it back.


Would your life be much different without the internet, and if so, how?

I’ve much to thank the Internet for and I’m only sorry that it didn’t come along earlier. It certainly would be different without it.

It’s provided me with a career if nothing else, although since I’m an old-school educated software engineer I can in theory turn my hand to any kind of software development, regardless of the application. It just happens that I cut my teeth on web software applications.

When I was coming out I didn’t have access to the Internet and neither did the Internet have the sort of resources for gay people it has now even if I did have access to it, so I was pretty much fending for myself. I can only imagine how different my life would have been had I been born ten years later.

Glamourous visions of the future in old films told us that we would have flying cars and have almost everything automated. They never predicted that the whole world would one day be connected in the way that it is now. A flying car would be great, but I wouldn’t swap it for the Internet.

Decided to give Formspring a go. I will answer most questions but if you want to insult me then please do it to my face.


Salford IT and AV installation job progress

I’ve been working on the next stage of the IT and AV installation job I’m doing at a friend’s house in Eccles this week. It’s second fix now which means the plastering, tiling and (most of) the painting and decorating has been done, so the job this week was to attach 69 CAT6 sockets to the CAT6 runs pulled through the house and solder all the home cinema faceplates on the speaker cables that we ran through the walls (all 10 of them). Fiddly jobs in places, but no major snags or hiccups, so far at least. When we come to test each and every cable will of course tell us whether we don’t just believe that we’ve done a good job!

All but two of the speaker cables terminate on this one plate, which all has to be soldered.

The next and final stage before equipment install (i.e. the final infrastructure installation stage will take place in a few weeks once the builders have finished the basement, where all the cables terminate and the equipment rack will be situated. Although I have all the bits we need to finish this I can’t do it because the basement to the house is not yet secure. Once the walls are finished and the external doors to the basement are fitted I can move the equipment in and finish it. Then it’ll be the big test.

There are also 12 runs of CAT6 that I’ve not yet been able to do anything with simply because the walls on which they will sit haven’t yet been built, so I’ve just run the cables to the ceiling or floor at the point at which they will eventually be and left sufficient length coiled up ready. Part of that was lifting up huge slabs of concrete out of the floor in the new kitchen which, with hindsight, would have been better done wearing a pair of gloves.

Once it’s all done my “client” can then think about home cinema and computer networking equipment. Right now he just wants to concentrate on getting the builders finished and out so that he can move back in again. I hope he doesn’t think that he “over-egged” the installation. Certainly, a 69 run CAT6 structured cabling system is definitely on the upper end of what you would normally put into a house, even of that size, and he may not even be able to buy a Dolby 9.1 home cinema system for a while. The point is that the infrastructure will make the house very future-proofed, which is what he wanted.


IT and AV installation job at Salford property

For the past week or so I’ve been working on an IT and AV installation job at a friend’s house in Salford. It’s a large Victorian house which he bought and is in the process of having it gutted and extended.

As part of this he wanted a fully integrated IT, telecoms, TV and and audio system installation, which he’s asked myself and Chris to do since we’ve some considerable experience with such things. He knows nothing about such things since he’s a GP, and so is trusting our judgement on what to install and buy. I hope he doesn’t regret doing so!

Phase 1 is first fix, so basically the hard work of pulling 80 runs of CAT6 and loudspeaker cable through the house (67 runs of CAT6 and 13 runs of speaker cable, including outdoor cables to the gardens). Once this is complete (on Thursday) we then have to wait for the builders to finish ready for second fix (where the cables are connected to sockets and patch panels). This forms Phase 2.

Phase 3 then becomes the really fun bit where we install all the specified equipment, including a computer network, a 9.1 speaker home cinema system, a distributed satellite TV system, a zoned audio system and other smaller features. After that comes the housewarming party where our friend gets to impress everyone with our work :)

It’s a manual job but it’s a fun job and it’s something I’ve done many times before so I don’t mind doing it. It’s not every day someone asks for a structured cabling system in their house, let alone on the scale of this one. Luckily, since it’s an old house, it has a cellar and lots of voids through which cables can be run. Ironically newer houses are harder to retrofit in this way unless it’s done at initial first fix because they simply don’t have such spaces, usually in the name of cost saving and profit maximisation on the part of the developers.

Here are a few geeky pictures of Phase 1. Apologies for the poor quality, they’re iPhone pictures. I’ll replace them with nicer ones if I remember to take any.

AV cables ready for home cinema installation

Many of the cables run through the cellar

The smallest bedroom is being set up as an office and so has trunking

Plant room in basement, where cables will terminate in a rack (image helpfully rotated by WordPress)


Broadband advice

photo-routerI am often asked by friends and family about which broadband service to buy and time and again my honest advice is ignored in favour of price and/or offers. Recently, certain amongst my friends have come-a-cropper as a result of this and have learnt their lesson, so I have decided to impart my advice to everyone, officially.

First, there are four simple DO NOTs:

  1. Do not order BT Broadband.
  2. Do not order Sky Internet.
  3. Do not order Virgin Media Internet.
  4. Do not order broadband from your mobile phone operator.

I don’t care how cheap these services are or whether or not they’re bundled with anything else. They’re bundled and/or cheap for a reason and with broadband it very much is a case of you get what you pay for. That’s the harsh honest truth. If you want a fast, reliable and un-crippled Internet connection then you’re going to have to stump up a bit on your monthlies.

Once this is established, this is my definitive, boilerplate, standard advice:

  1. Buy this router. That one. Not a cheaper one, that one. No, you cannot use your existing BT Internet, Sky Internet or Virgin Media router.
  2. Order this service, or this one (the “Pro” version) if you download lots of movies or use iPlayer (and similar) frequently.

This isn’t the cheapest router in the world, nor are they the cheapest ADSL services in the world, but there’s a very good reason for that. They work. All the time. You get what you pay for. It really is not worth trying to save what amounts to a matter of a few pounds per month for what is nowadays an essential service.

You are of course free to ignore either or both of these, but do so at your peril and if you get into difficulties with your broadband service having ignored one or both then I at no point want to hear about it.

I would also take this opportunity to point out that whilst Wifi is a useful technology, you should not leave yourself dependent on it. Most wireless networks work fine, but at the end of the day there is no substitute for eight strands of copper. There is a plethora of variables that can affect the performance of a wireless network, so if your Internet connection is critical, use a cable.



Retro phonetastic

I’ve always wanted one of these ever since a mate of mine bought one. They sell on eBay for about £40, all refurbished and modified for use on modern networks (BT’s network at least still understands pulse dialling). Firebox also sell them, for £60, but it’s not clear whether they are new or refurbished. I frankly can’t see how they could be new, I find it hard to believe that someone’s actually started manufacturing them again.

Anyway, I bought a black one for the spare room, and it looks fantastic in there. It’ll never, ever get used, of course, the landline at home is only there for the broadband and rarely do we make or receive a call on it, but the phone does work! When it rings it breaks windows in Salford!

I love the description of it on the Firebox page, it’s hilarious. Especially:

Lovingly refurbished internally and ready for use in the modern world, this endearingly clumpy phone is guaranteed to bring the memories flooding back the second you poke your finger in the dial and hear that familiar ugh-ugh. You might even be tempted to start answering it by reciting your number in your finest nasally operator voice.

My Dad still does that! I think he still only announces the last 5 digits too.

Absolutely no modern features whatsoever!

Absolutely no modern features whatsoever!


Retro lift

Lift like TARDIS that only goes to the 70s

Lift like TARDIS that only goes to the 70s

We’re moving offices at the moment as we’ve completely outgrown our small serviced offices and have signed a lease on an entire floor in the building literally across the road (so no wacky races with vans and things will be required). The building across the road is perfectly fine, but the landlord hasn’t quite finished refurbishing it yet and has a few things still to do, including the refurbishment of one of the two lifts. One lift is all modern with digital controls and voice floor announcements and all that jazz, but the other, although functional, is still as it was installed when the building was built in the 70s.

It’s totally retro, with big clunky buttons, wood paneling, an old fashioned floor indicator panel above the door (which doesn’t work) and inside the emergency phone cabinet is this fully functional dial telephone (pictured). It actually works too! It’s like going back in time 20 years.

I’ve also added a third monitor to my Mac Pro at work, because I’m greedy and I can. It was a spare monitor I had at my Dad’s house, liberated from the Rhydio office in 2006, and so I thought I’d put it to good use. Very soon I’ll wonder how I worked without it and be wanting a fourth one, which will be entirely possible since my Mac Pro has 4 monitor ports.


Because I am greedy

1 2