?>
I believe that Asterisk is at a crossroads and has been for some time. Asterisk stands on the Path of Life for applications and ponders a fork clearly visible: Free or Commercial? Champions of the Cause of Asterisk on either side of the path cheer for one of the two forks. Which choice will the application make? Do the creators, contributors, designers, and dreamers really have a say in the matter? Is everyone making noise for nothing?
I don’t know the answer to all of the questions above, but I have a strong inkling that Asterisk must inevitably choose the Commercial fork. There is no future in Free. I stopped most of you right there. With that one statement you stopped reading. Your mind rejected the ugliness of the letters making up the word “commercial”, and I lost you. Perhaps Asterisk is destined to lose you when the next startup telephony switching software with a “free” bumper sticker affixed to the rear makes an appearance on the web (FreeSwitch ?). Commercial means casualty of the Open Source movement – right? Why should it?
Let me define terms. We can’t very well have an intelligent discussion about a subject where neither side agrees on standard terminology. So here is where I lay it out. You don’t have to agree with the definitions below. But if you don’t agree, then we can’t talk about the subject within the same field of reference. I think the terminology is fairly unbiased, so the playing field is level, but spin of any sort renders the discussion meaningless.
Commercial: a product or service obtained by an individual or business from another individual or business for a fee.
Free: a product or service obtained by an individual or business from another individual or business for no fee.
Future: Google has a whole list of definitions (Define:Future ) and none of them apply. In this case, when I say ‘future’, I mean of all the evolutionary choices that exist for this application, the ‘future’ marks the choice (or string of choices) that lead to the most dominant possible iteration of Asterisk. In other words, if Asterisk is a baby gorilla right now – what are the best possible combination of future choices that help the baby gorilla become the dominant silver-back in the group of telephony gorillas? Application Evolutionary Choose Your Own Adventure.
When I write as freely as I am writing now, I hear questions in my head in response to blanket statements I make. I say, “There is no future in Free” and I reply to myself, “Asterisk is an Open Source application – it can’t be closed now that it’s GPL, so what do you mean ‘there is no future in free?!’” I mean, simply, that Asterisk doesn’t scale in the long-run without commercial implementations. Asterisk isn’t Linux. Asterisk doesn’t have the same user-base as Linux. Linux was a blip on the technology radar all through the late 90s and still hasn’t gained as much traction as Linus might like. But Linux has a cult. A cult of devotees with zombie-thirst for ‘haters’. I’m actually one of them. Asterisk, by comparison, has a cult of devoted ‘integrators’ who LOVE the free ‘engine’ because they can build things on top of it and prof$t. No one loves this application enough to build it up and improve the foundations for free.
Sure, there is a community of developers who fork code back into the main Asterisk tree, and yes they have contributed modules and features and functions and we thank them for it. But I call shenanigans on any of those individuals who did it purely for the unrequited love they feel for an Open Source telephony switch. They do it to save their business money, or to make money implementing a cheap phone system for a non-technical customer. Or they do it to sell hardware.
Who is Anti-Free-Fork-Cheerleader-Number-One? Digium. Digium (Mark) did not write Asterisk out of benevolence and a desire to “give back” to the world and take away the wicked Crown of PBX from the Goliaths of telephony. Mark Spencer didn’t have enough money for a PBX, so he created one. It’s in his wikipedia article “Spencer did not have enough money to buy a PBX (private branch exchange) for his company so he decided to write Asterisk and later founded Digium.” Later founded Digium. He created an Open Source application, and later found a way to prof$t from it – by selling Digium TDM Cards that work really well with Asterisk!
So if we accept that Mark Spencer, a good guy, a great guy, is not Robin Hood, then we have a point in favor of the Commercial Fork.
Let’s look at other evidence that Asterisk is heading down Commercial Lane imminently:
Two links for Free Asterisk – the rest for prof$t.
How about looking at the right-hand side (where all the ads that we tune-out live)?
For me it reads: Fonality.com, IntuitiveVoice.com,VoIPSupply.com, 3CX.com, thevoipconnection.com, Dell.com, vnowinc.com, freshairstudios.co.uk (offering voice prompt professional services – for Asterisk!)
Sure looks like a lot of businesses are finding creative ways to prof$t from Asterisk!
Ok so you still may be holding a grudge from Paragraph #2 – you might never be able to find it in your heart to forgive my slight. However, I have a point – Asterisk can only continue to exist on the Commercial Path. There isn’t an end-user use for this application. This is a telephone system (sans the system until you add hardware). Asterisk is a business tool. Businesses have a single reason to exist: prof$t. And they should. No business should exist for altruistic purposes. If you think otherwise, you’re a teenager struggling against the angst of learning to live with “the man” – or you’re crazy.
Look at the economy. People are losing the basic ability to feed their families left and right. Asterisk is a cost-savings solution, it’s a maintenance-contract savings solution, it’s a “this never should have been so complicated in the first place” solution (i.e. time). Asterisk is as much about money as the dollar bill. It’s either making dollars for someone, or helping someone use fewer dollars and maintain a tool they need to survive.
And it’s good. It is righteous that this application generate income for all parties. It is ok that companies have taken the product, built some service or function on top, packaged and sold it off to some other company that didn’t have the time/experience/expertise/money to get the same functionality from Avaya for a lot more money. Commercial is a blessing.
Without Commercial we lose most of the Open-Source world. If there wasn’t demand for Support and Professional Services – there wouldn’t be a Ubuntu. Sure Linux is free – but I remember the first time I had to install something – I didn’t even know the right words to google in order to find the “make” command (application – call it what you want). Linux walks the Commercial Path. Oh yes it does. And if there is even a ghostly resonance of Linux walking the Path of Free, it’s too ethereal even for my imagination to detect.
Asterisk isn’t a commercial product. I haven’t said it was, and I hope you didn’t get that impression. This part goes back to the messy work of defining our terms. Commercial doesn’t mean product in this article. We both know Asterisk can’t be closed down – that’s not how the GPL works. I posture that the only future (again, please re-read my definition of future) for Asterisk is on the Commercial Path.
Some of you agree with me. You may be wondering what’s the point of the whole article if you knew from the start that companies are prof$ting from Asterisk already? Reputation. The Open-Source community harbors within its ranks some of the most aggressive, stubborn, quack-defenders of any group or association online or off. People who rant and rage in forums and on message boards about the pure evil of companies who dare to take an application created in the beautiful spirit of ‘free’ and defile it with commercial shackles… don’t get it.
Without us – Asterisk would cease to be.
By Tyler Merritt
Take your standard Avaya Nortel Meridian PBX. A powerful system from an established vendor. The Meridian system provides Enterprise users PBX features that kick efficiency into high gear. These days, who can live without Find Me Follow Me, remote voicemail administration, hunt groups, and IVRs? But what about integration with your Enterprise Knowledge Base platform? Wouldn’t it be great to keep a directory of clients in a wiki format and then click on any phone number within this portal to initiate an outbound call from your IP Phone? A ginormous rolodex for everyone to share that’s never out-of-date and indexed automatically by the wiki search engine! Sorry Meridian, no dice.
Asterisk can. The most overlooked feature of Asterisk is the Asterisk Gateway Interface or AGI. AGIs function like CGIs on the web. They can be written in any scripting language (PERL, Python, Ruby, Bash, PHP, Java, etc.). Leveraging the power of an AGI and standard functions of Asterisk like “Dial” (guess what that feature does), you can write a script to query your MySQL or Oracle database of clients, retrieve a phone number and send the string of digits to Asterisk for processing. All Asterisk needs to know is which phone in your organization to call, and Asterisk immediately initiates a call to that phone. Once the phone is “answered”, Asterisk calls the client using the phone number retrieved by the AGI.
The way Asterisk has been engineered allows for an unprecedented level of creativity and under the supervision of an experienced engineer, Asterisk can literally do anything. Well, it won’t make your toast (but as soon as someone sticks a silicon wafer and NIC port into a toaster, I bet the “make toast” app will quickly follow), but it can be instructed using very simple scripts to do very nearly anything that takes place on the Internet.
Have you ever called a large company, like a bank or the telephone company, and when you “press 1 for Support” you are immediately greeted with a robot handler asking you for an account number? It always goes something like this, “Thank you for calling The Cable Company, please enter or say your account number so that we can better assist you.” You say, “123456789” and the IVR starts making some interesting alien bleeping noises. After a short pause, the robot handler speaks, “Thank you, you will now be transferred to a Customer Service representative. Your wait time is approximately a lot longer than you should have to wait.”
The waiting begins. Right as you’re about to hangup, an thick drawl floats over the wires, “Thank you for calling The Cable Company, may I have your account number please?”
What was the point of entering the number into the IVR in the first place? I gave my account number to the robotic handler! Didn’t the robot deliver the goods? Have you two ever spoken?!
Sigh. This is the proprietary PBX world. Most “turn-key” solutions sold through the last decade are feature-light and too complex to integrate with the majority of software applications currently used for business. The larger PBX solutions often do not come with an API for integrating your existing infrastructure with the features of your phone system. A company who purchases a solution from Panasonic for example does not have the option of writing a few scripts which take information from the caller via a key press and insert that information into the company’s database of Customer Information. The APIs that do exist for proprietary phone systems don’t give the consumer access to every command available within the PBX. As a result, integration is limited to click-to-call-type trickery which is to say proprietary phone systems are essentially only good for a parlor trick or two indulged by an audience ignorant of the unrealized potential inherent in Open Source VoIP.
Now let’s give Asterisk a chance. A company I know uses Asterisk for their primary phone system and has scripted an AGI to act as the Support IVR. Customers call into Support and they are prompted for their ticket number in order to help the agent quickly retrieve the open support case. It goes something like this:
“Thank you for calling our much more technically-savvy company. Please enter your ticket number to continue. If you do not have a ticket, please press 1.”
The customer enters their ticket number using a touch-tone phone.
“Thank you.” Alien bleeping. Ok so all phone systems do the alien bleeping thing. “We see that you last called on [Date] about this issue. Your call will be answered in the order in which it was received.”
A short wait…
“Hi John, this is Rob, I see you’re calling in about your VoIP account turn-up. Did you get the authentication credentials from the VoIP company as we discussed?”
Wait a tick. How did they know it was John, and wow the CSR has a great memory! Right? Wrong.
This moment of customer satisfaction is brought to you by AGI. Here’s how it works:
The customer calls in and enters his ticket id. The AGI takes the input and opens a MySQL database connection. Using a pre-fabricated MySQL statement with a variable configured for the ticket id, the customer’s name, phone number, address, system information, the number of IP Phones provisioned for the server, and a history of all other tickets for this customer are returned to the AGI. The AGI then re-writes the Caller ID number and replaces this value with the ticket number. Then the company uses a simple URL to open the ticket in the web-based ticketing system. The URL uses the Caller ID (which is now the ticket ID) as a variable to execute a simple search function. Because the AGI passes the ticket ID, the ticketing system can quickly load all of the aforementioned information on the CSR’s monitor automatically. As the CSR accepts the call, a web browser opens displaying who is calling and why. This technology provides two major benefits: the company saves time on every ticket, this adds up to hours in the course of a year (and time is money); and the CSR looks like a hero in the eyes of the customer, this builds brand-loyalty and increases customer happiness.
The AGI I just described took one afternoon to completely implement. One afternoon. What couldn’t you do with one afternoon and your Meridian telephony system? You might get as far as a support call for help establishing your hunt group? You certainly aren’t going to find an API to make calls to your customer database for you. And even systems that allow custom integration typically don’t support scripting languages like PERL.
Yes, I admit… if you’ve ever called your bank or another Fortune company, you’re probably saying “well the computer voice does ask for my account information and the CSR does have it once I’m finally transfered”. Yes, there are plenty of phone systems which can provide this level of integration, but because they cost so much money and are so complex, often requireing millions of dollars, these systems are usually reserved for big corporations and massive call centers. Asterisk on the other hand can provide the same awesome functionality to any business serious about their phone system regardless of size- big or small.
Creativity gives Asterisk a distinct advantage that proprietary products cannot provide. Will not provide might be more accurate. If you could start writing code to realize a telephony idea rolling around your imagination, would you need the team of highly paid engineers at Avaya, Cisco, Nortel? You most certainly would not. And these proprietary vendors know it.
Let’s take a walk into our imagination and look at some other business needs that AGI can solve.
Predictive Dialers – so many outbound sales organizations require the ole predictive dialer. Your company gets hundreds of thousands of hot prospects that need to be called right away. The predictive dialer needs to be able to get a number from a database, mark the number as “in progress”, dial the number, determine if a person answers, if the number is disconnected, if an answering machine picks up, etc., then mark the number in the database with a new message indicating the number should not be tried again, and finally deliver the customer into a queue where a live operator closes the deal.
Predictive dialers are very expensive off the shelf. A company I know of called GCInfoTech has written a predictive dialer for Asterisk via AGI at tens of thousands of dollars less than off-the-shelf products.
Account Information – this could be anything from baking, to investing, to order status. When you call your bank to check your balance or transfer funds, the telephony application the bank uses checks a database just like our AGI example above. The telephony application the bank uses is proprietary and costs a lot of money. AGI is free to the determined programmer, or mar less than a proprietary solution even for a company looking to purchase a turn-key solution from an Asterisk professional.
Text-to-speech – while text-to-speech is a technology unto itself, it needs some text to convert into speech. Your AGI might use a wiki platform to store information on topics important to your customers. I know of a company in the Health Services industry that informs patients about diseases, medications, and news related to common illnesses. This company leverages a wiki platform and text-to-speech in order to write up information as it is received and posts it online (blog-esque). Customers call in and choose a topic from the IVR. Via AGI, the wiki article posted online is converted into spoken word automatically. Before Asterisk, the company had to record voice prompts for every new piece of information offered to customers. This required an enormous database of sound files and kept administrators busy for hours checking and re-checking file naming conventions, monitoring the health of the SAN, and performing database maintenance.
Asterisk matches up very well against many of the big names in PBX technology: Avaya, Nortel, Cisco. Feature for feature, Asterisk supports almost everything offered by these vendors. When companies are weighing the pros and cons of which PBX to purchase, the tale of the feature tape doesn’t provide a clear-cut winner. Then you factor in “creativity” boosting Asterisk far above the competition. I’ll be the first to admit that Open Source software in the enterprise comes with a special set of challenges – neither more nor less challenging than proprietary software in reality; but proprietary software cannot ever compete with the potential inherent in Open Source. AGI flings open the doors of possibility. How about writing in and telling us a few of your own ideas?
By Tyler Merritt
]]>What, exactly, is VoIP? VoIP stands for Voice-over-Internet-Protocol which means I can make phone calls using my Internet connection right? Sure, this is an accurate albeit airy definition. “Internet Protocol” comes in a variety of flavors. The most popular mechanism for VoIP currently is the SIP protocol. However, VoIP can use other protocols like H.323, Skinny (SCCP), GSM, ILBC, Jabber, and a bunch of other proprietary types of VoIP like chatting on XBox Live! or using a voice chat application like Roger Wilco on your PC! All of these applications allow you to use the Internet to have a verbal conversation with another person or even a group of other people. Many chat clients have added support in recent years for audio conversations – iChat, MSN, Yahoo! Messenger, Google Talk, and many more. “VoIP” is a single term with a limitless number of accurate applications. From a business perspective, VoIP often applies to Hosted solutions from companies like Packet 8; VoIP equally applies to premise IP PBX solutions from companies like Digium with their switchvox appliance; and VoIP even applies to Hybrid offerings from companies like Fonality with their Hybrid-Hosted IP PBX offering.
In consideration of the space alloted to this no-holds-barred VoIP revelation, let’s look specifically at hosted VoIP offerings (Vonage, Skype, Cbeyond, XO, Teliax, Broadvoice, Bandwidth.com, among others, all offer ‘hosted’ VoIP services).
VoIP reminds me of the story of Doctor Jekell and Mr. Hyde. In the lab, VoIP is an incredible technology with countless potential uses far beyond those implemented by most modern Providers. In the lab, calling costs return null and quality is arguably superior to the traditional PSTN which has been long plagued by the laws of physics directing analog wave forms towards oblivion with each mile of copper traveled. In the lab, VoIP setup is so simple a child who knows how to type can enter in the authorization credentials for a new account and service commences almost instantly. VoIP is a healing technology that can redirect hundreds or even thousands of dollars a month back into the business’ coffers. In the lab.
But….VoIP on the streets is a ruffian, a hoodlum causing a ruckus in nearly every Local Area Network it touches. Problems arise when the IT department must punch yet another hole in an already teetering firewall and provide a special lane for this new special traffic. VoIP the destroyer.
Now, the position of Devil’s Advocate carries with it a measure of responsibility to own up to ones accusations. I’ve written that VoIP has its dirty side, maybe even an evil side. I didn’t write that SIP is evil, or IAX is evil, or even heaven forbid I write that Skype is evil. VoIP is evil principally because it doesn’t know what it wants to become when it grows up. VoIP is not a standard. SIP is a standard. G711 is a standard. No one controls VoIP.
Anyone over half a century old remembers when the four major Baby Belcos dominated the American telephony landscape. They each created their own standards for interoperability and charged the other major players fees to run calls on their copper. This made Long Distance a cash cow for many years for these companies. But they grew and expanded and ran into each other’s territory quickly. The complexity of making sure one network’s proprietary standards interoperated correctly with all the other networks became a nightmare. Companies consolidated and eventually single standards emerged and carriers started making money off features and services like 3-way calling and Caller ID.
VoIP is currently a youngster stretching its wings in the wide, wide world of free market. Which standard will win? SIP? IAX2? GSM? Nobody knows, and woe to the business owner who dives into a single technology headfirst without first understanding some of the basic ground rules. Luckily, I’m going to point out some of the more obvious pitfalls in order to better prepare the uninitiated for the trails of VoIP. Please don’t misunderstand; I’m an industry insider working for a leading IP PBX vendor. I live VoIP. VoIP can and will save you money, time, and trouble. But you have to know how to approach it, or it will rear back and bite you in the wallet. The first rule: VoIP is currently uncontrollable, so vett your Provider and PBX vendor carefully.
As any IT manager knows, implementing fundamental network features like QoS, CoS, VLANs, and ACLs helps the LAN operate efficiently and improve the lives of all employees. VoIP requires many of these same standards to prioritize VoIP packets above all other types of traffic. VoIP is greedy for bandwidth, pushing smaller packets through the same CAT5 at a much higher rate of speed. I always use the same analogy: “regular” Internet activity like surfing the web is comparable to a softball pitcher’s vocation. A large chunk flies from the pitcher’s hand to the catcher’s mitt, and so too are HTTP packets received by a host from a server. VoIP resembles a machine gunner standing on that same pitcher’s mound shooting at a target. The same distance is covered in the same amount of time, but the payload in terms of bullets delivered is much higher, though each bullet is many times smaller than the softball.
Modern LANs are starting to adopt this new start-up technology into their standard firmware and basic rule sets. But existing infrastructure, even a few years old, may require a complete overhaul to effectively welcome VoIP. Up until the advent of VoIP, the Internet has largely been a TCP club. But VoIP is quickly changing the landscape with its insistence on bringing UDP to the table in a big way. While a well-managed LAN can easily accommodate this UDP influx, what about the WAN? Who controls that?
The small to medium business owner doesn’t have any influence over the wilds of the WAN. Even the most airtight iptables and QoS policies don’t translate at all once packets start leaving the safety and stability of the LAN. ISPs provide no control whatsoever to standard business DSL or Cable bandwidth circuits. In perfect democratic equality, the DSL or Cable modem treats every packet in with the exact same priority. First come, first served. But voice conversations don’t work like that. There can be no delays or interruptions when a person is speaking naturally. And isn’t the conversation you’re having over the phone more important than whatever YouTube video is streaming on your monitor?
ISPs are starting to offer circuits that account for our special child VoIP. But another snare springs from the Internet – what happens when your VoIP traffic travels from one ISP to another?! What if the two ISPs don’t implement the same QoS rules for VoIP packets?
There is no control. You the consumer control your business’ LAN and that’s about it. The rest is up to the ISP, the VoIP provider, and even the phone company when you call a regular land-line or cellular phone!
So what can be done to make sure this fascinating technology has the proper environment to share its many blessings? Here are some simple rules to follow when shopping for VoIP:
Ask the provider detailed questions about their backbone.
Do they host their servers in a reputable data center? Do they get their bandwidth from a well-known provider like Level 3? A friend of mine thought it would be neat to start a VoIP company and began offering services through machines hosted in his garage. He did some good business for awhile, but his company didn’t last long.
Make sure your VoIP service requires authentication.
This point may seem like a no-brainer, but many VoIP providers do not require registration from the customer, making toll fraud incredibly easy for even amateur hackers. Authentication strings that use a hash in place of a clear-text password provide required security.
Find out what kind of VoIP architecture the provider uses.
Is their network built on a proprietary solution like Broadsoft or do they make use of Open Source VoIP solutions like Asterisk? Proprietary may turn out products with fewer initial bugs and open lines of communications to the developer via a support team, but Open Source means a much larger community of devoted followers hammering away at the application out of sheer pride and commitment to excellence. Asterisk is the most widely deployed Open Source telephony platform in the world precisely because so many people have contributed hours upon hours towards development and stability.
Figure out the DTMF type up front!
With analog lines and PRIs, DTMF was never really a consideration. VoIP companies have choices like rfc2833, inband, and info – and some companies use a different DTMF setting for inbound calls and outbound calls! If customers can reach your Auto Attendant but can’t dial an extension because key presses aren’t recognized, you might as well not have a phone system at all. This one is the Achilles Heel for almost every company I know.
Make sure your network supports QoS.
It cannot be stated enough that VoIP traffic on your network needs an all-access pass to the HOV lane. Because VoIP uses UDP instead of TCP, there are no second chances for these packets. They need to arrive in order, unchanged every time. If your network equipment does not support QoS, simple things like sending an email when someone is on the phone will have a noticeable effect to the conversation. Some customers may detect “clipping” or “clicking” on the line however briefly. A good QoS policy protecting VoIP easily soothes its greedy need for dedicated bandwidth. VoIP does not like to share.
By following these rules, you’ll find you’re much better prepared to welcome VoIP into your LAN. You cannot exercise control over every avenue VoIP travels, but taking care to provide the proper environment within your LAN goes a long way to guaranteeing quality from your phone system. Selecting your provider with care ensures that when VoIP leaves the LAN, it is treated with respect by the ISP and VoIP provider. You definitely cannot control every bit of the Internet, but you can test the waters methodically and enjoy this technology and all the powerful features it has to offer.
Written by Tyler Merritt
]]>