FreeCalypso > hg > gsm-net-reveng
view 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 |
line wrap: on
line source
A series of experiments seeking to test CSD on the extant network of T-Mobile USA, to be performed while this network is still alive. The main objective is to test CSD calls between a single MS and analog (or PCMU-speaking) PSTN, rather than mobile to mobile. Test setup ========== The test MS is an FCDEV3B with a legacy T-Mobile SIM. The AT command session will be driven through the dedicated UART, not the usual fc-shell, to enable full use of data functions. Rvinterf will still be used to capture logs; the following command needs to be issued in order to make the firmware emit traces indicating AT command activity: sp MMI TRACECLASS 800050 Issue these two additional commands to trace the MMCM SAP between CC and MM entities of the protocol stack: sp MM DUPLICATE CC PCO sp CC DUPLICATE MM PCO The objective is to capture all CC protocol messages sent to and received from the network; tracing the exchange between CC and MM seems like the easiest way to accomplish this goal within our existing firmware architecture. Experiment 1 ============ In this experiment several MO CSD calls were made from the test MS to +13034944774, the number for USA taxpayer-funded NIST ACTS. Several modes were tested: AT+CBST=7,0,1 -- TI GSM MS firmware default AT+CBST=7,0,0 AT+CBST=6,0,0 AT+CBST=4,0,0 AT+CBST=2,0,0 Results were surprising: * Transparent mode works beautifully at 9600 baud, as well as 4800 and 1200 baud. Therefore, the previous hypothesis that CSD at 9600 baud no longer works as a result of GSM quality degradation or as a result of IP-fication of internal transports within USA PSTN is now disproven. * Transparent mode at 2400 baud produced a different result: successful CONNECT followed by garbage and earlier disconnect, instead of 40 s of good ACTS output in other baud modes. Perhaps a defect in V.22bis implementation in the network IWF? * All 3 data TCH modes were observed in L1 traces: TCH/F9.6, TCH/F4.8 and TCH/F2.4, and each of these produced a perfectly good data call in at least one mode. * NT mode was only tested with AT+CBST=7,0,1 default, i.e., 9600 baud and asking the IWF for V.32 modem. As revealed by L1 and CC traces, the network does everything it should - but the MS returns NO CARRIER. However, further analysis of CC traces reveals that the DISCONNECT at CC level is initiated by the MS and not by the network! My current working hypothesis is that the MS is unhappy about something it sees at RLP level. Additional observations: * The MS issues a single SETUP message with BC indicating ITC of 3.1 kHz and the selected CSD mode. The network responds with CALL PROCEEDING, ALERTING and CONNECT in the same cadence as it would for a MO voice call. The timing of ALERTING message is consistent with my expectation of when PSTN plays the ringing tone, and the timing of CC CONNECT message is consistent with my expectation of when Answer Supervision occurs at PSTN level. The CC CONNECT step is reached in all tested modes, including the failing NT mode. * The AT-command CONNECT response happens significantly later than CC CONNECT message. My current working hypothesis is that the network generates CC CONNECT when it gets Answer Supervision from PSTN just like it does for voice calls, well before modem connection sequence can happen. Perhaps the status of modem connection is then indicated via V.110 in-band flags, and perhaps the MS is using that in-band status to decide when to declare CONNECT. * At the end of each call there was a network-initiated DISCONNECT with cause value 127 (interworking, unspecified) - but in this experiment there is insufficient information to tell if this action is initiated by the IWF upon loss of modem signal, or if it is merely passing along PSTN-level disconnect signaling from the called party. See Experiment 2. Experiment 2 ============ In this experiment several MO CSD call attempts were dialed from the test MS to Mother Mychaela's personal voice number on ThemWi; the latter is interconnected with USA PSTN via BulkVS. The objectives were: (1) to confirm the hypothesis about Answer Supervision on PSTN side being the criterion for signaling CC CONNECT to the MS, and (2) to hear what, if anything, the IWF transmits toward PSTN while waiting for modem connection. Results: * When I answered the call on the destination phone, I heard silence each time. The calling party received CC CONNECT signaling when I made that answer. * In both tests where +CBST was set to 7,0,0 and I answered the call, the network (TMO) eventually ended the call, signaling cause 127 to the calling MS like in Experiment 1. (Thus we now know that it is the IWF taking this action, and not the called party hanging up at PSTN level.) In one of these two tests, there was a miraculous CONNECT response from the AT interpreter, some time well after Answer Supervision, but before the IWF-initiated disconnect. In the second test, there was no CONNECT response, only NO CARRIER at the time of IWF-initiated disconnect. * In the test case where I didn't answer the destination phone (let the ringing time out), the calling MS received CC DISCONNECT message with cause 17 (user busy), as that is how PSTN middleboxes misinterpret SIP 480 error I return from ThemWi. The AT command interface generated BUSY response. * In the final test case in this experiment series, I made the test call with +CBST=7,0,1 and answered the destination phone. The MS initiated DISCONNECT 4 s after receiving CC CONNECT, just like it did when calling NIST ACTS. Experiment 3 ============ This experiment sought to observe how TMO GSM network handles MT calls from PSTN to a mobile subscriber, including the possiblity of MT CSD calls via AT+CSNS. An MT call was repeatedly dialed from Mother Mychaela's ThemWi phone to the test MS on TMO, with different AT+CSNS and AT+CBST settings established before each call attempt; logs were collected for subsequent analysis. Observations: * The initial SETUP message from the network to the MS contains _no_ bearer capability IE; the CALL CONFIRM response from the MS does include BC IE, filled with different content depending on AT+CSNS and AT+CBST settings. * The network seems to always accept the BC supplied by the MS in that response, and assigns appropriate TCH type and mode. * The PSTN caller hears the standard North American ringing tone while the MS emits RING messages on its AT command channel, subsequent to the MS sending CC ALERTING message to the network. * When I answer the call with ATA, the MS sends CC CONNECT to the network, the PSTN caller gets Answer Supervision, and I hear modem answer tones from TMO's IWF. * Only Transparent modes have been tested so far; the modem answer sequence heard by the PSTN caller depends on the specific modem emulation selected with AT+CBST. With AT+CBST=2,0,0 and AT+CBST=4,0,0 I heard a continuous (no phase reversals) V.25 ANS tone followed by a higher-pitched tone (presumably Unscramled Binary 1s signal of V.22), followed by disconnection; with AT+CBST=6,0,0 and AT+CBST=7,0,0 I heard a V.25 ANS tone *with* phase reversals, directly followed by disconnection (no AC tones). Further tests were aborted (I didn't get to testing NT mode) because the network did something that caused the MS firmware (or perhaps the SIM) to go into a funky state; to be investigated as its own separate problem. Experiment 4 ============ In this experiment I used two of my legacy T-Mobile SIMs simulateneously: one in the FCDEV3B as in the preceding experiments, the other in a Pirelli DP-L10 phone. The Pirelli phone ran RAM-based FC Tourmaline firmware during these tests. Test calls were dialed from the FCDEV3B to the Pirelli; the fw build running on the latter has CSD excluded, but the objective was to see the MT SETUP message as it arrives from the network, before destination MS firmware does anything with it. Observation: _no_ BC IE was ever seen in the MT SETUP message, for both voice and data calls dialed from the other TMO subscriber line. It appears that all MO CSD calls were treated by the network in "convert to modem emulation" mode despite the dialed number being another T-Mobile line; the MT leg always received incoming voice calls. It thus appears that a change has happened in TMO's network in this regard. Many years ago, before I learned about T vs NT distinction and other critical CSD parameters set with AT+CBST, when I would blindly dial ATDnumber, I was sometimes able to make a data call from a proper FreeCalypso test MS to a Pirelli phone running its official fw: the destination phone would ring and display an incoming call screen, but it said "data call". For this feat to have happened, there must have been a BC IE in the MT SETUP message when the MO leg made a data call - hence the change between past and present bahaviour.