I upgraded my home Asterisk server from 1.2.x to 1.4.0-beta3 today. Unfortunately, I’d ignored a bunch of deprecation warnings when I upgraded from Asterisk 1.0 to 1.2, and it looks like 1.4 removed almost everything that was deprecated in 1.2. So I spent most of an hour replacing DBget(var=some/key) with Set(var=DB(some/key)). I guess that’s an improvement, although neither form is exactly elegant.

The single biggest improvement that I’ve seen so far is Jabber support. Now, every time the phone rings, my Gmail account gets an instant message with the caller ID information.

My Asterisk config is now around 2 years old and getting kind of crufty. Sooner or later I’m going to need to rewrite it in a better language; either AEL or one of the various Ruby plugins for Asterisk. AEL looks like a big improvement over Asterisk’s traditional config language, but it’s still not a real programming language.