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 2–3 gigabytes of disk
space, a sizable portion of which is just the operating system. While this isn’t
much by modern standards—for example, this article is being written on
a Kubuntu PC with a 250-gigabyte SATA hard drive—there’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 utilities—and Asterisk
with all the bells and whistles.
But for some people—like Kristian Kielhofner—this 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:
livecd astkd=/dev/sda1
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)
- QoS
- Session-balancing Internet connections
- Firewalling and routing
This device could easily be tailored to support DHCP and DNS, wireless access, VPN (Virtual Private Network) access, encrypted tunnels, Gigabit Ethernet, whatever the customer needs. Of course it’s not a good idea to load up a border router with all manner of services, and especially not an Asterisk server, because call quality suffers when the hardware is overloaded.
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.
Resources
Interview
with Kristian Kielhofner
AstLinux User’s Guide