annotate doc/Proto-SMSC-testing @ 22:7bfe3e21eaae default tip

top Makefile: add ctrl-client
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 17 Dec 2023 08:53:35 +0000
parents 9ff041d85da5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 The present code repository contains a proto-SMSC test framework: a pair of
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 programs that connect to OsmoHLR in the role of a GSUP-speaking SMSC and allow
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 the rest of SMS-over-GSUP path to be exercised and tested.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 To exercise SMS flow between an MS and the present proto-SMSC, set up your test
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 environment as follows:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
18
9c2c1444dca9 doc/Proto-SMSC-testing: OS#6135 patches have been merged
Mychaela Falconia <falcon@freecalypso.org>
parents: 17
diff changeset
8 0) Use versions of osmo-hlr and osmo-msc that have OS#6135 implementation
9c2c1444dca9 doc/Proto-SMSC-testing: OS#6135 patches have been merged
Mychaela Falconia <falcon@freecalypso.org>
parents: 17
diff changeset
9 included: either mainline (master branch) from 2023-10 or later, or branch
9c2c1444dca9 doc/Proto-SMSC-testing: OS#6135 patches have been merged
Mychaela Falconia <falcon@freecalypso.org>
parents: 17
diff changeset
10 falconia/production (Themyscira Wireless patches on top of 2023-02 release)
9c2c1444dca9 doc/Proto-SMSC-testing: OS#6135 patches have been merged
Mychaela Falconia <falcon@freecalypso.org>
parents: 17
diff changeset
11 in both osmo-hlr and osmo-msc git repositories.
15
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 1) Configure OsmoHLR to expect an SMSC at a certain IPA name, and to route
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 MO SMS to this SMSC. Example config:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 hlr
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 reject-cause not-found plmn-not-allowed
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 reject-cause no-proxy net-fail
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 gsup
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 bind ip 127.0.0.1
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 ipa-name Example-HLR
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 ussd route prefix *#100# internal own-msisdn
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 ussd route prefix *#101# internal own-imsi
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 smsc entity Example-SMSC
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 smsc route 19990014444 Example-SMSC
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 In this example the SMSC is operated at SC-address (fake Global Title)
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 +19990014444 (a number falling into a reserved/invalid range in the North
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 American Numbering Plan), with IPA name Example-SMSC, and you are configuring
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 OsmoHLR to map this SC-address to this IPA name. SM-RP messages addressed to
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 any other SMSC will be rejected - a user trying to send something to a
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 commercial operator's SMSC will get an error during SMS send attempt, instead
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 of her message being sneakily intercepted and diverted to Example-SMSC.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 OTOH, if you prefer to operate your network in a guest roaming manner, allowing
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 foreign SIMs without an actual roaming interconnection in place, and you wish
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 to operate so that all such guest-roaming users will send their MO SMS to your
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 SMSC while their phones "think" that they are addressing their native operator's
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 SMSC, change the last line to:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 smsc default-route Example-SMSC
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 2) Ensure that your OsmoMSC configuration includes the following bits:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 msc
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 sms-over-gsup
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 hlr
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 ipa-name Example-MSC
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 The sms-over-gsup bit should be obvious, but the need for an explicitly set
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 ipa-name is much less so. The explicitly set ipa-name doesn't matter for MO
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 SMS, but it is needed for MT SMS to work. When an MT-forwardSM.req message
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 arrives at the MSC from an SMSC, routed via OsmoHLR, the MSC will need to
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 respond to it, and this response needs to reach the MT-sending SMSC. These
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 responses are routed passively by OsmoHLR, and for this passive routing to work,
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 the sender of the response message needs to include source_name IE. Thus
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 explicitly set ipa-name for the MSC becomes a requirement, just like with
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 inter-MSC handover.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 3) Run proto-smsc-daemon like this:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
19
9ff041d85da5 proto-smsc-daemon: allow HLR GSUP server other than 127.0.0.1
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
62 proto-smsc-daemon 127.0.0.1 Example-SMSC mo-sms-log /tmp/sendmt_socket
15
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
19
9ff041d85da5 proto-smsc-daemon: allow HLR GSUP server other than 127.0.0.1
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
64 The first argument is the IP address of your OsmoHLR instance (more precisely,
9ff041d85da5 proto-smsc-daemon: allow HLR GSUP server other than 127.0.0.1
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
65 the IP address at which OsmoHLR GSUP server can be reached; standard GSUP port
9ff041d85da5 proto-smsc-daemon: allow HLR GSUP server other than 127.0.0.1
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
66 is required), the second argument is the IPA name this proto-SMSC should give
9ff041d85da5 proto-smsc-daemon: allow HLR GSUP server other than 127.0.0.1
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
67 itself (needs to match OsmoHLR config), the third argument is the name of a log
9ff041d85da5 proto-smsc-daemon: allow HLR GSUP server other than 127.0.0.1
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
68 file that will be opened for writing, and the fourth argument is the pathname
9ff041d85da5 proto-smsc-daemon: allow HLR GSUP server other than 127.0.0.1
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
69 to which a local UNIX domain socket will be bound.
15
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 Any time an MS sends MO SMS to this proto-SMSC, the message will be written
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 into the line-oriented log file which you named as the second argument to
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 proto-smsc-daemon. Here is what messages will look like:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 2023-08-25T23:53:01Z Rx MO SM
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 IMSI: 310xxxxxxxxxxxx
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 SM-RP-MR: 0x03
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 SM-RP-DA: SMSC TON=1 NPI=1 1xxxxxxxxxx
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 SM-RP-OA: MSISDN TON=1 NPI=1 1xxxxxxxxxx
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 SM-RP-UI: 13 bytes
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 010304814444000004D4F29C0E
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 ('x' characters in the above fragment are [0-9] digits in reality, but the
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 numbers had to be redacted out for privacy, as the test was done on a live
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 network that operates with real NANP phone numbers.)
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 The string of hex digits that makes up the final line of each recorded message
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 is the GSM 03.40 SMS-SUBMIT TPDU that has been received from the MS in the
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 SM-RP-UI field. proto-smsc-daemon writes it out in raw hex, but you can get a
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 complete decoding by feeding this log file to sms-pdu-decode utility from
17
1c0773eba65e doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
91 FreeCalypso User Phone Tools suite, which is in turn a part of FC host tools
1c0773eba65e doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
92 package:
15
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93
17
1c0773eba65e doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
94 https://www.freecalypso.org/pub/GSM/FreeCalypso/fc-host-tools-latest.tar.bz2
1c0773eba65e doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
95
1c0773eba65e doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
96 You will need to run sms-pdu-decode with -n option so it will know not to expect
1c0773eba65e doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
97 a prepended SC-address in front of the TPDU, as happens in GSM 07.05 - running
1c0773eba65e doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
Mychaela Falconia <falcon@freecalypso.org>
parents: 15
diff changeset
98 the above log fragment through sms-pdu-decode -np, we get the following
15
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 decoding:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 2023-08-25T23:53:01Z Rx MO SM
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 IMSI: 310xxxxxxxxxxxx
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 SM-RP-MR: 0x03
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 SM-RP-DA: SMSC TON=1 NPI=1 1xxxxxxxxxx
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 SM-RP-OA: MSISDN TON=1 NPI=1 1xxxxxxxxxx
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 SM-RP-UI: 13 bytes
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 010304814444000004D4F29C0E
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 First-Octet: 0x01
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 MR: 0x03
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 To: 4444 (type 0x81)
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 PID: 0x00
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 DCS: 0x00 (7-bit)
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 Length: 4
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 Test
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 4) To test MT SMS, you will need to compile and install this additional sw
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 package (very small):
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 https://www.freecalypso.org/hg/sms-coding-utils/
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 To send a test MT SMS, run a shell pipeline like the following:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 sms-encode-text 'Message text blah blah' | gen-sms-deliver-pdu 1234 | proto-smsc-sendmt 19990014444 310999-001 /tmp/sendmt_socket
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 The various bits are:
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 * The argument to sms-encode-text is the human-level message body to be sent.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 One can also omit this command line argument and supply the message body on
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 stdin instead.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 * The argument to gen-sms-deliver-pdu is the "From" number to be inserted into
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 the SMS-DELIVER TPDU being generated.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 * The first argument to proto-smsc-sendmt is the SC-address to be transmitted
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 in SM-RP-OA. This SMSC address is passed through to the MS, and savvy users
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 of hacker-friendly MS can see it: it is written into SIM SMS storage which
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 can then be read out and decoded, it can be retrieved via GSM 07.05, plus
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 other MS-specific options like /pcm/SMS on Pirelli DP-L10 running that phone's
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 original proprietary fw.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 * The second argument to proto-smsc-sendmt is the IMSI to which the message
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 should be sent. (Key point: MT SMS recipients in SMS-over-GSUP are addressed
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 by IMSI, not by MSISDN!) proto-smsc-sendmt supports FreeCalypso shorthand
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 notation for IMSI entry: 310999-001 in this example expands into
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 310999000000001. Of course you can also enter the full IMSI manually, if you
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 don't mind torturing your eyes counting all those zeros.
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 * The third argument to proto-smsc-sendmt is the local UNIX domain socket to
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 which the composed GSUP message should be sent; it needs to match the socket
ce6bcb84ca30 doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 pathname you gave to proto-smsc-daemon.