Cyanogenmod for Samsung Galaxy Gio

cyanogenmodYesterday I began trying Cyanogenmod 7 for Samsung Galaxy Gio RC 3.0.

I was finding that SimpliGio+ had some weirdness where sometimes the mobile network, GPS or WiFi wouldn’t work. The only way to fix it was to restart the device. I also had some troubles with predictive text not working at all. I probably could have fixed these issues but it was a lot of fucking around and I really can’t be bothered.

So far Cyanogenmod seems to be working great and has a good set of features. For a start it is the most used unofficial firmware, and like the DD-WRT unofficial firmware for wireless routers, it supports hundreds of devices and provides a common feature set and user interface between all those devices. Cyanogenmod has even received praise for being better than factory supplied Android firmware. At present the Samsung Galaxy Gio port is not officially supported by Cyanogenmod, but I’m guessing the low price point of the Samsung Galaxy product lines will probably change that.

I didn’t have to install sipdroid as it has native VoIP. I also setup s2e with a 300MB EXT4 partition on the MicroSD card – and now magically my phone has statics of internal memory so I can install really big apps like Angry Birds. It also has OpenVPN bundled so I’ll have to play with that later.

I’ll have to blog more about Cyanogenmod after I tinker with it. I’m still yet to reflash my partners handset with it.

Clustering SIP servers with Asterisk

I’ve been considering I should make my VoIP systems more redundant. At present its just a single Asterisk installation on a Jumba Virtuzzo VPS account. While many have laughed at me for doing this, the reality is this Asterisk rig has supported about 50 users for several years with very few hiccups. If Jumba for what ever reason fall over, my pure VoIP telephone goes offline. In an ideal world I’d have auto-failover with hosting from several different providers in Sydney (so latency remains really low while redundancy is really good).

I’ve been considering how this can be pulled off, but I think playing with it over the Christmas period will be the best plan so any downtime doesn’t affect business (as business is closed anyway).

My thoughts are that multiple Asterisk installs would run with a few different tasks. One task would be SIP registration where 1 to 3 machines would continually register to SIP providers like Exetel and Pennytel, and when any inbound call is received, try to dial it locally, if not use IAX to try dialling on every other Asterisk node. Another task would be SIP registration with end users where a number of nodes would be mentioned in DNS A and SRV records.

The real magic I’ll have to work on is a macro for the Asterisk dial plan, so that we can replace Dial(SIP/somedestination) with a routine that will attempt that destination on every node in the cluster before producing a failed result. But I can’t see any reason as to why this isn’t possible.

The complicated thing with day to day administration will be duplicating the same configurations on every node in the cluster. Perhaps at a later date the development of some scripts to assist would be beneficial. Naturally I’ll be blogging about this adventure as it progresses.

Another note on VoIP – today I changed my POST 15 VoIP plan with Exetel to the $5 per month plan. I also recharged my Pennytel account and am now using Exetel as a primary provider with the alaw & ulaw codecs and Pennytel for calls to mobiles and 1300 numbers with the g729 codec. I noticed there are some decent differences in price with this operation.

Exetel’s new small business offering on Optus ADSL2+

Exetel sent me an e-mail on Wednesday about a new product they have for small businesses in areas serviced by the Optus ADSL2+ network. At the time pricing hadn’t been published however now it is.

The plans start at $59 per month and include a Netcomm device that is NBN capable, VoIP capable & has failover to Wireless Broadband with a 1GB service included in the package.


Date: Wed, 30 Nov 2011 09:30:24 +1100
Subject: New Small Business Offering
From: Exetel Agent Sales <agentsales@exetel.com.au>

We are in the late stages of offering a small business plan for those businesses that can get an Optus ADSL service.

We will base it on the Netcomm box that has both an ADSL and a fibre connection port and has the capability of housing a wireless broadband (low cost) dongle and has ATA capability built in.

The new Optus plan will be designated as B33and will provide unlimited ADSL downloads with the ability to switch to wireless if the ADSL service fails and to operate over wireless at no charge while the ADSL service is non-functional.

There will be an option to acquire the Netcomm box, dongle, SIM and VoIP handset at no upfront cost on a 12 month or 24 month plan and the ability to switch from Optus ADSL to NBNCo fibre when/if it becomes available for whatever is the, then, published NBNCo install cost with no retail markup from the NBNCo wholesale published price.

