Fun with WebBricks and the Aastra 480i Phone

Fun with WebBricks and the Aastra 480i Phone
Originally Posted on Friday, December 02 @ GMT Standard Time
 

Using the Aastra 480i to create a one per room user interface for WebBricks

The people at Aastra recently sent us their 1.3 firmware update, this has made the 480i an attractive proposition for a VOIP home handset. We of course we're more interested in how we could get it working with a community of WebBricks



Aastra 480i XML browsing and WebBricks

We've had the 480i phone for some while now but recently we were sent version 1.3 of the firmware for this phone. This firmware adds an XML browser that can be accessed from the soft keys on the front panel.

Since this phone is available at reasonable prices and its a good VOIP phone with SIP firmware, we thought we'd try it out as a 'one per room' interface for the home.

General view of the 480i

Basically the 480i is mid to upper range corporate phone, however it looks fairly soft with nice curves. This means that it looks good in a home enviroment as well, here's on in a kitchen:

 

 

Getting the XML into the 480i

This is a fairly straightforward process, just browser to the phone and select the option for the XML server. Note that there are two options, for the moment we don't need the HTTP push.

 

 

Constructing some static XML

The Aastra 480i uses a very similar structure to the Cisco XML:

<AastraIPPhoneTextMenu>
<Title>Thirtover House</Title>
<MenuItem base = "http://10.0.0.12/">
<Prompt>Kitchen Floor</Prompt>
<URI>kftoggle.php</URI>
</MenuItem>
<MenuItem base = "http://10.0.0.12/">
<Prompt>Garage Doors</Prompt>
<URI>gMenu.php</URI>
</MenuItem>
<MenuItem base = "http://10.0.0.12/">
<Prompt>House Status</Prompt>
<URI>aaData.php</URI>
</MenuItem>
</AastraIPPhoneTextMenu>

Here's what the above looks like on the 480i:

 

 

Building dynamic XML using PHP

In this case we build the XML to include values subsituted from WebBricks around the house.

This allows us to create a context sensitive menu that lets the user know whats going on:

<?
include ("phplib/Nweblib.php") ; // include the WebBrick Library
header("Content-Type: text/xml"); // we're doing XML here wbTrigger("10.0.0.24","7") ; // kick the channel
sleep(1) ; // give the channel a chance to update
$kfsts = digOutSts("10.0.0.24",7) ; // read the WebBrick status if ($kfsts == 1) $kfnme = "On" ; if ($kfsts == 0) $kfnme = "Off" ; $myTitle = "<Title>Floor: " . $kfnme . " Temp: " . ct("10.0.0.24") ."C</Title> " ; echo "<?xml version="1.0" encoding="iso-8859-1" ?> " ; echo "<AastraIPPhoneTextMenu> " ; echo $myTitle ; echo "<MenuItem> " ; echo "<Prompt>Switch Floor</Prompt> " ; echo "<URI>http://10.0.0.12/kftoggle.php</URI> " ; echo "</MenuItem> " ; echo "<MenuItem> " ; echo "<Prompt>RETURN</Prompt> " ; echo "<URI>http://10.0.0.12/aastra.xml</URI> " ; echo "</MenuItem> " ; echo "</AastraIPPhoneTextMenu> " ; ?>

 

Here's what the above looks like:

 

 

Here's another example, this time showing state. Here, garage door one has just been operated so that it is neither open nor closed:

 

 

What's next

Well, for the larger home implementing the XML directory service would be good fun.

When we get a moment we'll be looking into building a XML version of an Asterisk dialplan to automatically display the internal extensions.

One of the other possibly useful features of the 480i its its ability to take a HTTP push, this would allow for important events to be displayed on the phone's screen, although at the moment the messages are only shown for a short time before the phone reverts back to its normal phone menu, to too much of a problem if all you want to display is the fact that the door bell was rung.

Thanks

To Mark Handley and the people at Aastra for getting us the latest firmware.

Published 23 July 2007 09:13 by Community.Organiser
Filed under: , ,

Comments

No Comments