The Asterisk that Saved Christmas

The economy and its current unsettling state has forced a number of local Utah businesses to cut expenses and explore new ways of doing business. As an IT consultant, I have been working more and more with the Open Source PBX called Asterisk. Asterisk is piece of software that allows business owners to set up or integrate a VOIP phone system using new or existing equipment. Cutting cost and improving ROI is the number one reason that small to medium sized businesses are using or should consider implementing an Asterisk phone system. The term “Open” means that there is no cost or annual licensing fee associated with implementing the software. Aside from eliminating the up front cost and licensing issues, an Asterisk phone system will improve ROI by avoiding vendor lock-in while allowing a completely customizable deployment of your PBX.

The most appealing part about Asterisk in general is that its VOIP features will allow business to run their data and phone connections on the same physical infrastructure. In other words you can run all of you phone and internet through the same cables, switches and routers. Today many Internet Service Provider’s are also providing integrated T1′s which include internet and phone coming in on over one line. While an integrated T1 is typically more expensive than a standard T1 line it is less expensive than running separate services to your business from different providers, and in addition many integrated T1 service providers have the ability to connect your long distance calls to other VOIP trunks absolutely free of charge. Free long distance to other in-network VOIP trunks is a tremendous benefit for any small or medium sized business looking to cut costs. Most phone companies are already using packet transfer to transmit long distance connections anyway. In addition to cutting long distance cost you can completely eliminate any remote branch calling even if your remote branch is on the other side of the world by using SIP, IAX2 or DUNDI peering.

Most vendors typically supply the necessary PBX software to host your local phone services at a hefty initial cost that comes with the expensive and dreaded annual licensing fee. Asterisk is completely open meaning that you can use and modify the software completely free of charge without ever paying any kind of licensing fee. It is important to note that Asterisk is a highly customizable application that does not come out of the box and ready to use. Although Asterisk can be confusing and difficult for end users to configure, chances are that there are a large number of IT consultants in your area that will aid in the most daunting part of the asterisk configuration. The best part about working with a local consultant is that you can have a custom deployment of your own phone system and you won’t be working over the phone with your vendor or the reseller for hours trying to set up their PBX.

Vendor lock-in… the words alone makes me cringe. I think about being on hold with someone from India whose English is difficult to understand. I hate the idea of paying a company an annual fee to use their product that only they are qualified to configure. The fact is that once the consumer is locked into a product the chances of any them changing services after all the setup costs and headache is almost zero and the proprietary vendors know this and take full advantage as they cut their costs by providing limited support and add enormous fees for special or emergency services. Depending on where you live it may not be easy to find Asterisk consultants in your area, but the popularity of VOIP has created a high demand for more and more consultants to use and support Asterisk.

Finally the absolute best reason that any small or medium sized business should strongly consider using Asterisk is that the software is completely customizable and scalable to any level. Proprietary software companies always keep their source code completely secret and guard it with blood, sweat and tears to ensure their business practices. Asterisk allows anyone complete access to the programming code that makes Asterisk work. What this means to small business owners is that if you have a bug with your voicemail setup or if you need to modify the way that your PBX interacts with your incoming faxes all you have to do is pop the hood and tinker with the configuration files, although typically you want a consultant to do the tinkering, but you get the idea. Asterisk is the most scalable product available, is currently being used by many call centers, including IBM, and it is deployable in many different languages.

The benefits from a financial perspective alone clearly outweigh any costs. VOIP is an extremely new and exciting technology designed to help businesses with efficiency and Asterisk is helping many small to medium businesses access this technology at an affordable cost. In our current economy affordability is a necessity and any small to medium sized business owner should seriously look at Asterisk as their next phone implementation.

The Virtues of Virtualization

One of the incredibly awesome, and underused technologies available is virtualization.  To give a brief background for anyone who is not familiar with IT lingo, a virtual machine or VM is basically a way to store your operating system as a bunch of files that have no interaction with the actual hardware associated with a computer.  The idea is that you can install a product like VMware or Virtualbox on your current operating system and play any other operating system as a window or in the background without actually installing a new operating system at all.  You can even load a virtual machine that someone else created with all of their applications and settings in a matter of seconds.  It’s all done by copying the VM files on your computer and then using a player to run those files.  The impressive thing is that you can run as many VM’s as you would like without changing or installing anything more than a simple player on your desktop.