We would welcome any suggestions on how to make this business service as attractive as possible

SimpliGio+ for Galaxy GT-5660S

I’ve finally decided on a firmware for my Samsung Galaxy Gio GT-5660S. It is SimpliGio+ which sadly was the very first firmware I tried so I now have to revert back to my first firmware loading attempt.

I didn’t like GioPro because I found the ADW desktop would frequently crash.

I didn’t like Particle because WiFi didn’t work. I mean really, whats the point of buying a phone with WiFi just to disable it in software?

And I didn’t like the so called “Official Firmware” from XDA-Developers because it isn’t actually an official firmware because Samsung Kies cannot update it and the desktop frequently crashes causing application services (like sipdroid) to exit. Really annoying if you actually use VoIP like me.

SimpliGio+ is very easy to load. The best features of SimpliGio+ are the replaced boot screen animation & sound, Titanium Backup Pro included, SuperUser included, and normal components of Android (that aren’t always used) are installed optionally to save memory (you need to get this file and use Root Explorer to copy them across).

  • Get ODIN 4.42
  • Get this file
  • Extract the rar file
  • Turn on your phone by holding the volume down, home and power buttons. You should get the “Downloading…” screen. If not, you did something wrong
  • Connect your phone to your PC with the USB cable
  • Load ODIN 4.42
  • Click the OPS button and browse to GIO_v1.0.ops
  • Click the BOOT button and from the files you extracted from the rar file, select the one that begins with APBOOT
  • Click the PHONE button and select the file that begins with MODEM
  • Click the PDA button and select the file that begins with CODE
  • Click the CSC button and select the file that begins with CSC
  • Click the Start button
  • After 5 min you should have SimpliGio+ loaded onto your phone. If it doesn’t boot correctly, turn off your phone, then turn it back on by holding the home and power buttons – and perform a factory reset

Skype is not VoIP

SkypeMateDiagramI’ve had this multiple times in the past but this week I had yet another customer who purchased a USB Skype adaptor thinking that would be simple to use and would reduce their phone bills. I decided to blog about it to hopefully prevent others from making the same mistake.

Skype adaptors seem like a really good idea… provided you have no clue about VoIP.

The downfall my customer had was that they’re running Windows 7 64bit and the adaptor they purchased while it stated “Compatible with Windows 7” did not mention that the manufacturer does not release 64bit drivers. So my customer either needs to downgrade to a 32bit operating system or to get a real VoIP solution.

Thats not the start of the issues with these adaptors though. Any Internet based telephone device will require a connection to the Internet – and in short if your device connects via USB, you require your computer to be on whenever you wish to use the device.

Another downfall with Skype is interoperability. As Skype own all rights to the audio and video codecs they use, and they own all rights to the encryption technology they use, nobody knows how to communicate with Skype – other than Skype. Also if Skype for one reason or another jacked up their prices or completely disappeared, any Skype based hardware may not work with alternate services.

Finally, nobody in Australia seems to consider that Skype servers are located in America and even if you use Skype to call an Australian phone number, you may as well be making an International call (as the latency is very high).

These downfalls are quite different to the SIP based VoIP adaptors and ethernet phones I sell & support, as the solutions I push do not require a computer at all – just an ethernet connection to your broadband Internet service. It makes you wonder why and how Skype remains so popular.

VoIP in an radio broadcast environment

My article about using Linux inside an FM radio station certainly got some attention. To this day its ranked as my number one blog. I plan on revisiting that article soon as I’ve gained more knowledge and experience in this area.

Today I’m writing about using VoIP in a radio broadcasting environment and why its really awesome for a radio broadcaster over conventional PSTN lines.

A radio broadcaster will typically have 3 unusual telephone devices that most people wouldn’t need.

They’d have a “telephone interface” to connect a telephone conversation to their broadcast which has volume balance capabilities and retains a studio quality audio feed for the studio microphone (instead of phone quality). This can be replaced with a PC running a VoIP softphone and a couple hardware based audio mixers to interface the PC to the studio’s main mixing deck.

They’d also have a recording device that would also retain studio quality audio for the studio microphone so that pre-recorded interviews can be produced. This can be replaced with Asterisk’s Monitor() function without care of studio quality audio. Or, it can be replaced with a PC running a VoIP softphone capable of recording. If the VoIP softphone can’t record in high qualities, you’d just run Audacity simultaneously and later use Audacity to mix the two ends of the conversation together.

