Project

General

Profile

Community TDMSS7 Network » History » Version 27

laforge, 12/02/2023 10:18 AM

1 6 laforge
{{>toc}}
2
3 1 laforge
h1. Community TDM/ISDN/SS7 Network
4
5 26 laforge
This wiki page describes a community TDM/ISDN/SS7 network, enabling retronetworking enthusiasts around the world to interconnect their TDM equipment, such as PBXs, telephony switches, RAS servers, access multiplers, digital switches, etc.
6 1 laforge
7 2 laforge
For classic analog telephones, there is the C*NET (https://www.ckts.info/).  This is basically the same idea but for one later generation of technology: Digital TDM/PDH/ISDN/SS7 networks.  And of course one can connect analog telephone/modem equipment via ISDN/SS7, if that is desired.
8 1 laforge
9 18 manawyrm
h2. Current Network
10 17 laforge
11 20 laforge
The network has a number of additional participants by now, but the general principle looks the same, updating the graph with every participant would make it rather complex without immediate gain:
12
13 17 laforge
{{graphviz_link()
14
graph G {
15
  newrank=true;
16
  divo [shape=house,label="Central Office\nyate + TE820"];
17
  subgraph cluster_1 {
18
    label="@laforge / Berlin";
19
    uei1a [label="ISDN Phone"];
20
    uea1a [label="Analog Phone"];
21
    ues1a [label="SIP Phone"];
22
    pbx1a [label="Auerswald COMmander\nBasic 2 PBX"];
23
    pm3a [label="Livingston\nPortmaster 3\nRAS Server"];
24
    ice1a [shape=box3d,label="icE1usb\nGPS-DO\nosmo-e1d"];
25
    uei1a -- pbx1a [label="ISDN\nBRI"];
26
    uea1a -- pbx1a [label="POTS"];
27
    pbx1a -- divo [label="ISDN\nPRI"];
28
    pm3a -- divo [label="ISDN\nPRI"];
29
    ice1a -- divo [label="ISDN\nPRI"];
30
    ues1a -- divo [label="SIP"];
31
  }
32
33
  subgraph cluster_2 {
34
    label="@manawyrm / Kiel";
35
    ue2a [label="ISDN Phone\n"];
36
    pbx2 [label="Auerswald COMmander\nBasic 2 PBX"];
37
    ice2 [shape=box3d,label="icE1usb\nGPS-DO\nosmo-e1d\n"];
38
    ue2a -- pbx2 [label="ISDN\nBRI"];
39
    pbx2 -- ice2 [label="ISDN\nPRI"];
40
  }
41 19 laforge
42
  subgraph cluster_3 {
43
    label="@roox / Franconia";
44
    pbx3 [label="Auerswald COMmander\nBasic 2 PBX"];
45
    ice3 [shape=box3d,label="icE1usb\nGPS-DO\nosmo-e1d\n"];
46
    ue3a -- pbx3 [label="ISDN\nBRI"];
47
    pbx3 -- ice3 [label="ISDN\nPRI"];
48
  }
49
50
  subgraph cluster_4 {
51
    label="@gruetzkopf";
52
    pbx4 [label="PBX"];
53
    ice4 [shape=box3d,label="icE1usb\nGPS-DO\nosmo-e1d\n"];
54
    ue4a -- pbx4 [label="ISDN\nBRI"];
55
    pbx4 -- ice4 [label="ISDN\nPRI"];
56
  }
57
58 17 laforge
  internet [shape=hexagon,label="Public Internet"];
59
  cnet [shape=hexagon,label="C*NET"];
60
  ice1a -- internet [label="OCTOI\nTDMoIP"];
61
  ice2 -- internet [label="OCTOI\nTDMoIP"];
62 19 laforge
  ice3 -- internet [label="OCTOI\nTDMoIP"];
63
  ice4 -- internet [label="OCTOI\nTDMoIP"];
64 17 laforge
  divo -- cnet [label="IAX2"];
65
}
66
}}
67
68 21 laforge
h2. How to contact us
69 1 laforge
70 25 laforge
h3. Forum
71
72
We now have a "Retronetworking Forum on discourse.osmocom.org":https://discourse.osmocom.org/c/retronetworking/13 - feel free to register an account, introudce yourself and join the discussion.
73
74 21 laforge
h3. Mailing List
75 1 laforge
76 25 laforge
We have a (rarely used) public "mailing list":https://lists.retronetworking.org/postorius/lists/octoi.lists.retronetworking.org/ for discussion among interested parties. The list has a public "archive":https://lists.retronetworking.org/hyperkitty/list/octoi@lists.retronetworking.org/
77 1 laforge
78 21 laforge
Don't be surprised by the lack of traffic on the ML, almost all communication happens on the IRC channel
79 3 laforge
80 21 laforge
h3. IRC Channel
81 3 laforge
82 22 laforge
A lot of us are hanging out on the @#retronetworking@ IRC channel on libera.chat. If you don't know much about "IRC":https://en.wikipedia.org/wiki/IRC, feel free to use the provided "webchat":https://web.libera.chat/ interface
83 3 laforge
84 21 laforge
h2. Underlying Protocol / Hardware
85 1 laforge
86 21 laforge
The underlying transport protocol is being designed around the wiki page [[e1-t1-adapter:Proposed_efficient_TDMoIP]].  The initial hardware implementation is an [[e1-t1-adapter:icE1usb]] attached to some kind of [embedded] Linux sytem like a Raspberry Pi.  The unique property about the icE1usb is that it contains a GPS-DO to ensure the same clock reference is used in all locations.
87 1 laforge
88
h2. Services
89
90 21 laforge
h3. ISDN PRI (available)
91 1 laforge
92 21 laforge
ISDN (Q.921/Q.931) permit to connect equipment like PBXs.   The hub offers the NT / central office function, while the client side implements the TE function.
93 1 laforge
94 21 laforge
A user connecting to the ISDN PRI service needs to be allocated telephone numbers in the dialling plan, see [[Phonebook]]..
95 1 laforge
96 21 laforge
On the hub side, the PRI lines and ISDN service are currently terminated in a yate instance.
97 1 laforge
98 4 laforge
{{graphviz_link()
99
graph G {
100
  hub [shape=box, label="TDMoIP hub\ncross-connect\nin public internet"];
101
  subgraph cluster_1 {
102 5 tnt
    label="Hobbyist A";
103 4 laforge
    ad1 [label="Access Device\n"];
104
    pbx1 [label="PBX"];
105
    phone1a [label="Phone"];
106
    modem1b [label="Modem"];
107 1 laforge
    ta1c [label="ISDN TA"];
108
    pbx1 -- ad1 [label="E1"];
109
    phone1a -- pbx1 [label="POTS"];
110
    modem1b -- pbx1 [label="POTS"];
111
    ta1c -- pbx1 [label="ISDN-BRI"];
112
  }
113
  subgraph cluster_2 {
114
    label="Hobbyist B";
115
    ad2 [label="Access Device\n"];
116
    pbx2 [label="PBX"];
117
    phone2a [label="Phone"];
118
    modem2b [label="Modem"];
119
    ta2c [label="ISDN TA"];
120
    pbx2 -- ad2 [label="E1"];
121
    phone2a -- pbx2 [label="POTS"];
122
    modem2b -- pbx2 [label="POTS"];
123
    ta2c -- pbx2 [label="ISDN-BRI"];
124
  }
125
  subgraph cluster_3 {
126
    label="Hobbyist C";
127
    ad3 [label="Access Device\n"];
128
    pbx3 [label="PBX"];
129
    phone3a [label="Phone"];
130
    modem3b [label="Modem"];
131
    ta3c [label="ISDN TA"];
132
    pbx3 -- ad3 [label="E1"];
133
    phone3a -- pbx3 [label="POTS"];
134
    modem3b -- pbx3 [label="POTS"];
135
    ta3c -- pbx3 [label="ISDN-BRI"];
136
  }
137
  ad1 -- hub [label="TDMoIP\nInternet"];
138
  ad2 -- hub [label="TDMoIP\nInternet"];
139
  ad3 -- hub [label="TDMoIP\nInternet"];
140
}
141
}}
142
143
h3. ISDN BRI
144
145 27 laforge
ISDN BRI service is expected to initially only be obtained indirectly: 
146
* By connecting a ISDN PRI capable PBX (like an Auerswald COMmander Basic.2) to the hub, and then locally connecting to ISDN BRI ports of the PBX, similar to oor [[OCTOI_Event_PBX]] 
147
* By using an Asterisk PBX with BRI capable cards [[Trunkdev-S0-Adapter]]. This doesn't require any hardware except the NT-capable BRI card, not even an icE1usb!
148 4 laforge
149 27 laforge
At a later point, one could consider implementing a ISDN BRI version of the TDMoIP protocol and some software implementation for ISDN BRI cards that support NT mode.  One notable topic is clocking:  The hardware would either need a GPS-DO (like [[e1-t1-adapter:icE1usb]] has for E1) or at the very least a VCTCXO that can be disciplined by software to match the timing recovered from the IP packet side.  See #5436 and #5417
150 21 laforge
151
h3. TDM layer hub / cross-connect (future)
152
153
The TDM layer would allow to interconnect any E1 line (or even only some timeslots of a line) with any other E1 line.  It doesn't interpret the payload but just passes it around.
154
155
{{graphviz_link()
156
graph G {
157
  hub [shape=box, label="TDMoIP hub\ncross-connect\nin public internet"];
158
  subgraph cluster_1 {
159
    label="Hobbyist A";
160
    ad1 [label="Access Device\n"];
161
    pbx1 [label="PBX"];
162
    pbx1 -- ad1 [label="E1"];
163
  }
164
  subgraph cluster_2 {
165
    label="Hobbyist B";
166
    ad2 [label="Access Device\n"];
167
    frr [label="FrameRelay Device"];
168
    frr -- ad2 [label="E1"];
169
  }
170
  subgraph cluster_3 {
171
    label="Hobbyist C";
172
    ad3 [label="Access Device\n"];
173
    ras [label="RAS Server"];
174
    ras -- ad3 [label="E1"];
175
  }
176
  ad1 -- hub [label="TDMoIP\nInternet"];
177
  ad2 -- hub [label="TDMoIP\nInternet"];
178
  ad3 -- hub [label="TDMoIP\nInternet"];
179
}
180
}}
181
182 23 laforge
h3. Classic SS7
183 21 laforge
184 23 laforge
Classic SS7 (MTP2/MTP3 plus ISUP) permit us to connect STPs and SPCs, such as those of telephony exchanges / switches.
185 1 laforge
186 23 laforge
We currently have two such connections:
187
* An _international_ ISUP/SS7 connection to the EWSD of Jan Pesak in Brno/CZ (routing +4205....)
188
* A _national_ ISUP/SS7 connection to the EWSD of @jolly in Doerphof/DE (routing +494644....)
189 1 laforge
190 23 laforge
The TDMoIP protocol with osmo-e1d and icE1usb is identical to the more common ISDN PRI setup described above.  It's just the signaling protocols on top which are different (MTP2/MTP3/ISUP) insteadl Q.921/Q.931.
191
192
h4. SS7 Point Codes
193
194
We're using _ITU_ point codes with _international_ network indicator formatted in the 3-8-3 format.
195
196
|_.Point Code|_.System using it|_.Responsible|
197
|0-0-1|yate @divf.retronetworking.org@|@laforge|
198
|0-8-0|EWSD Doerphof/DE|@jolly|
199
|2-229-5|EWSD Brno/CZ|jpesak|
200 21 laforge
201
h3. SCCP/MAP/TCAP (future)
202
203
SCCP/MAP/TCAP on top of SS7 can be used to provide interworking between private cellular networks.
204
205
206
h3. Frame Relay (future)
207 2 laforge
208
A Frame Relay network could be implemented on top of the TDM hub.  In this case, framed E1 would be used with groups of 64k timeslots (typically all 31) building the underlying FR transport medium.
209 8 laforge
210
h3. POTS / analog telephony
211
212 24 laforge
There is no plan to _directly_ support analog telephony.  Rather, analog ports for phones, modems, etc. can always be provided by means of ISDN PBXs connecting via ISDN PRI  (and possibly later ISDN BRI)
Add picture from clipboard (Maximum size: 48.8 MB)