Xymon Mailing List Archive search

Hobbit to IPPhone

list Josh Luthman
Tue, 11 Mar 2008 23:05:15 -0400
Message-Id: <user-71f0405973f2@xymon.invalid>

I have 7940s and 7960s everywhere, so I can test the one other phone, but
I'm certain it will work (the only difference is four stupid buttons - damn
Cisco's need to make money!)  As far as the 7970 and 7941/7961 I'm confident
it will work, but the display is significantly different so it won't be as
fitting.

Charles - I see that you are using the SCCP firmware, as am I, but I am not
using the Cisco Call Manager.  Can you tell me how you change the services
button on your system?  I'm pretty confident I know how to do it on what I'm
using.

Thank you very much for sharing this with us!  I know I will greatly enjoy
it =)

On 3/11/08, 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'

-- 
Josh Luthman
Office: XXX-XXX-XXXX
Direct: XXX-XXX-XXXX
XXXX Wayne St
Suite XXXX
Troy, OH XXXXX

Those who don't understand UNIX are condemned to reinvent it, poorly.
--- Henry Spencer