Xymon Mailing List Archive search

Hobbit to IPPhone

list Michael A. Price
Wed, 12 Mar 2008 07:45:11 -0500
Message-Id: <user-ac606510786b@xymon.invalid>

That looks awesome, nice work...


On 3/11/08 9:54 PM, "Charles Jones" <user-e86b4aeade4e@xymon.invalid> wrote:
Just thought I would send another update and a preview. This has been really
fun to work on. I think I am going to officially call it "Hobbit2IPPhone". I
will probably create a sourceforge project and whatnot for it as well.

Here is some info on Hobbit2IPPhone:
* Hobbit2IPPhone can be run without touching the Call Manger, or having admin
access to the CM. All you need is your normal user login and pass to the CM
(same one you use to set your speed dials, etc).
* Hobbit2IPPhone requires a web server with CGI access (could easily use your
Hobbit server).
* The web server that the CGI is run on, needs bi-directional connectivity to
your IPPhone. If you can telnet to port 80 of your phones IP address, you
should be good to go. The phone also needs to be able to hit port 80 of your
web server.
* The CGI needs connectivity to your Hobbit server, as it uses $BB to query
the hobbitdboard to get the host infos. If you are running the CGI on your
Hobbit server, this is a non-issue as it will just talk to localhost just like
any server-side Hobbit extension script.
* Hobbit2IPPhone can be run as a sever-side Hobbit extension script, or out of
a cron job on another server, provided there is connectivity from the CGI host
to the IPPhone on port 80.

Here's how my phone looks when everything is OK:

* Currently it is optional to display this message if all is green. I figured
some people may only want their screen to change if there is an alert.
* Hitting "update" updates the display. There is also an automatic refresh
timer.


Heres the view when some alerts have triggered:

As you can see, you get a nice ordered list, with a summary of how many hosts
are alerting.
* You can select either via the up/down rocker on the phone and then hitting
"Select"
* You can also select by pressing the number that is next to the alert.
* To make it look nicely formatted I coded it so that it automatically
truncates the hostname so as not to line wrap.
* Hobbit2IPPhone will override your phones idlescreen/screensaver, so any
alerts will not be hidden :)
* Due to a limitation in the IPPhone, a maximum of 99 alerts can be selected.
I hope you never have this many!


Here's what you get when you select a host, in this case, the first one:

Right now I have it showing the current status message for the alert, as well
as the alert duration. This can easily be configured to display anything you
can get from hobbitdboard.  I still have to reformat the text a bit so that it
compacts better. * Text that doesn't fit on the screen is accessible by
scrolling down.
* When you hit "Exit" you are automatically brought back to the first menu (an
updated version of it, not a stale copy)
* I also have to truncate the hostname in the upper title "Status for ..."
because the IPPhone is picky and if this is too long, it just bombs and won't
accept the rest of the data at all!


That's it for now...I'm going to continue hacking on this and try to make it
as user-friendly as possible before I release it.

Possible future features:
Hobbit2IPPhone 2.0:
* Acknowledge/Enable/Disable alerts from the IPPhone, including text input of
reason.
* Viewing of some reports or log data, like notification log, alert history,
etc.

Hobbit2IPPhone 3.0:
* Full graphics implementation - It's possible to have a mini hobbit-like
display and interface, and even view trends graphs

FAQ: 
Q. What model IPPhones will this work on?
A. I am currently developing using a 7960. I assume any 79xx will work.

Q. What about color?
A. Send me a color IP Phone to dev with and I will see what I can do :P
Q. Wha? You work for Cisco, don't you have color IPPhones and routers coming
out of your ears?
A. I actually work for a nonprofit section of Cisco. We don't have any spare
equipment, and even with my "discount" I can't afford to buy an IPPhone just
to play with, otherwise I would run a VOIP network at home :)

Q. Can you make the message light flash, or the phone chirp when there is an
alert?
A. So far, I don't think so. I have not found anything in the HTTP/XML
protocol that gives me access to those functions. I'd like that feature as
well, and I suspect it is possible, so I will keep looking for a way to do it.

Q. What software prerequisites are there?
A. Any webserver that can run a Perl CGI script. For Apache, this means
mod_perl, which shouldn't be a problem for most linux distros, Solaris folks
may have to jump through some hoops. The script uses the following perl
modules:
CGI;
LWP::UserAgent;
URI;
Time::localtime;
It may also use Cisco::IPPhone, but thusfar I have written most of my own
simple XML functions and may remove that dependancy. With the exception of
Cisco::IPPhone, all of the modules are common ones that should be installable
via your linux distros package manager. For Solaris folks and anyone else, you
can install them via CPAN ie "perl -MCPAN -e 'install LWP::UserAgent'