Hello, list! I am trying to make working two and more TCH channels in OpenBSC (NiTB mode) with calypso based phones. How to understand timeslots allocation in this strings of transceiver app? as->l1l[0].tx_mask = 0xe3; /* TS 5,6,7,0,1 */ as->l1l[0].rx_mask = 0x01; /* TS 0 */ Why 2, 3, 4 timeslots is not used? And how to connect more than two phones to the transceiver? Should I add a new TRX in OpenBSC config and/or modify source code of the transceiver app?
With best regards, fixeria.
as->l1l[0].tx_mask = 0xe3; /* TS 5,6,7,0,1 */ as->l1l[0].rx_mask = 0x01; /* TS 0 */ Why 2, 3, 4 timeslots is not used?
In GSM the UL and DL timeslot are shifted by 3 time slot periods. So the UL timeslot 0 happens at the same time at the DL timeslot 3. BTS
In this case the phone works at the BTS, so TX is DL and RX is UL.
So RX timeslot 0 happens at the same time as TX timeslot 3.
And : * the phone cannot both TX and RX at the same time => That's why 3 is not in the TX mask because it is in the RX mask. * the phone needs some time to switch/retune from RX to TX frequencies => That's why 2 & 4 are not in the TX mask * phone [0] needs to both TX at TS0 ( to send the BCCH/CCCH infos of the cell ) and RX at TS0 ( to receive the RACH requests ) * It's also biased toward TX because to be detected more reliably, it needs to fill the channel with power ( in theory all timeslots are filled ... here 3 of them are not because that's the best one phone can do )
And how to connect more than two phones to the transceiver? Should I add a new TRX in OpenBSC config and/or modify source code of the transceiver app?
No idea about that, Andreas did the multiphone stuff, I never used it ...
Cheers,
Sylvain
Thanks for the explanations, Sylvain. I understood that. I hope Andreas too reads the Mailing lists because he does not respond to my letter.
With one phone everything (USSD, SMS, Location Updates) works fine and stable, except the voice calls and some network visibility problems. I think with OsmoBTS it works even more stable than with OpenBTS. With two phones the network is less stable and it's range of coverage is smaller than with one phone. Sometimes (not always) the voice calls forwards to the LCR (995 and 993 numbers) but I do not hear anything...
As I understand: 1. When just one phone as TRX (TT_R_TTT), OpenBSC uses only TS0 to transmit CCCH and SDCCH4 data. Other (TS 1,5,6,7) TX time slots are used to transmit DUMMY BURSTS in order to increase the ARFCN power. 2. When two phones are connected as TRX[0] (T__R_TTT) and TRX[1] (_T__R___), TS1 does not carries DUMMY BURSTS, it is used for TCH channel. TS4 at the Downlink (that is not used by TRX[0]) now is used to receive TCH data from phones connected to the network. Total TS allocation layout is TT_RRTTT. TS2 is not used. TS 5,6,7 are for DUMMY BURSTS. Ok, it works. 3. But what if I enable TS2 to transmit one more TCH channel? In this case I should exclude TS5 from the tx_mask because it is TS2 at the Uplink. I changed the old TX/RX masks for TRX[0] and TRX[1] to these: as->l1l[0].tx_mask = 0xc1; // 10000011 - TS 0,5,7 // as->l1l[0].rx_mask = 0x01; // 10000000 - TS0 at the UL or TS3 at the DL // as->l1l[1].tx_mask = 0x06; // 01100000 - TS 1,2 // as->l1l[1].rx_mask = 0x06; // 01100000 - TS 1,2 at the UL or TS 4,5 at the DL //
TRX[0]'s layout is T__R__TT. TRX[1]'s layout is _TT_RR__. Total layout is TTTRRRTT.
It looks like cool at the paper but does not work... In the osmocon console of TRX[0] everything looks good. In the osmocon console of TRX[0] I see many repeating "DSP Error 24" messages. And the network does not work. :((
The questions that very interested to me: 1) Why my TTTRRRTT layout does not work? What does it mean (DSP Error 24)? 2) When does it send SCH BURSTS? 3) Is it possible to transmit with one phone and receive with another? 4) When I am using the jolly/testing branch with OpenBSC, I often see this messages in osmocon console: TOA=4 snr=16384 (thres 2560) freq_err=77 pm=-89 TOA=4 snr=16384 (thres 2560) freq_err=24 pm=-89 And this in NITB console: <0004> abis_rsl.c:1471 (bts=0,trx=0,ts=0,ss=0) Activating ARFCN(<ARFCN>) SS(0) lctype SDCCH r=LOCATION_UPDATE ra=0x00 ta=46 <0004> abis_rsl.c:1195 (bts=0,trx=0,ts=0,ss=0) CHANNEL ACTIVATE ACK <0004> abis_rsl.c:680 (bts=0,trx=0,ts=0,ss=0) RF Channel Release CMD due error 1 <0004> abis_rsl.c:634 (bts=0,trx=0,ts=0,ss=0) DEACTivate SACCH CMD <0004> abis_rsl.c:732 (bts=0,trx=0,ts=0,ss=0) RF CHANNEL RELEASE ACK <0004> abis_rsl.c:649 (bts=0,trx=0,ts=0,ss=0) is back in operation. <0004> abis_rsl.c:1471 (bts=0,trx=0,ts=0,ss=0) Activating ARFCN(<ARFCN>) SS(0) lctype SDCCH r=LOCATION_UPDATE ra=0x00 ta=19 <0004> abis_rsl.c:1195 (bts=0,trx=0,ts=0,ss=0) CHANNEL ACTIVATE ACK <0004> abis_rsl.c:1471 (bts=0,trx=0,ts=0,ss=1) Activating ARFCN(<ARFCN>) SS(1) lctype SDCCH r=LOCATION_UPDATE ra=0x00 ta=59
Is it normal? I did not seen this messages when run OpenBSC with sylvain/testing branch. 5) Is it possible to run one more transceiver process as a new trx section in the parent "bts 0" section of the open-bsc.cfg file?
Have a nice day, Яницкий Вадим.
2015-09-07 12:38 GMT+06:00 Вадим Яницкий axilirator@gmail.com:
Hello, list! I am trying to make working two and more TCH channels in OpenBSC (NiTB mode) with calypso based phones. How to understand timeslots allocation in this strings of transceiver app? as->l1l[0].tx_mask = 0xe3; /* TS 5,6,7,0,1 */ as->l1l[0].rx_mask = 0x01; /* TS 0 */ Why 2, 3, 4 timeslots is not used? And how to connect more than two phones to the transceiver? Should I add a new TRX in OpenBSC config and/or modify source code of the transceiver app?
With best regards, fixeria.
Hi,
As said previously, I never used the multi phone code so all my answers is are what's _theoritically_ possible, not what the code supports ...
- Why my TTTRRRTT layout does not work? What does it mean (DSP Error 24)?
The DSP can't receive two consecutive timeslots. So one phone cannot do RR ...
In theory it should be possible but I never managed to make it work.
- When does it send SCH BURSTS?
SCH bursts are on TS0 at some specific intervals on the 51-multiframe., see GSM 05.01 & 02.
- Is it possible to transmit with one phone and receive with another?
In theory, sure. But as I said, no idea if the code supports it. Also as I said above one phone can't receive consecutive timeslots so it would be R_R_R_R_ at best
And finally the components in the phone are not rated for continuous TX, the PA especially is often only rated for 50% duty cycle on/off. It might overheat if kept on too continuously.
no idea for (4) and (5) ...
Cheers,
Sylvain
baseband-devel@lists.osmocom.org