** This post is cross-posted on www.greenfieldtech.net **

Honestly, this is something I should have already done a long time ago. About 4 months ago, Allo.Com approached us (GreenfieldTech) to write a review about some of their products. After they agreed to the terms – mainly that they we’ll publish our findings, good or bad – we had to move offices, so everything kind’a went into limbo. Last week, finally, we got around to start reviewing the hardware. We currently started with 2 products, the Allo.COM GSM card (http://www.allo.com/gsm-card.html) and the Allo.Com MegaPBX (http://www.allo.com/megapbx-line.html).

As Eric is still evaluating the MegaPBX, we’ve decided to publish our findings regarding the GSM Card for Asterisk.

Hands on the product

So, the product itself is nicely packaged – in terms of the electronics involved. I’ve examined the soldering quality, and it would appear that it provides a fairly consistent 60% coverage of soldering, which is fairly acceptable for a card of this scale and quality. One thing I didn’t like was the usage of external wires, however, as this is not the first time I’ve seen that, I can accept it. The card itself is available in 2 form factors, so in general, the “hands on” evaluation passes nicely.

Installation

“Patches? Patches? We don’t need to stink’n Patches!” – I admit it, there is nothing I hate more than patching DAHDI drivers (Old OpenVox Style) or adding some 3rd party middleware for DAHDI to make things work (Sangoma). This card takes a slightly higher road. Yes, you are required to have the Asterisk (I do mean Asterisk) source code available. However, it will compile the “channel driver” and an internal resource, very much like the SIP channel – not requiring you to patch Asterisk or DAHDI at all – so in that respect – KUDOS !

To be honest, it took me about 2 days to get the card running, but I was at fault – well, not completely. While the compilation of a “native asterisk” channel driver is a wonderful idea, the documentation kind’a sucks. They still have milage to go with that, however, after contacting their very professional and helpful support staff – it was compiled at ease.

Operation

One thing to get used to – this card is slower, and I do mean much slower, than a normal analog card. The reason isn’t the card, it’s the GSM network. It takes about 10-30 seconds for the card to become fully active, mainly due to the fact that the SIM cards need to register with the GSM network. Once fully active, it will present a channel type GSM, which operates very much like its DAHDI analog equivalent.

The Fire Test

How the hell do you test a card? you make it work really hard – and I do mean hard. So, in order to do so, I’ve created the below Asterisk dialplan:

[from-ipphone]
exten => _X.,1,Set(TIMEOUT(absolute)=${RAND(600,7200)})
exten => _X.,n,Answer()
exten => _X.,n,Wait(${RAND(10,30)})
exten => _X.,n,Dial(GSM/2/050808XXXX,120,R)

exten => h,1,Originate(Local/111@playback-loop,exten,from-ipphone,1111,1)

[playback-loop]
exten => _X.,1,Answer()
exten => _X.,n,Wait(1)
exten => _X.,n(loop),Playback(demo-congrats)
exten => _X.,n,goto(loop)

This dialplan is designed to create random length calls, with a random waiting period between calls. I then issued the following command from the dialplan, to kick it off:

<div id="_mcePaste">noc*CLI&gt; channel originate Local/111@playback-loop extension 222@from-ipphone</div>

The above will start dialing over and over and over again. My test was really simple, generate X number of calls from my Asterisk host, receive X number of calls on my other SIP gateway. Calls will traverse the GSM network, always playing back the same message and information.

Final Result

Ok, so the test I devised was fairly harsh, specifically due to the fact that I left it running for 5 days !

My origination gateway had originated over 1000 calls in 5 days, sorry to say, only 500+ calls were accepted at the other side. Primary reason appears to be GSM network related and not card related – so it’s hard for me to attribute the result to a specific issue. However, in general, the card performed as I more or less expected it to perform.

Who should use this card?

If you plan to build a GSM gateway – this card isn’t for you, you need something with a bit more control and variability. For a mobile office or as a cellular backup to your PRI line in the office, this will make a nice addition, at a reasonable price range.

Overall mark: 7.5 out of 10

Open Source – What really drives it? is the desire to change and create something new? is it a firm belief in the idea that knowledge wants to be free and that software should roam the world? or when you boil down – is it just plain Ego?

I’ve been an Open Source advocate and evangelist for the better part of the last 20 years. I’ve started my days with Slackware Linux, moved to RedHat, then to Mandrake, then over to CentOS – which is now my choice of OS for the desktop and server. During these 20 years, I’ve seen various project come and go, companies rise and fall, technologies adopted and abandoned. A recent post on facebook from Dovid Bender got me thinking about this issue again:

Now, let’s put aside the grand discussion on the way the OpenSIPS project came about, their domain hijacking tactics, their overall confusion in the initial stages in regards to the difference between OpenSIP and OpenSER/Kamailio – let’s just put these apart for a second. Honestly, I can’t really tell the two apart, they use the same general configuration syntax and in most cases (over 95%), you can use the same configuration on both and it would work exactly the same. So, what does it boils down to? it boils down to Ego. Do I want to be considered traditional and stable and work with Kamailio, or would I like to be perceived as cutting-edge and work with OpenSIPS (although that isn’t true at all).

The same issue can be attributed to the ever growing battle between Asterisk and FreeSWITCH. Now, each one was built for a totally different class of operation (although, Asterisk 12 does introduce new functionality that makes it shine much harder than FreeSWITCH). People repeat the old “You’re melting our switches” FreeSWITCH urban myth, but again, I still hadn’t seen one installation that truly did everything with FreeSWITCH and is truly focused on using FreeSWITCH to leverage something else. So, if FreeSWITCH is only used as a media/application server, then I see no difference between it and Asterisk in that regard. More than that, if the added value of using FreeSWITCH is just a mere 5-10% increase in performance, it just isn’t worth my time to do so. Now, I’ve used FreeSWITCH in the past, don’t get me wrong – it’s a wonderful tool in that respect, and for Class-4 switching it is a massive tool. But when it comes to Class-5 and high-level services, sorry to say, Asterisk will always be my choice – not because it is better, not because it’s support and community is far more experienced, not because it out-performs FreeSWITCH – it will always be due to one simple reason – it is the one I know will require the less amount of ongoing support and maintenance and will bring me to my target much faster than FreeSWITCH.

A few weeks ago, I put the following status on facebook:

Now, the two have direct correlation – When a CTO/VP R&D isn’t a telecom’s guy – and he takes decisions for development of the platform – simply based upon the writings of others on the net – which is purely influenced by a religious war – he is incapable of making the right decision. Take Jajah for example, when Roman and Daniel started Jajah, they only tool they used back then with Asterisk@Home – because that’s what they had. When the company grew, they could have easily moved to new grounds – FreeSWITCH was already around. Why didn’t they? Why did Jajah remain with Asterisk – adding OpenSER/Kamailio into the mix later on? Why didn’t they move to a new platform? was it because they have loads of code developed? companies throw away code like dirty socks every other day – they had the resources. Fact remains, the service was alive for a long time, the company was bought out by Telefonica Digital at a price of $215 Million.

On the other hand, let’s take a company like Truphone (and pardon me James, I know you’re gonna kick my ass next time we meet). Truphone had changed technologies over the course of times many times. Each time, abandoning the previous tech and going for a new one. So did companies like Rebtel, Spikko, Skuku and others. Amazingly enough, none of them could be considered a massive success. Word on the market currently says that Truphone is looking for additional investors, as their existing ones aren’t willing to put in more cash. Spikko’s original model is totally gone and the company literally caved-in on itself – and same applies to many others.

So, what does it boil down to? is Asterisk better? is OpenSIPS better? – these are the wrong questions. The questions should be:

  1. Is your R&D lead actually knows the arena he’s treading in?
  2. Are your decisions based on actual investigation or just by whim?
  3. Are you completely aware of the various obstacles and challenges you’ll meet?
  4. Are you building your development and product on rapidly changing technology?
  5. Who is backing your choice? a proper business entity? or a mere group of people with an idea?

When it comes to choosing between Asterisk and FreeSWITCH, here are my reasons for choosing Asterisk over FreeSwtich any day:

  1. The ability to rapidly prototype any application is 5 times faster and 2 times more economical than FreeSWITCH
  2. The installation path for FreeSWITCH is much more complex and convoluted than Asterisk, making future maintenance a nightmare
  3. Digium is indeed a young company, but it sticks by its products and makes all efforts to make it the best it can – I always have someone to talk to
  4. Barracuda Networks is a well established company in the Storage/Security market – if you go to their website, their support for FreeSWITCH (CudaTel) isn’t there at all – does that mean something?
  5. Asterisk is a very reliable, dependable, predictable piece of code – it is something I can put my money on and know exactly what I’ll get, FreeSWITCH still isn’t