When making a call from my test phone (a T610 here), I see the BSC assigning more than one channel ...
For example, with a MO call :
<0010> abis_rsl.c:1182 Activating ARFCN(514) TS(2) SS(0) lctype TCH/F chan_nr=0x0a r=OTHER ra=0xe7 <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=2) chan_nr=0x0a CHANNEL ACTIVATE ACK <0010> abis_rsl.c:1182 Activating ARFCN(514) TS(3) SS(0) lctype TCH/F chan_nr=0x0b r=OTHER ra=0xf8 <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=3) chan_nr=0x0b CHANNEL ACTIVATE ACK <0010> abis_rsl.c:1182 Activating ARFCN(514) TS(4) SS(0) lctype TCH/F chan_nr=0x0c r=OTHER ra=0xe3 <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c CHANNEL ACTIVATE ACK <0001> abis_rsl.c:1286 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c sapi=0 ESTABLISH INDICATION <0004> gsm_04_08.c:1280 <- CM SERVICE REQUEST serv_type=0x01 mi_type=0x04 M(874908265) ... <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c CHANNEL MODE MODIFY ACK <0010> abis_rsl.c:1526 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c IPAC_DISCONNECT_IND CAUSE=0x0f(Normal event, unspecified) <0001> abis_rsl.c:1286 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c sapi=0 RELEASE INDICATION <0010> abis_rsl.c:721 RF Channel Release CMD channel=(bts=0,trx=0,ts=4) chan_nr=0x0c <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c RF CHANNEL RELEASE ACK <0002> gsm_subscriber_base.c:150 subscr 201 usage decreased usage to: 0 <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=2) chan_nr=0x0a CONNECTION FAIL: CAUSE=0x01(Radio Link Failure) RELEASING. <0010> abis_rsl.c:721 RF Channel Release CMD channel=(bts=0,trx=0,ts=2) chan_nr=0x0a <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=2) chan_nr=0x0a RF CHANNEL RELEASE ACK <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=3) chan_nr=0x0b CONNECTION FAIL: CAUSE=0x01(Radio Link Failure) RELEASING. <0010> abis_rsl.c:721 RF Channel Release CMD channel=(bts=0,trx=0,ts=3) chan_nr=0x0b <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=3) chan_nr=0x0b RF CHANNEL RELEASE ACK <0010> abis_rsl.c:721 RF Channel Release CMD channel=(bts=0,trx=0,ts=2) chan_nr=0x0a <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=2) chan_nr=0x0a RF CHANNEL RELEASE ACK <0010> abis_rsl.c:721 RF Channel Release CMD channel=(bts=0,trx=0,ts=3) chan_nr=0x0b <0010> abis_rsl.c:1001 channel=(bts=0,trx=0,ts=3) chan_nr=0x0b RF CHANNEL RELEASE ACK
As you see, there was 3 TCH assigned ... (and of course two of those ultimately failed with Radio Link Failure ...). Is anyone else seeing this ?
Sylvain
On Nov 18, 2009 11:37pm, 246tnt@gmail.com wrote:
When making a call from my test phone (a T610 here), I see the BSC assigning more than one channel ...
For example, with a MO call :
abis_rsl.c:1182 Activating ARFCN(514) TS(2) SS(0) lctype TCH/F chan_nr=0x0a r=OTHER ra=0xe7 abis_rsl.c:1001 channel=(bts=0,trx=0,ts=2) chan_nr=0x0a CHANNEL ACTIVATE ACK abis_rsl.c:1182 Activating ARFCN(514) TS(3) SS(0) lctype TCH/F chan_nr=0x0b r=OTHER ra=0xf8 abis_rsl.c:1001 channel=(bts=0,trx=0,ts=3) chan_nr=0x0b CHANNEL ACTIVATE ACK abis_rsl.c:1182 Activating ARFCN(514) TS(4) SS(0) lctype TCH/F chan_nr=0x0c r=OTHER ra=0xe3 abis_rsl.c:1001 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c CHANNEL ACTIVATE ACK abis_rsl.c:1286 channel=(bts=0,trx=0,ts=4) chan_nr=0x0c sapi=0 ESTABLISH INDICATION
It seems increasing the Tx-Integer values in the RACH IE of the SystemInformations message improve the situation. But it doesn't solve it completly. yet... still looking.
Sylvain
On Wed, Nov 18, 2009 at 10:37:37PM +0000, 246tnt@gmail.com wrote:
When making a call from my test phone (a T610 here), I see the BSC assigning more than one channel ...
yes, this is due to the fact that we do not check for the request reference.
when your MS transmits the first RACH burst, it selects a particular request reference. all retransmissions carry the same request reference.
So the BSC should be tracking for which request references it has already activated a channel, and only assign a new channel if there is not yet a channel for that request reference.
Since there is no straight-forward way of keeping track of this without introducing some additional data structures, I simply skipped it when writing that part of the code.
Of course it should be fixed at some point, and patches are appreciated.
On Fri, Nov 20, 2009 at 1:49 PM, Harald Welte laforge@gnumonks.org wrote:
On Wed, Nov 18, 2009 at 10:37:37PM +0000, 246tnt@gmail.com wrote:
When making a call from my test phone (a T610 here), I see the BSC assigning more than one channel ...
yes, this is due to the fact that we do not check for the request reference.
when your MS transmits the first RACH burst, it selects a particular request reference. all retransmissions carry the same request reference.
Nope, they dont. In gsm 04.08 3.3.1.1.1 about the RACH bursts they says :
"a random reference which is drawn randomly from a uniform probability distribution for every new transmission."
And that's why I observe, the "ra" is different for each try. But those attemps are _very_ close to each other, not time for the BSC to respond.
Sylvain
Hi Sylvain,
On Fri, Nov 20, 2009 at 10:12:49PM +0100, Sylvain Munaut wrote:
"a random reference which is drawn randomly from a uniform probability distribution for every new transmission."
ok, thanks for the clarification. I somehow remembered that differently.
And that's why I observe, the "ra" is different for each try. But those attemps are _very_ close to each other, not time for the BSC to respond.
ok, then maybe changing the parameters as suggested by Dieter is a good idea. We might also make it config file configurable.