Hi,

Here's a little report on the SMS status:

First, the good news is that in practice everything works fine with the handsets I tested.

There are a few issues left to address but they don't seem to cause any operational troubles so far :

 * In MO transfers, the channel should be closed after the reception of CP-ACK, _unless_ a CM SERVICE REQUEST was sent just before on the channel. Currently the channel is just not closed AFAICT and it times out some time afterwards.


 * Double RF Channel Release : Here's the log of the end of a typical SMS transfer (MO in this case but MT has a similar problem) :

<0000> abis_rsl.c:1408 (bts=0,trx=0,ts=1) SAPI=3 DATA INDICATION
<0007> gsm_04_11.c:918 trans_id=c RX SMS CP-ACK
 [ pause ]
<0000> abis_rsl.c:1408 (bts=0,trx=0,ts=1) SAPI=0 RELEASE INDICATION
<0004> abis_rsl.c:742 (bts=0,trx=0,ts=1) RF Channel Release CMD
<0004> abis_rsl.c:1138 (bts=0,trx=0,ts=1) RF CHANNEL RELEASE ACK
<0000> abis_rsl.c:1408 (bts=0,trx=0,ts=1) SAPI=3 RELEASE INDICATION
<0004> abis_rsl.c:742 (bts=0,trx=0,ts=1) RF Channel Release CMD
<0004> abis_rsl.c:1138 (bts=0,trx=0,ts=1) RF CHANNEL RELEASE ACK

As you see, when we receive a RELEASE INDICATION in abis_rsl_rx_rll, we call rsl_rf_chan_release directly. But we'll receive RELEASE INDICATION for both SAPI 0 & 3 and so we'll call it twice which is bad. I tried releasing channel _only_ if all SAPI are unused but the resulting effect was not what I expected :

<0000> abis_rsl.c:1418 (bts=0,trx=0,ts=1) SAPI=3 DATA INDICATION
<0007> gsm_04_11.c:927 trans_id=b RX SMS CP-ACK
 [ pause ]
<0000> abis_rsl.c:1418 (bts=0,trx=0,ts=1) SAPI=0 RELEASE INDICATION
 [ pause ]
<0004> abis_rsl.c:1137 (bts=0,trx=0,ts=1) <0004> abis_rsl.c:967 CONNECTION FAIL: RELEASINGCAUSE=0x01(Radio Link Failure) <0004> abis_rsl.c:975
<0004> abis_rsl.c:742 (bts=0,trx=0,ts=1) RF Channel Release CMD
<0004> abis_rsl.c:1148 (bts=0,trx=0,ts=1) RF CHANNEL RELEASE ACK
<0013> gsm_subscriber_base.c:subscr 35414 usage decreased usage to: 0
<0000> abis_rsl.c:1418 (bts=0,trx=0,ts=1) SAPI=3 RELEASE INDICATION
<0004> abis_rsl.c:742 (bts=0,trx=0,ts=1) RF Channel Release CMD
<0004> abis_rsl.c:1148 (bts=0,trx=0,ts=1) RF CHANNEL RELEASE ACK


I need to read the spec and see what happens on a commercial network to understand better what should be done because I'm obviously missing something ...


   Sylvain