FreeCalypso > hg > gsm-net-reveng
comparison tmo/CSD-tests @ 70:47947e25f922
tmo/CSD-tests: document experimental findings
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 25 Nov 2024 07:22:43 +0000 |
parents | |
children | ed314cc25b8d |
comparison
equal
deleted
inserted
replaced
69:cf60172895fe | 70:47947e25f922 |
---|---|
1 A series of experiments seeking to test CSD on the extant network of T-Mobile | |
2 USA, to be performed while this network is still alive. The main objective is | |
3 to test CSD calls between a single MS and analog (or PCMU-speaking) PSTN, rather | |
4 than mobile to mobile. | |
5 | |
6 Test setup | |
7 ========== | |
8 | |
9 The test MS is an FCDEV3B with a legacy T-Mobile SIM. The AT command session | |
10 will be driven through the dedicated UART, not the usual fc-shell, to enable | |
11 full use of data functions. Rvinterf will still be used to capture logs; the | |
12 following command needs to be issued in order to make the firmware emit traces | |
13 indicating AT command activity: | |
14 | |
15 sp MMI TRACECLASS 800050 | |
16 | |
17 Issue these two additional commands to trace the MMCM SAP between CC and MM | |
18 entities of the protocol stack: | |
19 | |
20 sp MM DUPLICATE CC PCO | |
21 sp CC DUPLICATE MM PCO | |
22 | |
23 The objective is to capture all CC protocol messages sent to and received from | |
24 the network; tracing the exchange between CC and MM seems like the easiest way | |
25 to accomplish this goal within our existing firmware architecture. | |
26 | |
27 Experiment 1 | |
28 ============ | |
29 | |
30 In this experiment several MO CSD calls were made from the test MS to | |
31 +13034944774, the number for USA taxpayer-funded NIST ACTS. Several modes were | |
32 tested: | |
33 | |
34 AT+CBST=7,0,1 -- TI GSM MS firmware default | |
35 AT+CBST=7,0,0 | |
36 AT+CBST=6,0,0 | |
37 AT+CBST=4,0,0 | |
38 AT+CBST=2,0,0 | |
39 | |
40 Results were surprising: | |
41 | |
42 * Transparent mode works beautifully at 9600 baud, as well as 4800 and 1200 | |
43 baud. Therefore, the previous hypothesis that CSD at 9600 baud no longer | |
44 works as a result of GSM quality degradation or as a result of IP-fication of | |
45 internal transports within USA PSTN is now disproven. | |
46 | |
47 * Transparent mode at 2400 baud produced a different result: successful CONNECT | |
48 followed by garbage and earlier disconnect, instead of 40 s of good ACTS | |
49 output in other baud modes. Perhaps a defect in V.22bis implementation in | |
50 the network IWF? | |
51 | |
52 * All 3 data TCH modes were observed in L1 traces: TCH/F9.6, TCH/F4.8 and | |
53 TCH/F2.4, and each of these produced a perfectly good data call in at least | |
54 one mode. | |
55 | |
56 * NT mode was only tested with AT+CBST=7,0,1 default, i.e., 9600 baud and asking | |
57 the IWF for V.32 modem. As revealed by L1 and CC traces, the network does | |
58 everything it should - but the MS returns NO CARRIER. However, further | |
59 analysis of CC traces reveals that the DISCONNECT at CC level is initiated by | |
60 the MS and not by the network! My current working hypothesis is that the MS | |
61 is unhappy about something it sees at RLP level. | |
62 | |
63 Additional observations: | |
64 | |
65 * The MS issues a single SETUP message with BC indicating ITC of 3.1 kHz and the | |
66 selected CSD mode. The network responds with CALL PROCEEDING, ALERTING and | |
67 CONNECT in the same cadence as it would for a MO voice call. The timing of | |
68 ALERTING message is consistent with my expectation of when PSTN plays the | |
69 ringing tone, and the timing of CC CONNECT message is consistent with my | |
70 expectation of when Answer Supervision occurs at PSTN level. The CC CONNECT | |
71 step is reached in all tested modes, including the failing NT mode. | |
72 | |
73 * The AT-command CONNECT response happens significantly later than CC CONNECT | |
74 message. My current working hypothesis is that the network generates CC | |
75 CONNECT when it gets Answer Supervision from PSTN just like it does for voice | |
76 calls, well before modem connection sequence can happen. Perhaps the status | |
77 of modem connection is then indicated via V.110 in-band flags, and perhaps | |
78 the MS is using that in-band status to decide when to declare CONNECT. | |
79 | |
80 * At the end of each call there was a network-initiated DISCONNECT with cause | |
81 value 127 (interworking, unspecified) - but in this experiment there is | |
82 insufficient information to tell if this action is initiated by the IWF upon | |
83 loss of modem signal, or if it is merely passing along PSTN-level disconnect | |
84 signaling from the called party. See Experiment 2. | |
85 | |
86 Experiment 2 | |
87 ============ | |
88 | |
89 In this experiment several MO CSD call attempts were dialed from the test MS to | |
90 Mother Mychaela's personal voice number on ThemWi; the latter is interconnected | |
91 with USA PSTN via BulkVS. The objectives were: (1) to confirm the hypothesis | |
92 about Answer Supervision on PSTN side being the criterion for signaling CC | |
93 CONNECT to the MS, and (2) to hear what, if anything, the IWF transmits toward | |
94 PSTN while waiting for modem connection. | |
95 | |
96 Results: | |
97 | |
98 * When I answered the call on the destination phone, I heard silence each time. | |
99 The calling party received CC CONNECT signaling when I made that answer. | |
100 | |
101 * In both tests where +CBST was set to 7,0,0 and I answered the call, the | |
102 network (TMO) eventually ended the call, signaling cause 127 to the calling | |
103 MS like in Experiment 1. (Thus we now know that it is the IWF taking this | |
104 action, and not the called party hanging up at PSTN level.) In one of these | |
105 two tests, there was a miraculous CONNECT response from the AT interpreter, | |
106 some time well after Answer Supervision, but before the IWF-initiated | |
107 disconnect. In the second test, there was no CONNECT response, only | |
108 NO CARRIER at the time of IWF-initiated disconnect. | |
109 | |
110 * In the test case where I didn't answer the destination phone (let the ringing | |
111 time out), the calling MS received CC DISCONNECT message with cause 17 (user | |
112 busy), as that is how PSTN middleboxes misinterpret SIP 480 error I return | |
113 from ThemWi. The AT command interface generated BUSY response. | |
114 | |
115 * In the final test case in this experiment series, I made the test call with | |
116 +CBST=7,0,1 and answered the destination phone. The MS initiated DISCONNECT | |
117 4 s after receiving CC CONNECT, just like it did when calling NIST ACTS. | |
118 | |
119 Experiment 3 | |
120 ============ | |
121 | |
122 This experiment sought to observe how TMO GSM network handles MT calls from PSTN | |
123 to a mobile subscriber, including the possiblity of MT CSD calls via AT+CSNS. | |
124 An MT call was repeatedly dialed from Mother Mychaela's ThemWi phone to the test | |
125 MS on TMO, with different AT+CSNS and AT+CBST settings established before each | |
126 call attempt; logs were collected for subsequent analysis. | |
127 | |
128 Observations: | |
129 | |
130 * The initial SETUP message from the network to the MS contains _no_ bearer | |
131 capability IE; the CALL CONFIRM response from the MS does include BC IE, | |
132 filled with different content depending on AT+CSNS and AT+CBST settings. | |
133 | |
134 * The network seems to always accept the BC supplied by the MS in that response, | |
135 and assigns appropriate TCH type and mode. | |
136 | |
137 * The PSTN caller hears the standard North American ringing tone while the MS | |
138 emits RING messages on its AT command channel, subsequent to the MS sending | |
139 CC ALERTING message to the network. | |
140 | |
141 * When I answer the call with ATA, the MS sends CC CONNECT to the network, the | |
142 PSTN caller gets Answer Supervision, and I hear modem answer tones from TMO's | |
143 IWF. | |
144 | |
145 * Only Transparent modes have been tested so far; the modem answer sequence | |
146 heard by the PSTN caller depends on the specific modem emulation selected | |
147 with AT+CBST. With AT+CBST=2,0,0 and AT+CBST=4,0,0 I heard a continuous (no | |
148 phase reversals) V.25 ANS tone followed by a higher-pitched tone (presumably | |
149 Unscramled Binary 1s signal of V.22), followed by disconnection; with | |
150 AT+CBST=6,0,0 and AT+CBST=7,0,0 I heard a V.25 ANS tone *with* phase | |
151 reversals, directly followed by disconnection (no AC tones). | |
152 | |
153 Further tests were aborted (I didn't get to testing NT mode) because the network | |
154 did something that caused the MS firmware (or perhaps the SIM) to go into a | |
155 funky state; to be investigated as its own separate problem. | |
156 | |
157 Experiment 4 | |
158 ============ | |
159 | |
160 In this experiment I used two of my legacy T-Mobile SIMs simulateneously: one | |
161 in the FCDEV3B as in the preceding experiments, the other in a Pirelli DP-L10 | |
162 phone. The Pirelli phone ran RAM-based FC Tourmaline firmware during these | |
163 tests. Test calls were dialed from the FCDEV3B to the Pirelli; the fw build | |
164 running on the latter has CSD excluded, but the objective was to see the MT | |
165 SETUP message as it arrives from the network, before destination MS firmware | |
166 does anything with it. | |
167 | |
168 Observation: _no_ BC IE was ever seen in the MT SETUP message, for both voice | |
169 and data calls dialed from the other TMO subscriber line. It appears that all | |
170 MO CSD calls were treated by the network in "convert to modem emulation" mode | |
171 despite the dialed number being another T-Mobile line; the MT leg always | |
172 received incoming voice calls. | |
173 | |
174 It thus appears that a change has happened in TMO's network in this regard. | |
175 Many years ago, before I learned about T vs NT distinction and other critical | |
176 CSD parameters set with AT+CBST, when I would blindly dial ATDnumber, I was | |
177 sometimes able to make a data call from a proper FreeCalypso test MS to a | |
178 Pirelli phone running its official fw: the destination phone would ring and | |
179 display an incoming call screen, but it said "data call". For this feat to | |
180 have happened, there must have been a BC IE in the MT SETUP message when the | |
181 MO leg made a data call - hence the change between past and present bahaviour. |