Project

General

Profile

Libosmo-abis » History » Version 12

laforge, 07/25/2022 08:47 AM
gitea

1 1 laforge
h1. libosmo-abis
2 3 laforge
3 4 fixeria
{{>toc}}
4 3 laforge
5 6 fixeria
h2. General description
6
7 5 fixeria
This is a library containing common/shared code regarding the A-bis interface between BTS and BSC.
8 1 laforge
It implements drivers for mISDN and DAHDI based E1 cards, as well as some A-bis/IP dialects.
9 10 laforge
10
11
{{graphviz_link()
12
digraph G{
13
  //rankdir = LR;
14
  Application -> loa;
15
  loa -> mISDN;
16
  loa -> DAHDI;
17
  loa -> e1d;
18
  loa -> IPA;
19
20
  mISDN -> HW;
21
  DAHDI -> HW;
22
  e1d -> HW;
23
  IPA -> IP;
24
  e1d -> vpair;
25
26
  HW -> BTS;
27
  IP -> BTS;
28
  
29
  Application [label="Application\nosmo-nitb / osmo-bsc"];
30
  e1d [label="osmo-e1d"];
31
  loa [label="libosmo-abis\ne1_input"];
32
  IP [label="Abis/IP"];
33
  HW [label="E1 Hardware"];
34
  vpair [label="Virtual E1 pair"];
35
}
36
}}
37
38
39
40
41 7 laforge
h2. Preconditions 
42 1 laforge
43 7 laforge
To compile libosmo-abis you will need the following tools:
44 1 laforge
45 7 laforge
<pre>
46
sudo apt-get install build-essential libtool libortp-dev dahdi-source libsctp-dev shtool autoconf automake git-core pkg-config make gcc
47
</pre>
48
49
50
h2. Obtaining it
51
52 6 fixeria
To obtain libosmo-abis, you can use the following git URL:
53 1 laforge
54 3 laforge
<pre>
55 12 laforge
git clone https://gitea.osmocom.org/osmocom/libosmo-abis.git
56 1 laforge
</pre>
57
58 12 laforge
59 7 laforge
h2. Compiling and installing it
60
61
To compile and install it as standalone:
62
<pre>
63
cd libosmo-abis/
64
autoreconf -i
65
./configure
66
make
67
sudo make install
68
sudo ldconfig -i
69
cd ..
70
</pre>
71
72
73
h2. Licensing
74
75
This library is GPL licensed. This means you *cannot use this library from non-GPL licensed code without infringing copyright!
76
77
78 1 laforge
h2. Browsing its source code
79 7 laforge
80 12 laforge
You can do that using our gitea installation at https://gitea.osmocom.org/osmocom/libosmo-abis
81 7 laforge
82 3 laforge
h2. Input Drivers
83 2 laforge
84
There are currently the following input drivers available:
85
86 3 laforge
h3. misdn
87 1 laforge
88 3 laforge
This input driver supports the mISDN code as it is present in mainline linux-2.6 kernels.
89
90 1 laforge
It uses the in-kernel LAPD implementation, and is thus bound to some restrictions.  Specifically,
91 2 laforge
you can only have one signalling timeslot (D-channel) in every E1 line, which may cause problems
92 1 laforge
with multi-BTS or multi-TRX setups (particularly in the case of Nokia A-bis)
93 5 fixeria
94
You have to configure which E1 timeslot is to be used for signalling by module parameters, e.g.
95 3 laforge
96 1 laforge
<pre>
97 3 laforge
modprobe hfcmulti dslot=1
98 2 laforge
</pre>
99 5 fixeria
100 1 laforge
will configure TS1 as signalling.
101 3 laforge
102
h3. misdn_lapd
103 1 laforge
104
This input driver supports the mISDN code as it is present in mainline linux-2.6 kernels.
105
However, unlike the "misdn" driver, it runs LAPD in userspace, as part of libosmo-abis.
106 2 laforge
107 5 fixeria
In order to be able to use it, you will need to make sure the mISDN kernel driver does not
108
configure any timeslot to signalling, e.g.
109 1 laforge
110 2 laforge
<pre>
111 1 laforge
modprobe hfcmulti dslot=-1
112 3 laforge
</pre>
113 5 fixeria
114 2 laforge
(notice the "-" in front of 1 to indicate "no signalling timeslot").
115
116
h3. dahdi
117 3 laforge
118
This driver supports the DAHDI (formerly known as zaptel) out-of-tree drivers for e.g.
119
the various Digium and Digium compatible E1/T1/J1 cards.
120 2 laforge
121 1 laforge
h3. ipa
122 2 laforge
123 7 laforge
This implements A-bis over IP, as implemented by ip.access nanoBTS as well as all BTSs running [[OsmoBTS:]].
124 3 laforge
125
h3. hsl
126 2 laforge
127
Experimental driver for support of the [HSL_Femto]
128 8 laforge
129 9 laforge
h3. e1d
130
131
This driver supports [[osmo-e1d:]], the software-defined E1 inplementation of Osmocom.
132
133
osmo-e1d in turn supports the Osmocom open hardware ICE40 FPGA core, as well as virtual E1 loops for testing ([[osmo-e1d:vpair]]).
134
135 11 laforge
*You must build with @./configure --enable-e1d@ to support this driver*
136 9 laforge
137
{{include(cellular-infrastructure:MacroCommercialSupport)}}
Add picture from clipboard (Maximum size: 48.8 MB)