2.5G – GSM and GPRS

5.0 alpha : source

New APIs and revised Layer 2 code.

4.0.0 : source | binary

Production release for 2.5G networks.

3G – UMTS

1.0 alpha : source | wiki

Initial publication.

Working on the Bleeding Edge

GitHub_Logo

You can clone latest from the repository on GitHub. Issues and Pull requests are welcome.

Follow the project on GitHub.


Changelog

Future 5.0 (GitHub master)

  • openbts
    • Event publishing framework added to NodeManager.
    • PhysicalStatus event API added which exposes SACCH meauserement report data in realtime.
    • Combination I and Combination VII counts are now automatically allocated based on number of ARFCNs configured.
    • Layer 2 architecture refactored.
    • Control channel architecture refactored.

4.0.0 (2014.03.25)

  • all components
    • New JSON management API called “NodeManager” to allow third-party applications to easily manage each component (OpenBTS, SMQueue and SIPAuthServe all speak NodeManager).
    • Binary package support added for Ubuntu 12.04.
  • openbts
    • Layer 3 completely rewritten as a proper state machine dramatically increasing performance and stability.
    • New PowerScanner application to quickly determine the cleanest ARFCNs in a given area.
  • smqueue
    • Refactored to use multiple threads and cache messages when not running. Reliable message delivery rates increased 2.5x.
  • sipauthserve
    • Refactored to use a memory database cache, resulting in a 14x higher REGISTER message processing capacity.

3.1.3.1 (2014.01.07)

  • sip programmer
    • added batch codes to support programming newer SIM card lots

3.1.3 (2013.09.27)

  • sipauthserve
    • performance: registrations-per-second capacity boosted by ~90%
    • bug fix: package installation no longer fails if registry database has an empty sip_buddies table
  • openbts
    • improvement: limit valid ARFCN choices based on currently selected radio band
    • improvement: track dropped calls with new stats counter [CLI> stats OpenBTS.GSM.CC.DroppedCalls?]
    • bug fix: correctly validate EGSM ARFCNs
  • system-configs
    • bug fix: correctly define resolvconf as a dependency
  • sip programmer
    • bug fix: correctly define pcscd as a dependency so smartcard devices are recognized out-of-the-box

3.1.2 (2013.06.20)

  • all components
    • improvement: package install scripts are more robust
    • improvement: file permissions are now automatically fixed on boot if needed
  • sipauthserve
    • improvement: automatically update database schema if needed
    • bug fix: correctly define “screen” package as a dependency
  • asterisk-configs
    • improvement: ODBC configuration now works out-of-the-box
  • asterisk
    • improvement: first appearance of this package, our fully tested build of Asterisk
  • smqueue
    • bug fix: correctly define “screen” package as a dependency
  • openbts
    • bug fix: correctly define “screen” package as a dependency

3.1.1 (2013.05.28)

  • all components
    • performance: enable high-concurrency WAL mode on sqlite3 databases by default
    • improvement: package install scripts are more robust
    • bug fix: silenced some noisy and innocuous log messages
    • bug fix: automatically retry database access when non-critical failures are encountered
    • bug fix: user customized configuration files are no longer overwritten by newer packages, a per-file choice is now presented
  • sipauthserve
    • crash fix: fail gracefully when a database query returns NULL
  • asterisk-configs
    • bug fix: incoming caller id now transmitted correctly in local mobile-to-mobile calls
    • bug fix: calling source number is now read and displayed correctly in log messages
  • openbts
    • improvement: produce a warning when GPRS is enabled on an installation incapable of GPRS
    • bug fix: no longer report “0” as an invalid value for GSM.Timer.T3212
    • crash fix: L3TI generator can no longer produce invalid values

3.1.0 (2013.05.11)

  • all components
    • Configuration schema and validation system added which allow all parameters to be sanity checked.
    • Installable binary packages for all components (Ubuntu 10.04 supported for now, more coming).
  • openbts
    • Added GPRS
    • Added audit CLI command which can check inter-parameter relationships and validate configuration.
    • Added trxfactory CLI command which can query the radio’s factory calibration and report changes.

3.0.0

  • no notes

2.9 (Plaquemine)

  • openbts
    • socket-based remote CLI

2.8 (Opelousas)

  • openbts
    • added SHA1/RSA image verification
    • move databases to /etc and /var
    • SIP-based authentication

