The OpenBTS project - an open-source GSM basestation using the USRP and VoIP

Hi all,

I wanted to introduce a new open-source project we’ve created, the
openBTS project.

The Open BTS Project is an effort to construct an open-source Unix
application that uses the USRP to present a GSM air interface (“Um”) to
a standard GSM handset and uses the Asterisk software PBX to connect
calls. The combination of the ubiquitous GSM air interface with VoIP
backhaul could form the basis of a new type of cellular network that
could be deployed and operated at substantially lower cost than existing
technologies in greenfields in the developing world.

Please take a look at

We recently took our existing code to Burning Man 2008, and we were able
to successfully operate as a GSM basestation.

We’ll be releasing portions of the code and architecture in the next
several weeks, and we’re looking to recruit contributors to the project.
Hopefully, with a community effort, we’ll have a more robust, elegant
system. Any questions or comments can be sent [email protected]
or [email protected]

Thanks to the USRP and gnuradio projects and communities for helping us
make this possible!

— Harvind Samra

On Wed, Sep 03, 2008 at 07:42:56PM -0700, Harvind Samra wrote:

could be deployed and operated at substantially lower cost than existing
several weeks, and we’re looking to recruit contributors to the project.
Hopefully, with a community effort, we’ll have a more robust, elegant
system. Any questions or comments can be sent [email protected]
or [email protected]

Thanks to the USRP and gnuradio projects and communities for helping us
make this possible!

— Harvind Samra

It’s great that you had it working out on the playa.

Is there any particular reason you’re not releasing the code now?
We don’t mind looking at code that’s not finished.

Are you planning on releasing all of the code?
If not, why are you calling yourselves the OpenBTS project?
If yes, now’s a good time :slight_smile:

Eric

Eric,

We’ll still organizing the code so that it makes sense, and we’re still
recovering from the last few weeks and our time in Black Rock City.

For several reasons, there are portions of our current implementation of
GSM layers 1 and 2 that we can’t release at this time. These portions
can be easily replaced by an open-source effort in just a matter of
weeks as they are strictly defined by the GSM specification. Plus, the
open-source code would likely be far better and extensible that what
we’ve written.

Other than that, we will release all of the code that we have.

— Harvind

On Wed, Sep 03, 2008 at 08:55:32PM -0700, Harvind Samra wrote:

we’ve written.

Other than that, we will release all of the code that we have.

— Harvind

OK.

Looking forward to seeing what you’ve got.

Eric

Eric -

Here’s what can be released now:

– The GMSK radiomodem and its interface to the USRP. (GSM 05.01,
05.04, 05.05)
– The interface between the GMSK radiomodem and the rest of the GSM
stack.
– The FEC coders and decoders used in GSM 05.03. (Already in CVS,
BTW.)
– Most of the TMDA functions of GSM 05.02.
– Serializers and deserializers for L3 messages. (GSM 04.08)
– The hybrid GSM/SIP control layer. (GSM 04.08, ITU-T Q.931, IETF
RFC-3261, IETF RFC-3550)
– An incomplete SMS stack.

What’s missing:

– Parts of the TDMA (GSM 05.02). This can all be done with tables
and isn’t that complex.
– The code to organize the FEC components into actual L1 channels
(defined in GMS 05.03). This is straightforward, though, and we will
publish some base-class examples. Once you have the framework in
place, this stuff almost writes itself.
– GSM L2, LAPDm, is defined in GSM 04.06. It borrows heavily from
ISDN LAPD (ITU-T Q.921). Both LAPDm and LAPD are subsets of HDLC.
We will publish a initial .h object framework. There is also an open-
source ISDN LAPD implementation that makes a useful reference. Our
current LAPDm is less than 500 lines of code, so replacing it should
not be a huge chore, especially with a .h object framework and
example LAPD as a starting point.

I’m sorry to sound coy about this. It would simply not be prudent to
release some of this code into the public right now and it might take
over a year for that situation to be resolved. We don’t want to wait
another year so we’re releasing what we can and hoping enough
interested people get involved to replace what’s missing.

– David

On Sep 3, 2008, at 11:52 PM, Eric B. wrote:

By GSM layers 1 and 2, do you mean all of GSM 05.*? (or more or less?)


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page

David A. Burgess
Kestrel Signal Processing, Inc.

On Wed, Sep 03, 2008 at 11:29:50PM -0700, Eric B. wrote:

open-source code would likely be far better and extensible that what
Eric
By GSM layers 1 and 2, do you mean all of GSM 05.*? (or more or less?)

On Thu, Sep 04, 2008 at 09:56:18AM -0700, David B. wrote:

– Serializers and deserializers for L3 messages. (GSM 04.08)
– The hybrid GSM/SIP control layer. (GSM 04.08, ITU-T Q.931, IETF
RFC-3261, IETF RFC-3550)
– An incomplete SMS stack.

That’s great. Thanks for being explicit.

Will this be licensed under the GPL?

publish a initial .h object framework. There is also an open-source ISDN
LAPD implementation that makes a useful reference. Our current LAPDm is
less than 500 lines of code, so replacing it should not be a huge chore,
especially with a .h object framework and example LAPD as a starting point.

Very good.

I’m sorry to sound coy about this. It would simply not be prudent to
release some of this code into the public right now and it might take over
a year for that situation to be resolved. We don’t want to wait another
year so we’re releasing what we can and hoping enough interested people get
involved to replace what’s missing.

I can understand that. Thanks for being forthright about the situation.

Eric

How do you implement your energy detector to detect the bursts?
Also, on your website, you say you can process 7 calls simultaneously on
the
MacBook…Are all these calls on 1 ARFCN? (ie you have 7 of the time
slots
simultaneously filled).

What code/algorithm are you using for the GSM demodulator? Is it the one
written in the GNU Radio software?

Isaac

View this message in context:
http://www.nabble.com/The-OpenBTS-project---an-open-source-GSM-basestation-using-the-USRP-and-VoIP-tp19302323p19319860.html
Sent from the GnuRadio mailing list archive at Nabble.com.