Project

General

Profile

Schnellanleitung

Alle Befehle, die in der Konsole eingetragen werden sind fett geschrieben

Notwendige Pakete

vor Beginn der eigentlichen Installation müssen folgende Pakete unter Ubuntu eingerichtet werden:

  • linux-source (Linux header für mISDN Treiber)
  • build-essential
  • autoconf
  • automake
  • libtool
  • libgsm1-dev
  • libdbi0-dev
  • libdbd-sqlite3
  • git-core (Git repositories)
  • asterisk (sofern eine Konnektivität nach außen gewünscht wird)
  • asterisk-dev (sofern asterisk gewünscht wird)
  • ncurses-base
  • libncurses5-dev
  • libncursesw5-dev
  • sqlite3 (HLR: Datanbank für das GSM-Netz)

Alles in Allem:
sudo apt-get install linux-source build-essential autoconf automake libtool libgsm1-dev libdbi0-dev libdbd-sqlite3 git-core asterisk asterisk-dev ncurses-base libncurses5-dev libncursesw5-dev sqlite3

Linux Source entpacken

Die Linux Sourcen landen durch apt-get install als Archiv auf der Festplatte und müssen noch entpackt werden:

cd /usr/src Source Verzeichnis
sudo tar xvfj linux-source-2.6.xx.tar.bz2 Linux Source entpacken
cd linux-source-2.6.xx ins entpackte Verzeichnis gehen
sudo make oldconfig Einstellungen der aktuellen Kernels übernehmen um dami die Sourcen entsprechend zu konfigurieren.

Nun den fertigen Kernel noch am richtigen Ort verlinken:
cd /lib/modules/2.6.32-xx-generic/
sudo ln -s /usr/src/linux-source-2.6.xx source

Die Kernelsourcen sind nun fertig.

Git repositories laden

ein Verzeichnis erstellen, z.B.
mkdir ~/openbsc
cd ~/openbsc
In diesem Verzeichnis können nun die Sourcen für OpenBSC, LCR und mISDN geladen werden:
git clone git://git.misdn.org/git/mISDN.git/
git clone git://git.misdn.org/git/mISDNuser.git/
git clone git://git.osmocom.org/libosmocore.git
git clone git://bs11-abis.gnumonks.org/openbsc.git
git clone git://git.misdn.org/git/lcr.git/

mISDN installieren

cd mISDN ins mISDN Verzeichnis wechseln
./configure Configure Skript laufen lassen
cp mISDN.cfg.default standalone/mISDN.cfg unnötig, falls keine weiteren Einstellungen an standalone/mISDN.cfg vorgenommen werden (Module anpassen, deaktivieren,...). Wichtig ist das l1loop Interface
make modules Kompilieren
sudo make modules-install Module in den Kernel installieren
depmod -A verfügbare Module neu suchen (damit mISDN_l1loop bekannt wird)

nun fehlt noch der mISDN_User Teil. Dieser sollte problemlos durchlaufen.
cd ../mISDNuser
./configure
make
sudo make install

die mISDN Treiber lädt man mit folgenden Kommandos:
sudo modprobe mISDN_core
sudo modprobe mISDN_dsp
sudo modprobe mISDN_l1loop pri=1 nchannel=20

libosmocore installieren

bevor OpenBSC komiliert, muss libosmoocre installiert werden:
cd ../libosmocore
git checkout <Version> siehe libosmocore für kompatible Version
autoreconf -i
./configure
make
sudo make install
sudo ldconfig Bibliotheken Cache erneuern

OpenBSC installieren

nun kann OpenBSC kompiliert werden
cd ../openbsc
git checkout <Version> siehe OpenBSC für kompatible Version
autoreconf -i
./configure
make Die kompilierten Dateien sind im Unterverzeichnis /src

LCR installieren

LCR benötigt zur Kompilierung zwei Softlinks auf OpenBSC und Libosmocore
Zusätzlich war in der von uns verwendeten Version ein Patch notwendig, der auf dem OpenBSC Trac verfügbar ist.
cd ../../lcr
git checkout <Version> siehe LCR für kompatible Version
ln -s ../libosmocore/ . Link zu osmocore erstellen
ln -s ../openbsc/openbsc/ . Link zu OpenBSC erstellen
wget http://openbsc.osmocom.org/trac/raw-attachment/wiki/OpenBSC_LCR/lcrOpenBSC.patch Patch holen
sh autogen.sh
git apply --verbose lcrOpenBSC.patch Patch anwenden
./configure --prefix=/opt/lcr --with-asterisk --with-gsm-bs LCR mit Asteriskmodul und OpenBSC-Anbindung konfigurieren
vim gsm_bs.cpp: In Zeile 60: PACKAGE_VERSION zu "1.7" ändern Inkompatibilität lösen
make
sudo make install

LCR einrichten

der Einfachheit wegen die OpenBSC Konfigurationsdatei und hlr.sqlite3 ins LCR Verzeichnis kopieren (z.B.: openbsc.config.nanobts)

GSM aktivieren und Asterisk rechte setzen:
cd /usr/local/lcr
sudo vim options.conf Folgendes auskommentieren:
socketuser asterisk
socketgroup asterisk
GSM

GSM aktivieren
sudo vim interface.conf Die erste [GSM] Sektion einkommentieren (gesamter Block)
folgende Ziele hinzufügen:
"extern"

OpenBSC Umgebung einstellen
sudo vim gsm.conf
Beide "interface" Zeilen einkommentieren
Debugzeile einkommentieren (mehr Konsolenausgabe)
config "/usr/local/lcr/openbsc.cfg.nanobts" auf OpenBSC Konfigurationsdatei verweisen
Ebenso die hlr.sqlite richtig angeben und einkommentieren

Gespräche in Asterisk leiten:
sudo vim routing.conf
unter [main] folgende Zeile hinzufügen:
"interface=GSM remote=asterisk : remote application=asterisk context=btsctrl" Alle Gespräche, die über GSM kommen, fallen in den Asterisk

Asteriskmodul laden:
sudo vim /etc/asterisk/modules.conf
Unter [modules] folgende Zeile hinzufügen:
"load => chan_lcr.so"