2.7 (Natchitoches)

  • openbts
    • converted TMSITable to sqlite3 (r902)
    • sqlite3-based configuration (r???)
    • converted Logger to syslogd (r903)
    • added support for rest octets (r1022)
    • external database for transaction reporting (r1184)
    • external database for channel status reporting (r1203)
    • in-call delivery and submission of text messages (r1231)
    • RFC-2833 DMTF (r1249)

2.6 (Mamou, r886)

  • openbts
    • fixed infamous fusb bug (r582)
    • fixed idle-filling table size bug
    • smoother uplink power control
    • load-limiting downlink power control
    • new “config” features (optional, static)
    • IMEI interrogation
    • fixed MOD “missing FIFO” bug
    • configurable short code features
    • fixed transceiver startup crash (r646)
    • readline support is back
    • fixed timing advance bug (r844)
    • added CLI “chans” command
    • track time-of-use in TMSI table (r844)
    • added CLI “noise” command (r844)
    • added CLI “rxpower” command (r844)
    • added CLI “unconfig” command

2.5.4 (Lacassine, r812)

  • openbts
    • merged fixes to build under latest Fedora and to build with git GnuRadio (r814)

2.5.3 (Lacassine, r756)

  • openbts
    • merged fix for transceiver startup crash due to use of uninitialized variables (r646)
    • merged fix for fusb bug from trunk (r582)

2.5.2 (Lacassine, r630)

  • openbts
    • fixed channel assignment bug for Nokia DCT4+ handsets

2.5.1 (Lacassine, r595)

  • openbts
    • fixed some build bugs for some Linux distros

2.5 (Lacassine, r551)

  • openbts
    • imported Joshua Lackey patches
    • SIP fixes from Anne Kwong
    • SIP fixes from testing with SMS server
    • L3 TI handling fixes
    • SMS server support
    • GNU Radio 3.2 compatibility
    • configurable max range and LU-reject cause
    • “page” & “testcall” CLI features

2.4.2 (Kinder, r482)

  • openbts
    • zero-length calling party number bug
    • g++ 4.4 #includes

2.4.1 (Kinder, r462)

  • openbts
    • fixed lots of valgrind errors

2.4 (Kinder, r208)

  • openbts
    • fixed BCCH neighbor list bug
    • support for neighbor lists
    • fixed support for non-local Asterisk servers
    • cleaner configuration management
    • more realtime control of BCCH parameters
    • proper rejection of Hold messages
    • fixed L3 hanging bug in MTDCheckBYE

2.3 (Jean Lafitte, r190)

  • openbts
    • check for out-of-date RACH bursts
    • better TRX-GSM clock sync
    • formal logging system
    • command line interface
    • emergency call setup

2.2 (Houma, r122)

  • openbts
    • added LEGAL notice
    • removed Assert classes
    • stop paging on page response
    • fixed Pager-spin bug
    • fixed Transceiver spin bugs
    • fixed 2^32 microsecond rollover bug
    • reduced stack footprints in Transceiver
    • fixed SMS timestamps
    • check LAI before using TMSI in LUR
    • reduced memory requirement by 75%
    • removed PagerTest
    • fixed stale-transaction bug in paging handler
    • fixed USRP clock rollover bug
    • faster call connection
    • new USRPDevice design

2.1 (Grand Coteau, r70)

  • openbts
    • DTMF support
    • fixed more Linux-related build errors: -lpthread, TLMessage constructor
    • expanded stack to prevent overflows in Linux
    • moved gSIPInterface to main app
    • fixed iterator bug in Pager

2.0 (St. Francisville, r54)

  • openbts
    • SMS support
    • file-based configuration

1.6 (New Iberia, r130)

  • openbts
    • import of all 2.2 improvements to non-SMS release

1.5 (Eunice, r39)

  • openbts
    • fixed L2 bugs related to segmentation
    • removed incomplete SMS directory
    • moved “abort” calls into L3 subclasses

1.4 (Donaldsonville, r23)

  • openbts
    • fixed Ubuntu build error

1.3 (Carencro, r1)

  • openbts
    • first post-injunction release

1.2 (Breaux Bridge, r10088)

  • openbts
    • GNU Build, very early assignment

1.1 (Arnaudville, r10019)

  • no notes

1.0

  • openbts
    • completed L1, L2