FreeCalypso > hg > osmo-playpen
annotate doc/Proto-SMSC-testing @ 17:1c0773eba65e
doc/Proto-SMSC-testing: sms-pdu-decode -n is in fc-host-tools-r20
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 02 Sep 2023 21:57:09 -0800 |
parents | ce6bcb84ca30 |
children | 9c2c1444dca9 |
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 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 0) Locate branch falconia/os6135 in osmo-hlr and osmo-msc git repositories; |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 compile and run osmo-hlr and osmo-msc versions from this branch. |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 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
|
12 MO SMS to this SMSC. Example config: |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 hlr |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 reject-cause not-found plmn-not-allowed |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 reject-cause no-proxy net-fail |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 gsup |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 bind ip 127.0.0.1 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 ipa-name Example-HLR |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 ussd route prefix *#100# internal own-msisdn |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 ussd route prefix *#101# internal own-imsi |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 smsc entity Example-SMSC |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 smsc route 19990014444 Example-SMSC |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 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
|
26 +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
|
27 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
|
28 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
|
29 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
|
30 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
|
31 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
|
32 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 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
|
34 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
|
35 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
|
36 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
|
37 SMSC, change the last line to: |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 smsc default-route Example-SMSC |
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 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
|
42 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 msc |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 sms-over-gsup |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 hlr |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 ipa-name Example-MSC |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 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
|
49 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
|
50 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
|
51 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
|
52 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
|
53 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
|
54 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
|
55 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
|
56 inter-MSC handover. |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 3) Run proto-smsc-daemon like this: |
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 proto-smsc-daemon Example-SMSC mo-sms-log /tmp/sendmt_socket |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 The first argument is the IPA name this proto-SMSC should give itself (needs to |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 match OsmoHLR config), the second argument is the name of a log file that will |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 be opened for writing, and the third argument is the pathname to which a local |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 UNIX domain socket will be bound. |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 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
|
68 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
|
69 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
|
70 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 2023-08-25T23:53:01Z Rx MO SM |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 IMSI: 310xxxxxxxxxxxx |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 SM-RP-MR: 0x03 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 SM-RP-DA: SMSC TON=1 NPI=1 1xxxxxxxxxx |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 SM-RP-OA: MSISDN TON=1 NPI=1 1xxxxxxxxxx |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 SM-RP-UI: 13 bytes |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 010304814444000004D4F29C0E |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 ('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
|
80 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
|
81 network that operates with real NANP phone numbers.) |
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 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
|
84 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
|
85 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
|
86 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
|
87 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
|
88 package: |
15
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 |
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
|
90 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
|
91 |
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 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
|
93 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
|
94 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
|
95 decoding: |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 2023-08-25T23:53:01Z Rx MO SM |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 IMSI: 310xxxxxxxxxxxx |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 SM-RP-MR: 0x03 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 SM-RP-DA: SMSC TON=1 NPI=1 1xxxxxxxxxx |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 SM-RP-OA: MSISDN TON=1 NPI=1 1xxxxxxxxxx |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 SM-RP-UI: 13 bytes |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 010304814444000004D4F29C0E |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 First-Octet: 0x01 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 MR: 0x03 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 To: 4444 (type 0x81) |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 PID: 0x00 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 DCS: 0x00 (7-bit) |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 Length: 4 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 Test |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 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
|
115 package (very small): |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 https://www.freecalypso.org/hg/sms-coding-utils/ |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 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
|
120 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 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
|
122 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 The various bits are: |
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 * 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
|
126 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
|
127 stdin instead. |
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 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
|
130 the SMS-DELIVER TPDU being generated. |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 * 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 original proprietary fw. |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 * 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 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
|
145 |
ce6bcb84ca30
doc/Proto-SMSC-testing: document written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 * 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
|
147 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
|
148 pathname you gave to proto-smsc-daemon. |