osmo-msc/openbsc
Holger Hans Peter Freyther 85d3b34ed2 nat: Introduce a prefix lookup tree (trie) for number rewriting
* It is a trie. The max depth of the trie is the length of the
longest prefix. The lookup is O(lookuped_prefix), but as the prefix
length is limited, the lookup time is constant.

* Each node can hold the entire prefix, has place for the rewrite
  rule with up to three digits.

* A trie with 20k entries will take about 3MB ram.

* Filling the trie 100 times takes ~800ms on my i7 laptop

* 10.000.000 lookups take 315ms.. (for the same prefix).

* 93/99 lines are tested, 6/6 functions are tested, 49 of 54 branches
  are tested. Only memory allocation failures are not covered

* A late addition is to handle the '+' sign and to increase the number
  of chars in the rewrite prefix. The timing/line coverage has not
  been updated after this change.
2013-07-31 16:36:40 +02:00
..
contrib Introduced support for external python tests 2013-06-24 13:22:34 +02:00
doc remove 'bind early' from osmo-bsc_mgcp example config 2013-07-21 15:52:40 +08:00
include nat: Introduce a prefix lookup tree (trie) for number rewriting 2013-07-31 16:36:40 +02:00
src nat: Introduce a prefix lookup tree (trie) for number rewriting 2013-07-31 16:36:40 +02:00
tests nat: Introduce a prefix lookup tree (trie) for number rewriting 2013-07-31 16:36:40 +02:00
tools hlrstat: Print numeric MCC/MNC in case no name is available 2010-01-01 15:08:38 +01:00
.gitignore nat: Introduce a prefix lookup tree (trie) for number rewriting 2013-07-31 16:36:40 +02:00
AUTHORS add sylvain and andreas as authors 2010-01-10 18:21:33 +01:00
COPYING License change: We are now AGPLv3+ instead of GPLv2+ 2011-01-01 15:39:34 +01:00
Makefile.am Introduced support for external python tests 2013-06-24 13:22:34 +02:00
README update README with URL of the homepage 2010-05-04 08:10:18 +02:00
configure.ac nat: Introduce a prefix lookup tree (trie) for number rewriting 2013-07-31 16:36:40 +02:00
git-version-gen automatically include program version and print it from vty and --version 2010-03-23 00:09:32 +08:00
openbsc.pc.in Install gsm_04_08.h and required headers into a openbsc/ 2010-02-16 17:51:42 +01:00
osmoappdesc.py hsl: Remove the support for the HSL bts from OpenBSC 2013-07-03 16:19:41 +02:00

README

About OpenBSC
=============

OpenBSC is a minimalistic implementation of the GSM Network, with
particular emphasis on the functionality typically provided by the BSC,
MSC, HLR, VLR and SMSC.

Its currently supported interfaces towards the BTS are:

 * Classic A-bis over E1 using a mISDN based E1 interface. In other
   words, you can connect existing GSM Base Transceiver Station (BTS)
   through E1 to OpenBSC.  So far, we have only tested the Siemens BS-11
   Test reports with other BTS are much appreciated!

 * A-bis over IP as used by the ip.access nanoBTS product family

You can find the project documentation at http://openbsc.gnumonks.org/

This project is still in its early days, and there are lots of areas where it
doesn't behave as per GSM spec.

	Harald Welte <laforge@gnumonks.org>


libosmocore
===========

Please note that as of March 2010, OpenBSC has a dependency to a library
called "libosmocore".  You can obtain that library from

	git://git.osmocom.org/libosmocore.git