Wednesday, September 03, 2008

Homebrew GSM with OpenBTS

Unlike most of San Francisco who was at Burning Man, I was out this last week at the Strawberry Music Festival so there was another gap between postings. There are a couple of interesting stories from Strawberry I will get into later. But for now...

I was having lunch with John Gilmore who was freshly back from Burning Man. Stories abound the festival but one that I zeroed into was the experiment of one of the camps at Burning Man to build a GSM celluar service on a Software Defined Radio (SDR). John was certainly tracking this as he help start gnuradio which is an open-source SDR package that is currently lead by Eric Blossom. Matt Ettus is a another notable as he had created the default hardware platform that Gnuradio runs on.

SDRs are radios where the hardware is designed to be very general purpose so as to receive and/or transmit many different types of modulation and frequencies. The software for SDRs do all the work of setting the frequencies and what to do with the received signals. Hence the name of Software Defined Radio where the software models a hardware design that would create a building block such as single-sideband modulation or a quadrature FM detector. As such, a critical component in an SDR is an Analog to Digital (ADC) or a Digital to Analog Converter (DAC) where the software will do all the math in the digital domain of the analog wireless signal.

What was interesting to me with this deployment was the fact that OpenBTS project built an SDR radio that would transmit and receive on cellular GSM frequencies and become a base station for GSM cell phones. Not only that, they took an open source phone switch called Asterisk and, using VoIP and the Internet connection at Black Rock City, provide cell service to the public switched telephone network PSTN.

Providing service at Burning Man was a stroke of genius as the OpenBTS folks had a great test bench of almost no existing cell coverage there and thousands of attendees that have their cell phones turned on. In fact, this test site was a bit too successful as every GSM phone tried to associate with their setup in almost an inadvertent denial of service attack. Their rig, had a hard time keeping up with the cell phone requests. After they resolved this issue, they were experimentally passing phone calls from Black Rock City off to real telephone numbers around the world.

Now, this is all fun playing with Asterisk and OpenBTS in the middle of North America where wireless phone service is taken for granted. For instance, in the United States we usually have at least two or three base wireless phone carriers providing service to an area. Although these deployments are ubiquitous in first world countries, the current cell phone tower installation is expensive and financially prohibited in deploying in third world nations or even many lightly populated areas in the US. Using Asterisk that easily replaces a 10s or 100s of thousand dollar phone switch help reduce the cost of deploying wireless cell service. In the case of the Burning Man deployment, OpenBTS was able to put a rather effective Cell site for under $5,000. With this low cost of deployment and the combination of OpenBTS and Asterisk vast areas of the earth that are not covered by phone service now could be covered by open source cell phone deployments.