laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/22509 )

Change subject: chan activ: activate DL SACCH only when TA is known
......................................................................

chan activ: activate DL SACCH only when TA is known

A channel activation for handover to another cell does not know the
Timing Advance until the handover RACH is received. It does not make
much sense to enable downlink SACCH without an accurate TA.

If the BSC omits the Access Delay IE (a.k.a. the Timing Advance), do not
enable downlink SACCH. This is expected to happen only for inter-cell
handover. In all other situations, the TA should be known either from a
Channel Request RACH for Immediate Assignment, or from the previous
lchan on the same cell upon Assignment / intra-cell handover.

Related: OS#4008 OS#4009 SYS#5192
Change-Id: I170b63c9856230d5f1a10654a9d950ada8e730d7
---
M src/common/rsl.c
1 file changed, 14 insertions(+), 2 deletions(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/src/common/rsl.c b/src/common/rsl.c
index b4df22c..01a0ab4 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -1545,11 +1545,23 @@
        }

        /* Indicate which SAPIs should be enabled before the first RACH is 
received, for handover. See 3GPP TS 48.058
-        * 4.1.3 and 4.1.4. */
+        * 4.1.3 and 4.1.4.
+        *
+        *          |          | Access ||  transmit         |  activate        
 |  This implementation
+        *          | MS Power | Delay  ||  on main channel  |  dl SACCH        
 |  activates DL SACCH
+        * 
-----------------------------------------------------------------------------------------
+        * async ho   no         *     -->  yes                 no              
    no
+        * async ho   yes        *     -->  yes                 may be started  
    no
+        * async ho   yes        yes   -->  yes                 may be started  
    yes
+        * sync ho    no         no    -->  yes                 no              
    no
+        * sync ho    yes        no    -->  yes                 may be started  
    no
+        * sync ho    yes        yes   -->  yes                 shall be 
started    yes
+        */
        switch (type) {
        case RSL_ACT_INTER_ASYNC:
        case RSL_ACT_INTER_SYNC:
-               lchan->want_dl_sacch_active = TLVP_PRES_LEN(&tp, 
RSL_IE_MS_POWER, 1);
+               lchan->want_dl_sacch_active = (TLVP_PRES_LEN(&tp, 
RSL_IE_MS_POWER, 1)
+                                              && TLVP_PRES_LEN(&tp, 
RSL_IE_ACCESS_DELAY, 1));
                break;
        default:
                lchan->want_dl_sacch_active = true;

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/22509
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I170b63c9856230d5f1a10654a9d950ada8e730d7
Gerrit-Change-Number: 22509
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofm...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to