For more information on how to set up the Cisco VOIP phones on an Asterisk server, and a hint or two on where to find the firmwares have a look at Adi’s World who points you at the right 6.3 firmware file to search for – this file will upgrade directly from a version 3 firmware phone, where the version 8 firmware fails.
I finally got round to joining the Free Software Foundation Europe today, so I’ve got a new email address.
If you think that it’s going on here, then I’m afraid not, what with the amount of spam this blog already receives.
I’m looking forward to getting my OpenPGP card through the post, and getting it interface with the Mac.
Well, my Cisco 7940 IP phone arrived yeaterday, and I spent a while poking around on the web trying to upgrade it to SIP firmware to work with the asterisk exchange.
It arrived with me with version 3 SCCP firmware, and I had downloaded the Version 8 SIP firmware from the Cisco site – it’s available there for free, you just have to get it from an anonymous ftp server.
It appears though that you cannot do a single stage upgrade from version 3 to version 8, and that I was pretty stuck unless I could find an intermediate firmware – a version 6 sounded like the best bet. Now I don’t have a Cisco support contract for this – I believe from what I was reading that it’s not very expensive for one of these phones, but still, it goes against my better judgement. A little bit more poking around in various places, and I found voip-info.org a really useful source of information about voip of all sorts.
So I eventually managed to follow some of the instructions I found there, and got the phone upgraded to SIP version 6, then I had to get it integrated with the rest off the network.
I’ve already got a couple of PAP2’s hooked into an asterisk exchange, so I was already pretty familiar with that end of things, and it just needed me to add an entry for each line on the phone.
Then comes the fun bit, customising the graphics and services menu with xml served off a local web server, so now I’ve got tux on my 7940, and I’m writing some scripts for the web server to output XML for the phone.
iCal is a great application, but there are some things about it that bug me.
Apple really want you to pay money for their .mac service, and as such if you want to publish your calendars, it’s either that or set up WebDAV. Now I run my own server, and I could probably install WebDAV, but I’m really not that inclined to, so I decided to use a more portable way to publish my iCal files on the web server, and do it automatically in the background.
I was chatting with James today about the solution that I use that pushes the calendar from this laptop, which I regard as the “master” up to the web server, which runs PHP iCalendar. Of course, I use iSync to synchronise with my mobile phone, and I can make appointments on the phone and they will be imported into iCal at next sync, then to be pushed up onto the web at the next update.
But how to send the file to the web server? Personally I love ssh and especially when I have public key authentication set up properly so I don’t need to type my passwords, so I thought that it would seem sensible to use scp to push the files – I already have a hole in the university firewall for ssh into the box, so it will work from anywhere in the world, even without using VPN to connect to the University network.
So I dusted off my slightly rusty Perl skills and started lookiing at the files that iCal produces. I should probably explain that I used Sunbird for a while, but it was just too buggy to be used as a day-to-day application, so I switched to iCal.
So I now have a perl script which runs from my crontab every 15 minutes, and finds the title of the iCal file from inside the file, because iCal uses a unique name for each file, which is not very user friendly. It then compares each file title with a list of calendars to upload to the server and uses scp to copy the file onto the web server.
It’s currently pretty messy, still has a load of commented out debug code, and really needs a tidy up and a little more intelligence adding, but it works, and works well.
You can’t just copy this into a directory and run it – you really have to understand Perl to be able to customise it for your own use, but please feel free to use it as a starting point for your own development, and if you find it useful, please drop me a line.
You can find the perl program file, and my example data file in this directory.
It’s visit day tomorrow, and I’ll be wearing my LED Badge.
I just had a comment on my last post from Brian, who would like a look at my source code, so I’ve put it in a directory for you all to download.
It’s a couple of java source files, which I have packaged into a jar file for you to download – there’s no compiled code in there only the source, I’ve only used the jar file to preserve the directory structure.
Anyway, it uses the serial comms libraries from rxtx.org, so you’ll have to download those, and install the runtime libraries in the correct place for your platform, but the program is in java, so change the serial port name in the code, compile it and run it.
Again, it’s not the prettiest of code at this point, but it serves the purpose at the moment, and when I get the time, I’ll try to improve and enhance the code.
Enjoy – you can download the code here: LED Badge java program code.