Libosmo-abis » History » Version 10
laforge, 07/02/2020 09:17 AM
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 | git clone git://git.osmocom.org/libosmo-abis.git |
||
56 | 1 | laforge | </pre> |
57 | |||
58 | 7 | laforge | h2. Compiling and installing it |
59 | |||
60 | To compile and install it as standalone: |
||
61 | <pre> |
||
62 | cd libosmo-abis/ |
||
63 | autoreconf -i |
||
64 | ./configure |
||
65 | make |
||
66 | sudo make install |
||
67 | sudo ldconfig -i |
||
68 | cd .. |
||
69 | </pre> |
||
70 | |||
71 | |||
72 | h2. Licensing |
||
73 | |||
74 | This library is GPL licensed. This means you *cannot use this library from non-GPL licensed code without infringing copyright! |
||
75 | |||
76 | |||
77 | h2. Browsing its source code |
||
78 | |||
79 | You can do that using our cgit installation at http://cgit.osmocom.org/libosmo-abis/ |
||
80 | |||
81 | 3 | laforge | h2. Input Drivers |
82 | 2 | laforge | |
83 | There are currently the following input drivers available: |
||
84 | |||
85 | 3 | laforge | h3. misdn |
86 | 1 | laforge | |
87 | 3 | laforge | This input driver supports the mISDN code as it is present in mainline linux-2.6 kernels. |
88 | |||
89 | 1 | laforge | It uses the in-kernel LAPD implementation, and is thus bound to some restrictions. Specifically, |
90 | 2 | laforge | you can only have one signalling timeslot (D-channel) in every E1 line, which may cause problems |
91 | 1 | laforge | with multi-BTS or multi-TRX setups (particularly in the case of Nokia A-bis) |
92 | 5 | fixeria | |
93 | You have to configure which E1 timeslot is to be used for signalling by module parameters, e.g. |
||
94 | 3 | laforge | |
95 | 1 | laforge | <pre> |
96 | 3 | laforge | modprobe hfcmulti dslot=1 |
97 | 2 | laforge | </pre> |
98 | 5 | fixeria | |
99 | 1 | laforge | will configure TS1 as signalling. |
100 | 3 | laforge | |
101 | h3. misdn_lapd |
||
102 | 1 | laforge | |
103 | This input driver supports the mISDN code as it is present in mainline linux-2.6 kernels. |
||
104 | However, unlike the "misdn" driver, it runs LAPD in userspace, as part of libosmo-abis. |
||
105 | 2 | laforge | |
106 | 5 | fixeria | In order to be able to use it, you will need to make sure the mISDN kernel driver does not |
107 | configure any timeslot to signalling, e.g. |
||
108 | 1 | laforge | |
109 | 2 | laforge | <pre> |
110 | 1 | laforge | modprobe hfcmulti dslot=-1 |
111 | 3 | laforge | </pre> |
112 | 5 | fixeria | |
113 | 2 | laforge | (notice the "-" in front of 1 to indicate "no signalling timeslot"). |
114 | |||
115 | h3. dahdi |
||
116 | 3 | laforge | |
117 | This driver supports the DAHDI (formerly known as zaptel) out-of-tree drivers for e.g. |
||
118 | the various Digium and Digium compatible E1/T1/J1 cards. |
||
119 | 2 | laforge | |
120 | 1 | laforge | h3. ipa |
121 | 2 | laforge | |
122 | 7 | laforge | This implements A-bis over IP, as implemented by ip.access nanoBTS as well as all BTSs running [[OsmoBTS:]]. |
123 | 3 | laforge | |
124 | h3. hsl |
||
125 | 2 | laforge | |
126 | Experimental driver for support of the [HSL_Femto] |
||
127 | 8 | laforge | |
128 | 9 | laforge | h3. e1d |
129 | |||
130 | This driver supports [[osmo-e1d:]], the software-defined E1 inplementation of Osmocom. |
||
131 | |||
132 | osmo-e1d in turn supports the Osmocom open hardware ICE40 FPGA core, as well as virtual E1 loops for testing ([[osmo-e1d:vpair]]). |
||
133 | |||
134 | |||
135 | {{include(cellular-infrastructure:MacroCommercialSupport)}} |