Feature #3277


handover: for intra-cell re-assignment, use Assignment procedure, not Handover

Added by neels over 4 years ago. Updated 10 months ago.

Target version:
Start date:
Due date:
% Done:


Spec Reference:


Handover Decision algorithms may decide to do a re-assignment within the same cell.
In practical tests, some time ago, I noticed that using the RR Assignment Command wasn't working here.
Hence we currently send an RR Handover Command referencing the same cell, which is kind of weird.

Now I saw one reason why Assignment doesn't work for handover: in bsc_api.c, in handle_ass_compl(),
we receive the RR Assignment Complete message and dispatch an SS_LCHAN signal S_LCHAN_ASSIGNMENT_COMPL.
However, throughout osmo-bsc, there is not a single handler for S_LCHAN_ASSIGNMENT_COMPL.

This might be another casualty from the split-off from osmo-nitb.

Anyway, it doesn't make sense to me that we send an S_LCHAN_ASSIGNMENT_COMPL,
while the remaining code triggers bsc_subscr_conn_fsm.c GSCON_EV_* events directly.

Fix: Actually handle RR Assignment Complete during handover,
and send RR Assignment Command instead of RR Handover Command for intra-cell HO.

This is not high priority, and should wait until after intra-BSC handover has rippled through the lchan allocation code.

Related issues

Has duplicate OsmoBSC - Feature #2949: use RR Assignment for Handover within a cellResolved02/16/2018

Actions #1

Updated by neels over 4 years ago

  • Blocked by Bug #2283: Inter-BSC hand-over is missing (BSC side) added
Actions #2

Updated by neels about 4 years ago

The new FSM implementations have been merged to osmo-bsc master, but we are still using an RR Handover Command to re-assign an lchan within the same cell; it works ok, but an RR Assignment Command would make more sense. The code is now ready to change this and use the Assignment FSM (?) or use RR Assignment Command from handover FSM (?) for handovers where source and target cells are identical.

Actions #3

Updated by neels about 4 years ago

  • Blocked by deleted (Bug #2283: Inter-BSC hand-over is missing (BSC side))
Actions #4

Updated by neels about 4 years ago

  • Has duplicate Feature #2949: use RR Assignment for Handover within a cell added
Actions #5

Updated by neels about 4 years ago

  • Tracker changed from Bug to Feature
  • Subject changed from handover: intra-cell HO using Assignment cannot possibly work, "RR Assignment Complete" is factually ignored to handover: for intra-cell HO, use RR Assignment Command, not RR Handover Command
Actions #6

Updated by neels almost 4 years ago

actually, now I found a spec snippet that might be interpreted to suggest to rather use the Handover Command:


Internal Intra-Cell Handover Procedure
The definition of internal intra cell handover is given in sub-clause 5.
It is optional that a BSS support internal intra-cell handover. However if it is supported, it should be as follows:
It should be possible to inhibit internal intra-cell handover at an BSS that supports it by operation and maintenance
Internal intra-cell handover occurs between channels on the same cell. It is decided and executed autonomously by the
BSS, so that no message is generated at the BSS-MSC interface, until the completion of the handover execution, when
the BSS sends a HANDOVER PERFORMED message over the SCCP and terrestrial resources that are presently
assigned to that call. Changes in type of resources (for instance channel rate change, speech version change, ciphering
algorithm change) are indicated in the HANDOVER PERFORMED message.

Compare to describing the successful Assignment operation:

If an intra-BSS cell change has
occurred during the assignment, the new cell identity is included in the ASSIGNMENT COMPLETE message and a
HANDOVER PERFORMED message is not required.

The first snippet suggests that a Handover procedure using a Handover Command does exist for changing lchans within the same cell.
The second snippet suggests that during Assignment, no Handover Performed message is needed; but at the same time, the second snippet suggests that even during an Assignment, the BSS may decide to change the cell.

In summary, it seems to me that both are possible and we can choose not to bother and just use RR Handover Command.

Actions #7

Updated by laforge over 2 years ago

in the end, the difference is that with ASSIGNMENT, you must know that
  • the TDMA timing of the old and new channel are identical (guaranteed within one BTS, but implementation option if other BTS have synchronized TDMA clocks
  • the timing advance to be used when establishing the new channel (known within same BTS as it is identical to the old; typically not known for other BTSs unless you happen to be handing over between two sectors of the same site and hence the distance is identical)

For all other cases, HANDOVER must be performed, because the MS will re-sync to the frame clock and send access bursts to establish the timing advance.

Actions #8

Updated by neels over 1 year ago

  • Subject changed from handover: for intra-cell HO, use RR Assignment Command, not RR Handover Command to handover: for intra-cell re-assignment, use Assignment procedure, not Handover
  • Status changed from New to In Progress
  • Priority changed from Low to High
Actions #9

Updated by laforge 10 months ago

neels, this is marked as "in progress" 7 months ago, but no update again?

Actions #10

Updated by neels 10 months ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

Implemented in
commit 69def1f97e427fa65d242f21110f01cb5d0a2818
hodec 2: do intra-cell congestion resolution by Assignment
Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421


Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)