So far in our VoIPowering Your Office series, we've focused on big fat setups: Trixbox (formerly Asterisk@Home), which is Asterisk + the CentOS operating system + a host of management tools, database backend, customer management, and gobs of other programs, all nicely integrated; and plain-vanilla Asterisk on CentOS Linux. These typically occupy 23 gigabytes of disk space, a sizable portion of which is just the operating system. While this isn't much by modern standardsfor example, this article is being written on a Kubuntu PC with a 250-gigabyte SATA hard drivethere's a lot of unnecessary baggage.
Naturally, any Linux admin worth a sack of peas knows how to slim things down. I have a Debian system running Asterisk, and nothing else, that weighs in at less than 400 megabytes. No sissy X Windows, no unneeded services or packages, just Debian with a build environment and essential utilitiesand Asterisk with all the bells and whistles.
But for some peoplelike Kristian Kielhofnerthis is still just so much obesity. And so he created AstLinux. Mr. Kielhofner has assembled a fully functional Asterisk PBX that includes the operating system and useful utilities, and whittled it down to less than 50 megabytes. That's right, folks, small enough to fit on a 64-megabyte Compact Flash card with room to spare.
Why so small? Well, why not? It's a fundamental security principal to keep servers as lean as possible, especially Internet-facing servers. It makes system administration and troubleshooting simpler. Even better, this makes it possible to run it on single-board computers like Soekris, PC Engines WRAP boards, and even the cool new Gumstix way small computers.
AstLinux also runs on mini-ITX computers and ordinary PC hardware, so you can scale your hardware according to your needs. Because you're starting from a minimalistic installation, you have the pleasant option of adding features as you need them, rather than pruning away cruft.
You might look at something like the Soekris net4801 and laugh. "Haha!" you say, "I have more computing power in my wristwatch!" Which may be true. If so, it means AstLinux can be ported to your wristwatch for the all-time great conversation piece. But don't underestimate these little boards. They are tough as nails and tolerate conditions that kill off ordinary PC hardware. They don't consume much power, are surprisingly configurable, and are able performers.
For one example of their adaptability, the Soekris 4801 also comes bundled with the Sangoma A101u E1/T1 single-port WAN card, which is designed for both data and voice traffic. If you don't see the hardware configuration that you really want, talk to the manufacturer about available customizations.
Taking it for a spin
Download the live CD image, burn it to disc, pop it into a PC and boot up. If you enter the usbkd boot option, AstLinux will save data and configuration files to a USB device. You probably want to specify the exact location of the device to avoid conflicts, so use a boot command like this:
How do you know the correct /dev name? Good old fdisk -l will tell you. If your USB stick is formatted with the ext2 filesystem, AstLinux will attempt to automount it at /mnt/kd.
You can even skip the middleperson and put AstLinux on a USB stick, and boot it instead.
Integrated access device
Mr. Kielhofner has ambitions for AstLinux beyond merely processing phone calls, and is turning it into a multi-service, multi-protocol router. Rather like the Cisco 2811, but without the $2,500 price tag and licensing hassles. The tools are already available: Linux and x86 hardware provide abundant raw material, so the challenge is creating useful, attractive packages. Slap a Digium or Sangoma card into a good-quality PC and you have the makings of a first-rate integrated PBX with all the necessary networking features built in:
- Multiple VLAN support
- SIP NAT traversal (sip-conntrack, Asterisk, OpenSER)
- Session-balancing Internet connections
- Firewalling and routing
Because Compact Flash is fast and durable, you could have non-writable CF storage on your nice AstLinux IAD, and use it only as a router. Then have a separate internal voice mail and logging server to handle data storage. This will speed up your overall PBX performance and add some security and flexibilty.
Come back next week to learn how to install AstLinux for real and make it go.