Yet another TL1 module
am 07.08.2007 22:12:24 von sscaffidiI've written a module for handling TL1, similar to Steven Hessing's
Net::TL1. I would like to upload to CPAN, but I'm looking for
suggestions on what namespace to use.
I tried the existing Net::TL1, and I also found another TL1.pm module
elsewhere on the internet, but neither suited my needs. I spent some
time inspecting and modifying the source code of each but finally
ended up building my own solution.
The main driving force behind this is that I will soon be using TL1
for alarm and event reporting on several hundred devices, from several
different vendors, and there is a possibility that I may also have to
add on configuration and provisioning capabilities as well.
The existing modules appear to have been built for a particular set of
tasks for a particular set of devices and left at that once they
solved the problem at hand. (not that there's anything wrong with
that! - it's what I did with MRTG::Config!)
I plan on building this into something (hopefully) robust and easily
extensible so that the common use cases are easy and the uncommon ones
are do-able with (hopefully) simple sub-classes.
Currently there are two modules (in my local dev environment),
SRS::TL1 and SRS::TL1::Parser. SRS::TL1 handles the connection to the
device or gateway, sending of commands and retrieval of responses and
autonomous messages. Every response is processed by the code in
Parser.pm which spits out a hash structure that makes working with the
data fairly straight-forward.
SRS::TL1 has been designed to be sub-classed so that device-specific
capabilities may be added while still using (and enhancing) the base
class' functionality. However, I've still to write some sub-classes to
see how simple (or not) it will be for other users. Once I am
satisfied I haven't created a monster I'll gladly release publicly.
If someone else reading this is interested in offering advice or code
review, I'm 100% open to it!
Even if no one else shows any interest in this latest stab at handling
TL1, I'd still like some suggestions on where to put this on CPAN
without stepping on Mr. Hessing's toes :)