A Case Study Using Perl and Gtk2, or I Can't Believe It's Not A Softphone
Cisco Systems' 7940 and 7960 SIP IP Phones have a CLI accessible by telnet for debugging and troubleshooting. Through this CLI, button presses can be simulated with "test key" commands, so it is useful for remote testing although a bit cumbersome. The author has developed a tool which appears as a telnet client to both the user and the phone, but in addition presents a graphical interface mimicking the physical phone. When the buttons on the GUI are clicked, the tool will enter appropriate "test key" commands in the telnet session. By monitoring debugging output from the phone and looking up entries in the BTXML card deck embedded in the phone's software image, the information shown on the phone's LCD display is also shown in the graphical interface. This essentially creates a softphone mirror of the physical device sans audio. The talk will look at how using Perl with Gtk2 made the development of this GUI front-end to an existing CLI so easily possible (the first version was completed within one day) along with some of the more-interesting details of the implementation such as the use of XML::Parser, non-blocking I/O, and the Gtk text widget.
Geoffrey D. Bennett works for NetCraft Australia as their Senior Systems Engineer, where he gets to play with Linux all day. He is an LA Committee member, was a core organiser for LCA2004, and runs the LinuxSA Users Group in Adelaide. Geoffrey presented a talk at LCA2003 on his revision control system "Katie", and a talk at LCA2004 on using Clipsal's C-Bus system with Linux. His claim to fame is inspiring the "Windows Refund Day" in 1999 with his Toshiba laptop saga (he still has the cheque, and the laptop).