Why is this important?  I work for a software company that produces software for a windows environments, and is designed to run over a network.   I spend hours every week reconfiguring server configurations and settings that were not setup correctly first time they were installed.  The installation alone takes anywhere from 20-60 minutes and can be painfully difficult, if not impossible, if your operating system configuration is not setup properly.  In many cases even the server may appear to be setup correctly and working fine when in reality it isn’t.  This only further complicates things when our clients try to install and connect a number of clients to the server only to realize that there are problems.  This is not uncommon for any type of software support model.  The server client model is a very effective way to administer and share information over a network when it is configured properly.  The problem for any software product is that there are too many variables, including OS configuration, software dependencies, and human error.

Now this would mainly benefit network applications that run on a client-server model and would only be plausible for the server setup, but imagine if it were possible to get the exact software installed on every server in exactly the same way with exactly the same settings.  If you could take all of the OS, installation and a lot of the misconfiguration variables out of the equation, it might lead to a lot less support needed for installations and troubleshooting.  It would be extremely beneficial for any software developer to create their software and put it on a virtual machine and ship the VM to their clients.  Basically the client would only be required to install a simple VM player and then download all the VM files that contain the entire OS and installation for the software.  One of the great things about this is that allows you to sandbox the VM so that any configuration changes you make to the server OS won’t have any affect on the the VM.  And in many cases even there is a server crash it could be extremely easy to recover the data because all of your information is stored on the hard drive as a bunch of files.

There are some issues with this model of distribution, including the Windows licensing model which will not allow software vendors to sell Windows VM’s without paying a heavy fee to Microsoft.  Many companies have worked around this caveat by distributing their product on Linux VM’s, which will run perfect in any Windows or Mac host environment.  The idea of virtualization would not solve all of the software development and distribution problems in the world.  For example, you would probably still need to manually install the software on each client that connects to the virtual server.  This method of distributing software has recently become popular because it allows software developers to become OS independent.

Although we don’t use virtualization yet at my place of work, it’s tool that is still in infancy and many companies like Amazon and Google are already taking advantage its capabilities.  It is an amazing concept and even more incredible in practice but the real test of time will tell if smaller companies are ready for virtualization.

Zombies Invading the Workplace

If you have ever done any gardening in your life and felt like it didn’t work our, then you really need to check our Plants vs Zombies.  You’re not just planting some delicious leafy greens, but also saving the world from the apocalyptic zombie invasion.

At work we sometimes have a little downtime and many of the people at my office choose to use their free time on a little Plants vs Zombies.  The premise behind the game is pretty simple.  It’s a new variation on defend your castle with a twist: you use awesome plants to launch lethal peas, watermelons and other variations of vegetation at an incoming onslaught of mindless Zombies trying to reach your house to eat your brains.  This game is sweet, I mean it starts you out on a checkerboard style level with the zombies coming at you from the right side and you have to defend your house on the left. Your arsenal includes a pea shooter, a cabbage  launcher, potato mines and sunflowers to help you gather up extra sunlight for even faster planting.

Plants vs Zombies gets 5 stars for its insane graphics.  I mean Crisis on half graphics was good, but the zombie animations are so real and horrifying that I often wake up in a cold sweat at night.  Aside from the rapid speed of growth the plant animations are very realistic with their swaying and bobbing in the wind.  The epic plant battles at the end of each level are so gruesome that this game is not at all recommended for those with less than adequate stomach capacities.  The other great thing about this game is that if it isn’t enough for you to slay zombies using your impressive green thumb skills, you can actually play as the zombies and try to attack the plants.

If that still isn’t enough to entice you to buy you defiantly ought to check out the “vase breaker” mode where you break a bunch of vases on your lawn…  Yeah, I know, it actually is this awesome.

So if you’re looking for a good project to turn your mind into a pool of gray drivel then you should definitely pick up a copy of Plants vs Zombies.   This game gets the full 5 out of 5 stars on my book and will surely change your life.

So here is our office top Stats. (I know there are probably higher scores out there, but a lot of people have been using cheats and such.)

Unlimited: 112 Flags – Dave

Vasebraker:  level 37 – Haven

iZombie: Unknown

If you have a high score please send it to me so i can put you on the board.