FreeCalypso > hg > freecalypso-sw
annotate doc/TCH-special-feature @ 1030:194967e11b2b
fc-shell: tch record and tch play reworked for libgsm-compatible file format
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 31 May 2016 18:39:06 +0000 | 
| parents | 759b3cbf46aa | 
| children | 5ab737ac3ad7 | 
| rev | line source | 
|---|---|
| 1017 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 1 FreeCalypso GSM firmware implements an optional special feature (needs to be | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 2 explicitly enabled at compile time) which we call TCH rerouting. When this | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 3 feature is enabled, it applies the following special handling to GSM voice | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 4 traffic channels (TCH): | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 5 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 6 * All downlink TCH bits passing from the channel decoder to the vocoder block | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 7 (260 bits every 20 ms) can be non-invasively intercepted and forwarded to | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 8 the external host connected to the RVTMUX serial interface; | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 9 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 10 * Using the same serial interface, the external host can supply substitute | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 11 uplink TCH bits which will be transmitted in the place of the built-in | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 12 vocoder output, i.e., the latter can be effectively suppressed. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 13 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 14 In order to use this feature, you need to compile our firmware in the voice+SMS | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 15 pseudo-modem configuration, i.e., the configuration in which the fw expects to | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 16 be controlled via AT commands wrapped in the RVTMUX binary packet serial | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 17 interface. You can use a target GSM device that has just one accessible serial | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 18 port (Mot C1xx and Pirelli DP-L10) or one that has two Calypso UARTs (Openmoko | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 19 GTA02 or our future FCDEV3B), but in the latter case you will be using only one | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 20 UART - whichever one you have configured to be RVTMUX. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 21 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 22 Whatever system you are building that will act as the source and sink for TCH | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 23 bits will need to interface to the FreeCalypso GSM device via a serial port in | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 24 the RVTMUX binary packet format. Your system will need to send RVTMUX packets | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 25 with AT commands inside them in order to command the FC GSM device to register | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 26 with the network and to dial and/or answer calls, and you will need to send | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 27 RVTMUX packets of a different kind in order to supply the uplink TCH bits | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 28 during calls. In the other direction, your system will receive responses to | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 29 the AT commands you send, asynchronous notifications of incoming calls and SMS, | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 30 downlink TCH bits and various debug trace output from our FreeCalypso firmware. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 31 The last part (debug trace output) can be simply ignored and discarded if you | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 32 wish, but we strongly recommend that you provide a way to view and/or log it | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 33 for debugging purposes. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 34 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 35 Please see the RVTMUX document for general background information regarding the | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 36 RVTMUX binary packet interface; this document should be considered required | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 37 reading for anyone interested in working with the TCH rerouting special feature. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 38 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 39 All packets transferred over the RVTMUX interface begin and end with 0x02. If | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 40 a payload byte within a packet equals 0x02 or 0x10, it needs to be prepended | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 41 with 0x10 as a transparency escape; all other payload bytes are sent literally. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 42 The first byte within each RVTMUX packet after the opening 0x02 is the packet | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 43 type; the two packet types you will need to handle (both generate and receive) | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 44 are 0x1A for AT commands and 0x1C for TCH configuration commands. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 45 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 46 To send an AT command to the FreeCalypso GSM device, prepend the 0x1A packet | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 47 type in front of the "AT" characters, wrap the packet with 0x02 bytes on both | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 48 ends, and send it to the modem. Responses to AT commands and asynchronous | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 49 notification messages such as "RING" for incoming calls will be sent to the | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 50 host as RVTMUX packets also beginning with the 0x1A packet type; they will be | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 51 interspersed among other packet types, mostly debug trace output. Your system | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 52 will need to receive the RVTMUX serial byte stream continuously, parsing the | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 53 packet structure and looking at the type of each packet (the first byte after | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 54 the opening 0x02) in order to detect if the modem has sent something you may be | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 55 interested in. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 56 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 57 If you wish to receive a copy of all downlink TCH bits on the serial channel, | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 58 you will need to send the following 5-byte command packet to the modem: | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 59 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 60 0x02: opening flag | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 61 0x1C: RVTMUX packet type for TCH | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 62 0x11: TCH_CONFIG_REQ command opcode | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 63 0x01: payload byte indicating that the "forward downlink" state should be | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 64 set to enabled | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 65 0x02: closing flag | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 66 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 67 The modem will respond with a TCH_CONFIG_CONF confirmation message (opcode | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 68 0x12), and then during all voice calls your external host will receive the | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 69 following packet every 20 ms: | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 70 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 71 0x02: opening flag | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 72 0x1C: RVTMUX packet type for TCH | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 73 0x15: TCH_DLBITS_IND opcode | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 74 - 40 (decimal) bytes of payload - | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 75 0x02: closing flag | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 76 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 77 The 40 bytes of payload sent in every TCH_DLBITS_IND packet directly correspond | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 78 to the 20 16-bit words provided by the Calypso DSP in its a_dd_0 buffer. The | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 79 first 3 words (6 bytes) contains the DSP's own status information (not fully | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 80 understood by us yet, but we let you see what the DSP tells us without redacting | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 81 anything out), and the remaining 17 words (34 bytes) are supposed to contain | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 82 the TCH bits received from the GSM network in the FR codec format. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 83 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 84 If you wish to send your own TCH uplink bits, replacing the output of the | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 85 built-in vocoder with your own alternate uplink data, you will need to send | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 86 your uplink TCH bits to the modem in packets of the following format: | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 87 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 88 0x02: opening flag | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 89 0x1C: RVTMUX packet type for TCH | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 90 0x13: TCH_ULBITS_REQ opcode | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 91 - 33 or 34 (decimal) bytes of payload - | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 92 0x02: closing flag | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 93 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 94 Sending 260 bits requires only 33 bytes, but the DSP operates in terms of | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 95 16-bit words, hence 17 of those words are used. The upper byte of the last | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 96 word is not expected to be used, but if you send 34 bytes rather than 33, you | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 97 will have control over every bit going into the DSP API RAM in this case. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 98 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 99 There is a queue inside the firmware in which these TCH uplink data blocks are | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 100 stored; this queue is filled by the serial packet receiving handler and drained | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 101 by the L1S (synchronous) code that executes at the right times in the GSM TDMA | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 102 multiplex when uplink TCH transmission is expected. Up to 4 blocks can be | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 103 queued up; as each queued-up block is transmitted on the air (more precisely, | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 104 as it is passed to the DSP for channel encoding and transmission), a | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 105 TCH_ULBITS_CONF short packet (consisting of just the opcode and nothing more) | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 106 is sent to the host. These confirmation packets can be used to pace the sending | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 107 of further TCH_ULBITS_REQs. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 108 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 109 Testing | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 110 ======= | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 111 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 112 The just-described mechanism has been tested to the following extent: I have | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 113 sent TCH_CONFIG_REQ packets to the modem, requesting that TCH downlink | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 114 forwarding be enabled or disabled, and observed that the flow of TCH_DLBITS_IND | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 115 packets from the modem to the host starts and stops as expected. I have not | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 116 done any further work to verify the correctness of the FR codec payload bits | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 117 within these packets. However, the TCH uplink substitution mechanism has not | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 118 been tested at all, as I do not have a source of FR codec bits for testing. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 119 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 120 Host side reference implementation | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 121 ================================== | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 122 | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 123 If you are going to implement your system for talking to FreeCalypso GSM pseudo- | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 124 modems via the RVTMUX binary packet interface, we strongly recommend that you | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 125 use our rvinterf and fc-shell Unix/Linux host utilities as your starting point. | 
| 
759b3cbf46aa
doc/TCH-special-feature: document written
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: diff
changeset | 126 You can find their source code in the rvinterf subtree. | 
