Monday, September 29, 2008

I am wrapping-up initial development of a hostdesk software for Aastra phones and 3CX. (but I plan to extend to other XML capable phones, SNOM is next on my list). But anyway, the app is pretty slick. I based the beginnings on the aastra xml scripts that do a limited hotdesk function in conjunction with asterisk. But then I added quite a bit of capability as well as added a web management interface and obviously integrated with 3CX for authentication purposes and other features.

Essentially, the app works as follows...

  1. Phone boots and requests aastra.cfg from tftp server
  2. aastra.cfg specifies a startup XML app
  3. Phone launches XML hotdesk program and performs authentication ,etc
  4. XML app imports extension specific parameters from ini file
  5. Extension is marked as active in the active extensions file
  6. XML app then dynamically writes the .cfg file including special parameters
  7. Phone is told to reboot and then fetches .cfg as usual
  8. Voila! You have a working extension with your special attributes (blfs, etc)
  9. User can now "log out" and extension is "released"

I've also included a basic web management interface that allows administrators to see which extensions are in use as well as forcibly reliease extensions after abnormal phone reboots etc.

There is definitely much more I will add in future updates, but hey, it works and it's free!

I will be posting the installation instructions in the next few days.


Tuesday, September 23, 2008

Im working on some various XML Applications for the Aastra 5xi Series of IP phones. Im starting by porting over some of the pre-made Aastra/Asterisk scripts.

These assume your 3CX installation is in the default c:\program files\3cx phonesystem\ directory. The aastra XML apps will live inside of C:\Program Files\3CX PhoneSystem\Data\Http\aastra

At the moment this has the weather feed ported over. This creates a 'cache' directory for storing cahced RSS feeds etc inside of /aastra/cache. The weather for specific Zips is cached for an hour per phone to prevent hammering the RSS server.

You also need to edit httpd.conf to allow access to the new aastra subdirectory via http. You need to edit C:\Program Files\3CX PhoneSystem\Bin\Apache\conf\httpd.conf and add the following ...

<Location /aastra>
Allow from all

and save the file. You will need to restart the 3CX Apache service for that change to take effect.

To use this on your Aastra 5xi, just assign one of your buttons an XML value of http://xx.xx.xx.xx:5481/weather.php (obviously editing IP and server port as appropriate). If you dont want to prompt for zip and use a default use this format....http://xx.xx.xx.xx:5481/weather.php?zip=xxxxx and it wont prompt for zip code.I'll post the additional scripts to this thread as I go through them.

I'm also working on a hot-desking script which should be cool.


Remote extensions are a hot topic with 3CX. As anyone knows who has wrestled with them, SIP and RTP give us plenty of issues when it comes to NAT and remote phones. I went in search of a plug and play and secure solution for remote extensions.

I ended up using OpenVPN w/ 3CX and a SNOM 370 IP Phone with the OpenVPN firmware to achieve this solution. Here is a complete write up.....

Implementing Remote Extensions in 3CX w/ OpenVPN