They’d also have an external broadcasting unit that uses a specialized modem to encode studio quality audio on a regular phone call so the broadcaster can broadcast outside of their studio. This can be replaced with Audio over IP technologies which are also used in STL (sometimes called STL-IP).

Typically each of these devices are worth several thousands of dollars or more and every replacement can be done entirely with free software.

On top of this, some broadcasters will also have a PBX system provided by their teleco so they can play their broadcast as music on hold and in place of ringing noises when someone calls one of their phone numbers. Asterisk of course can match this functionality.

VoIP is really beneficial for a radio broadcaster for a whole range of reasons, the main one is that expensive hardware can be replaced with free software. The low cost of computer hardware makes it possible to build redundancies into a telephone system that essentially did not have these features to start with.

So now all I’m left waiting on is board approval to begin some migrations to VoIP at my first signup. At a later time I will have to revisit this blog with some more technical detail.

Improving WiFi performance with channel selection

2.4GHzWLAN-NonOverlappingChannelsOver the weekend I had a look at my wireless routers at home because I found that within my home there were a few black spots in my own home where VoIP worked poorly.

I live practically in the middle of nowhere, there are no more than 10 WiFi routers on my street, and most of these are beyond my targeted range.

I have two wireless access points. I haven’t used WDS because one of the routers does not support it, although roaming between each AP means the DHCP server assigns the same addressing so connections are retained.

I got the Android app WiFi Analyzer while I was out walking the dogs. This app is quite handy as it illustrates the channel overlapping of WiFi routers that are in range. I immediately noticed a street away there is quite a high powered router on channel 6. Interesting because my router nearest to this router was also using channel 6 which explained the poor performance.

So I manually changed that router to channel 11 and instantly noticed the area covered by that router doubled. Quite an improvement for just channel selection.

My second router I was able to install a larger antenna which brings its EIRP up to around 3.5 watts. Its nearest to a neighbour who runs a router on channel 1. This router was using channel 2. So I manually changed the it to use channel 6. I walked down my backyard after changing this and found my whole yard (which is quite large) is covered, when before I only had half the area in coverage.

My work which is in a central business district was more challenging however. There are routers on essentially every channel (when you consider the overlap) within a 100m radius. I did however notice that nobody is actually using channel 3 but instead are on nearby channels. Because of the intense use in the area this seemed like the best pick. Changing the channel here however only made a marginal improvement.

So I suggest that anyone wanting to improve the performance of their WiFi router should look at interference from neighbouring WiFi routers and select the channel they use carefully. Also keep in mind that many WiFi routers are configured to “automatically select” the channel which does not appear to be the best configuration. Typically these routers will end up using Ch 1, 6 or 11 (and in that order of preference).

Wigle.net is another website that is for WiFi Wardriving. They have an Android app where you can contribute data, which if you donate your data to Open Street Map, can use WiFi routers to help determine locations (when GPS isn’t available?). Their maps can be used to discover neighbouring WiFi networks.

Free WiFi across the central business district?

Since I got my Android phone I’ve been adding wireless access points where possible and have noticed some trends in free Internet offered by many hotspots.

The main street of my town has almost unbroken coverage offered by various hotspots at various businesses. But why not make that uniform so users don’t have to add numerous hotspots just to get the full coverage?

So I conceived a project I will be developing.

I will at some point approach the owners of all the current hotspots offering them free assistance in operating their AP if they join my WiFi network. I will then later approach other businesses requesting they house equipment for the network and optionally provide an Internet connection for the users of the network to utilize.

The network itself will be made up of two components. WiFi hotspots and the contribution of Internet connections. Sites will be able to provide a hotspot location and may optionally contribute an Internet connection to the effort.

Essentially the hotspots will be linked in WDS so that users can roam across numerous access points without having to connect to new networks.

WiFi hotspots should be linked via an 802.11n backbone network (so a hotspot will actually run two access points).

Apon establishing a connection the user will be provided with DHCP configuration. There will be a subnet for each Internet connection contributed, with different routing. The subnet the user is placed in will be randomly allocated so that the Internet connection is randomly selected.

