h1. The OpenBTS Wiki Subspace !>http://gnuradio.org/redmine/attachments/118/openbts-logo.png! OpenBTS is an open-source Unix application that uses the Universal Software Radio Peripheral (USRP) to present a "GSM air interface ("Um")":http://en.wikipedia.org/wiki/Um_Interface to standard GSM handset and uses the "Asterisk software PBX":http://en.wikipedia.org/wiki/Asterisk_(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. In plain language, we are working on a new kind of cellular network that can be installed and operated at about 1/10 the cost of current technologies, but that will still be compatible with most of the handsets that are already in the market. This technology can also be used in private network applications (wireless PBX, rapid deployment, etc.) at much lower cost and complexity than conventional GSM. The pages are organized here by topic area. If you have something useful to add, please do so. To edit the wiki, you can "register an account":http://gnuradio.org/redmine/account/register or use "guest" as a user name, and "gnuradio" as the password. h2. Source Code Grab the project source code via svn: *We are in the process of moving to git and will update these instructions when that is complete. For now, you can check out this code from svn, but probably won't be able to update it later. -- 4 Jan 2010.*
svn co http://gnuradio.org/svn/openbts/trunk/openbtsor
svn co http://gnuradio.org/svn/openbts/branches/releases/xxwhere "xx" is the latest release number. h2. Project Background * [[OpenBTS/Background]]. Background information about the OpenBTS project and its long-term goals. * [[OpenBTS/Plan]]. Current status and plans for the next few months. * [[OpenBTS/FAQ]]. The general project FAQ. h2. Working with OpenBTS h3. I Want to Run OpenBTS! * [[OpenBTS/Releases]]. Where to get OpenBTS and what's in each release. * [[OpenBTS/BuildingAndRunning]]. How to build and run the OpenBTS and Transceiver applications. * "Tickets":http://sourceforge.net/apps/trac/openbts/report/1. OpenBTS still keeps its ticket-tracker outside of the GNU Radio system. We really do use this and try to keep it up to date. * [[OpenBTS/smqueue]]. How to build and run the smqueue RFC-3428 store and forward server, our SMSC replacement. * [[OpenBTS/support]]. Where to get help. h3. PBX Configurations OpenBTS replies on an external SIP PBX for its call switching functions. h4. Asterisk * [[OpenBTS/SettingUpAsterisk]]. How to configure Asterisk to work with OpenBTS and smqueue. * [[OpenBTS/Asteriskscript]]. A hostdesking dialplan that seperates SIP entries and actual phonenumbers and maximize flexibility, security and ease. However, this configuration is not compatible with smqueue. * [[OpenBTS/The use of autocreatepeer=yes]]. A line in /etc/asterisk/sip.conf in the [general] part that enables acceptance of any registration attempt of any SIP User Agent. h4. FreeSWITCH * [[OpenBTS/SettingUpFreeSWITCH]]. How to configure FreeSWITCH to work with OpenBTS h3. OpenBTS Hardware and Testing h4. General * [[OpenBTS/DesktopTestingKit]]. What you need and what you need to know for testing. * [[OpenBTS/MS_Camping]]. The cell requirements to allow mobile station camping and some tips on getting your test phones to camp. h4. Phones * [[OpenBTS/Compatibility]]. Phones known to work or not to work with OpenBTS. All phones ''should'' work, so this is debugging data. Please update this with your own discoveries. * [[OpenBTS/NokiaDCT3]]. Why we love Nokia DCT-3 series handsets. h4. Clocks * [[OpenBTS/Clocks]]. Comments on BTS clock quality and clock-related BTS bugs. * [[OpenBTS/ClockModifications]]. How to use an external 52MHz clock. Hardware and software instructions. * [[OpenBTS/ClockCalibration]]. How to calibrate USRP clock or check possible offset. h2. The Burning Man Tests We use the "Burning Man":http://www.burningman.com festival as an opportunity to run test networks. h3. 2009 * http://openbts.sourceforge.net/FieldTest2/index.html. A collection point for write-ups and links. * [[OpenBTS/BM2009RF]]. The BM 2009 analog paths. We're getting better at this. It's amazing what you can do with better planning and a little more money. h3. 2008 * http://openbts.sourceforge.net/FieldTest/index.html. A write-up of the now-kinda-famous Burning Man 2008 field test. * [[OpenBTS/BM2008RF]]. The kludged up playa rig. Professional RF engineers, please promise not to laugh. h2. GSM General Information * "The Um Interface":http://en.wikipedia.org/wiki/Um_Interface. This is an overview of the GSM air interface, Um. This was originally going to be part of the OpenBTS documentation, but we put it in Wikipedia because it may be of interest to a wider audience. '''You need to understand this to understand most of the code in the GSM directory.''' * BTS Design and Network Management Considerations ** [[OpenBTS/MS_Camping]]. The cell requirements to allow mobile station camping and some tips on getting your test phones to camp. ** [[OpenBTS/Clocks]]. Comments on BTS clock quality and clock-related BTS bugs. * [[OpenBTS/The_Standard_Links]] * [[OpenBTS/Reading_The_Standard]]. Recommendations for newcomers. h2. GSM For Dummies - Comprehensive introduction into GSM from www.gsmfordummies.com. * [[OpenBTS/Introduction To GSM]] * [[OpenBTS/Network Architecture]] * [[OpenBTS/Time Division Multiple Access (TDMA)]] * [[OpenBTS/Logical Channels]] * [[OpenBTS/Authentication And Encryption]] * [[OpenBTS/Timing Advances]] * [[OpenBTS/Speech Coding]] * [[OpenBTS/GSM Events]] h2. OpenBTS Software Implementation * http://openbts.sourceforge.net/dox_html. The Doxgen-generated guide to the source code. * [[OpenBTS/IdleFilling]]. GSM idle-filling requirements and how OpenBTS implements them. * [[OpenBTS/SMS]]. The specs for SMS and how we will use them. * [[OpenBTS/Mobility]]. Mobility management processes. * [[OpenBTS/MTC]]. The most complex transaction we do so far. * [[OpenBTS/Profile]]. Where the computrons are going. h2. OpenBTS Hardware Implementation * [[OpenBTS/BM2008RF]] Burning Man 2008 RF Chains. The kludged up playa rig. Professional RF engineers, please promise not to laugh. * [[OpenBTS/BM2009RF]] Burning Man 2009 RF Chains. We're getting better at this. It's amazing what you can do with better planning and a little more money. * [[OpenBTS/Clocks]]. Comments on BTS clock quality and clock-related BTS bugs. h2. OpenBTS Network Integration Scenarios * [[OpenBTS/NetworkIntegration/Independent]]. Setting up a system that provides roaming to standard GSM without cooperation of the GSM carrier. h2. Miscellany * [[OpenBTS/Logo]] * OpenBTS is a registered trademark of Kestrel Signal Processing, Inc.