FreeCalypso > hg > themwi-system-sw
annotate doc/Local-short-numbers @ 274:de440a88c23a
doc/NANP-specifics: Fake-NANP-numbers article is here
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 27 Nov 2023 21:46:30 -0800 |
parents | 6f28a4377a99 |
children |
rev | line source |
---|---|
270
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Network-internal short dialing numbers |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ====================================== |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 In addition to obviously necessary support for standard E.164 phone numbers |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 (assigning real NANP numbers to local subscribers, calling any other NANP |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 numbers whether they are local or not, calling international numbers outside of |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 NANP), ThemWi system sw implements an additional, entirely private and network- |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 internal, numbering space for 4-digit short dialing numbers. Any time a ThemWi |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 GSM subscriber dials a number that consists of only (exactly) 4 digits, that |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 short number is looked up in this private ThemWi-defined numbering space. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 In the present implementation, three different types of numbers can exist in |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 this private, network-internal short 4-digit number space, each described in |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 its own section below. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 Abbreviated NANP numbers |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 ------------------------ |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 If you have a bunch of real NANP numbers from the same NPA-NXX prefix, you can |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 enter them into the master database of locally owned numbers (see |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 Number-database article) using this notation: |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 prefix NPA-NXX allow-abbrev |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 If the 'allow-abbrev' flag keyword is included, each NANP number entered under |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 this prefix (each following suffix line) gets added to the short 4-digit number |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 space: in addition to the standard option of dialing all 10 digits, the same |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 number can be reached by dialing only the last 4 digits, considered to be the |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 "station" part of the number (under a given "exchange") per NANP rules. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 You do need to be careful with this facility, as conflicting numbers are not |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 allowed. Enabling allow-abbrev mode makes sense under the following conditions: |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 1) You have one preferred NPA-NXX prefix, presumably corresponding to your |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 geographic locality, and you reserve all of your native numbers (via BulkVS |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 portal or equivalent from other providers) from that one preferred prefix. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 In this case you should set allow-abbrev on your "home" prefix, but whenever |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 you have to add non-native numbers to your network (customer port-ins etc), |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 those don't get the abbreviated dialing option, only full10. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 2) You may enable allow-abbrev for more than one prefix if you reserve your |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 numbers from multiple prefixes in a judicious manner, selecting 4-digit |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 suffixes that don't overlap across your two (or more) prefixes. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 Internal test numbers (ITNs) |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 ---------------------------- |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 An ITN is a 4-digit short dialing number (meaningful only inside your local GSM |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 network) that is assigned to a GSM subscriber and entered as such (4 digits |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 only) into OsmoHLR subscriber database. When ITNs are used, a GSM subscriber |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 who gets an ITN is *not* given a real NANP telephone number, and thus cannot |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 make any calls to or receive any calls from the outside world. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 Our own Themyscira Wireless operation does not presently use any ITNs. This |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 facility was invented before we realized how cheap NANP numbers can be when they |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 are ordered "raw" or "bare": a basic reservation of a real 10-digit NANP number |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 from BulkVS *without* E911 provision and without SMS capability (regular, |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 non-emergency calls only) costs only $0.06 (6 cents) per number per month. At |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 this insanely cheap price, it makes no sense to introduce ITNs, it is easier to |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 give a real NANP number to every GSM subscriber including lab-use-only test |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 SIMs - but the Mother does not believe in removing implemented functionality |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 without extremely strong justification, hence support for ITNs remains in our |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 software. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 To define an ITN, enter a line like this into your master database of locally |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 owned numbers: |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 itn XXXX |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 where XXXX is the 4-digit number to be defined as an ITN. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 Test sink numbers |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 ----------------- |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 A test sink number is a private, network-internal 4-digit number that is |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 intended to serve as a destination or "sink" for test calls and test SMS. Any |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 calls dialed to a test sink number will be handled by a special process which |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 only exists for that purpose (remains to be implemented), and any SMS sent to a |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 test sink number will be simply written into log-structured storage without any |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 further delivery to anywhere. The purpose of test sink numbers is to exercise |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 outgoing call and outgoing SMS functions of GSM MS without needing a "real" |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 second party to serve as the recipient. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 To define a test sink number, enter a line like this into your master database |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 of locally owned numbers: |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 test-sink XXXX |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 where XXXX is the 4-digit number to be defined as a test sink. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 Historical perspective |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 ====================== |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 In the original design of ThemWi system sw, 4-digit short dialing numbers were |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 intended to be ITNs only, forming an internal-only numbering space that is |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 entirely disjoint from public E.164 numbers. Operating on the assumption that |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 external NANP numbers would be expensive, the design model was that every GSM |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 subscriber would have an ITN, and then additionally some subscriber lines (those |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 belonging to human users, rather than lab test SIMs) would be given real |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 external phone numbers in NANP. The fixed 4-digit length for internal short |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 numbers was chosen, contrary to the apparent custom in Osmocom community of |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 using 5-digit numbers for such internal "extensions", because a 5-digit number |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 can be a valid SMS short code in USA, and human users of Themyscira Wireless GSM |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 service need to be able to access these SMS short-code public services just like |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 customers of any other cell carrier in this country. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 Shortly after beginning to implement the initial design described above, we |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 discovered how cheap real NANP numbers actually are, and got a batch of numbers |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 from our choice of NPA-NXX prefix. We were then sitting on a batch of numbers |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 that had the same 6-digit prefix, but different 4-digit suffixes, and that was |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 how we got the idea of abbreviated dialing numbers: instead of completely |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 made-up ITNs, allow "home block" NANP numbers to be dialed (from one local GSM |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 phone to another) by just the last 4 digits of the external, globally valid |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 E.164 number. |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 Test sink numbers are our latest-so-far addition to the network-internal 4-digit |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 dialing number space, and we have yet to implement them beyond mere definition |
6f28a4377a99
doc/Local-short-numbers: first draft written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 in the local number database. |