Initially the user will have no Internet connection. Any HTTP request will be redirected by means of a “captive portal” that will force the user to register an account which will be connected to their computer by the MAC address of their device. Once registered, the user will always be able to connect without viewing the captive portal (or maybe forced every 30 days).

A fair go policy would be enforced in the form of rate limiting by demand. Users will be able to burst at high speeds however if this is prolonged a script will begin to impose rate limiting until the high demands cease (a script I already have). Additionally the network will also offer QoS so that people who fairly use the network are also able to run latency sensitive services like VoIP.

Internet bandwidth savings will also be made by the means of transparent proxying so that all Internet traffic is forwarded via a proxy server and cached if possible.

Two things that I won’t really discuss about the program yet – how I’ll handle ACMA’s licensing, and how I can turn this project into a profitable venture for myself. But I do have ideas or solutions for both.

This project will likely take me a bit of time to fully develop.

Samsung Galaxy Gio S5660

Samsung Galaxy Gio S5660Its my birthday in just a few days and a few weeks ago I dropped my phone in the toilet. I wasn’t actually reaching for my phone at all, just a tissue, and out popped my phone. It was a Nokia 6220 Classic which these days is quite outdated.

My partner got me a new phone, a Samsung Galaxy Gio S5660 from the Optus online store. In Optus retail stores it was selling for $229 but online it was $206.10 – and ended up being even cheaper as Optus are doing a 10% discount. Shipping was really fast – arrived the very next day. As its sold as a prepaid handset it is locked to the Optus network but I’m fine with this as Optus is the only carrier I’ve ever used.

Ordered a screen protector and silicone  cover from eBay to keep it nice and scratch free. Two covers and 6 screen protectors wasn’t even $10 although I do have to wait a couple weeks as they’re coming from Hong Kong. I also need to obtain a 32GB microSD card as the Optus supplied 2GB card probably isn’t enough and the phone only has 150MB of memory.

I’ve spent the last few days toying with apps from the Android market. So far I’ve loaded 3CX Phone, Australia TV Time, ConnectBot, Dropbox, Endomondo, Facebook for Android, Flashlight, GPS Status, KeePassDroid, Skype, St George Banking App, Trapster & Weatherzone.

My partner ended up getting herself the same phone so I’ve been toying with Mumble for Android Beta and Mangler as a push to talk application as it’d be handy for communications with my partner. Unfortunately Mumble seems to exit all the time. Mangler I’m yet to test out fully.

Using VoIP over WiFi is extremely handy. At my home we don’t get enough mobile signal to make calls so by using 3CX we can at least make outbound calls and the mobiles double up as cordless phones for any inbound calls on the VoIP numbers.

Sadly with Android sync’ing to Microsoft Outlook is extremely poor. Google supply a calendar sync’ing app but there is nothing for contacts. Samsung Kies does however support sync’ing but only through a USB cable. But this is ok because the phone will charge from a USB connection so I use my PC to charge my phone instead. This feature is a plus for anyone wishing to have an Android phone and sync with Outlook – make sure you buy a Samsung.

Overall, I’m extremely impressed with Android and Samsung and would highly recommend my handset to anyone.

X-Lite/eyeBeam vs 3CX Phone

My fixed line phones are completely VoIP and no mobile network has coverage at my home. When I’m at work my work number diverts to my mobile in case I’m out of the office so I don’t miss a call – which ends up being a VoIP call. So I use VoIP just a bit.

I run a software phone on my computers however I rarely use it for calls. The primary purpose is to log the Caller IDs of inbound callers and to pop up when there is a call showing me the Caller ID (usually I’m looking at the computer screen anyway, saves diverting my focus to the phone handset).

I used to use a pirate copy of eyeBeam thinking that one day I’d play with the video support, and so that I’d get the propriety G729 codec. At the time X-Lite didn’t have video call capability and I only had 384kbit upload.

Today however X-Lite now has video capability and I have ADSL2+ and use the aLaw codec.

So I determined I have no real reason to use eyeBeam or X-Lite.

I read a forum post where someone suggested 3CX Phone. I installed it and found it quite good. I used to find both X-Lite and eyeBeam would run really slow and occupy large amounts of memory. Neither handled ACPI sleep modes that well (although 3CX only handles sleep mode marginally better).

From now on I think I’ll recommend 3CX Phone… provided the user has ADSL2+, otherwise it’ll be eyeBeam for the G729 codec.