Project

General

Profile

Actions

Feature #3659

open

handover during LCLS directly between BTSs

Added by laforge over 5 years ago. Updated 10 months ago.

Status:
Stalled
Priority:
High
Assignee:
Category:
RTP/Media
Start date:
10/17/2018
Due date:
% Done:

50%

Spec Reference:

Description

So far, we have implemented LCLS on the BSC level, i.e. in case of a local switch, the RTP stream still goes from BTS A to the BSC-colocated MGW and from there to BTS B. This removes the RTP/voice from A, but not from the Abis side.

In deployments where there are e.g. 3 BTS (A,B,C) at one site, back-hauled via Abis to a BSC in a remote data center, we want the voice to go directly between BTS A and BTS B, without going to the MGW at the BSC.

This basically means that we close the loop not inside our osmo-mgw via MGCP, but that we close it between the two involved BTSs.

Even in a single-remote-BTS use case, this helps in cases where both calling and called subscribers are attached to that same BTS.


Files


Checklist

  • add TTCN tests for RSL MDCX
  • add RSL MDCX to BSC LCLS
  • handle LCLS-MGW in handover
  • handle LCLS-BTS in handover
  • add TCCN test handover with LCLS-MGW
  • add TCCN test handover with LCLS-BTS

Related issues

Related to OsmoBSC - Feature #1602: BSC side of LCLS (local call local switching) as per the 3GPP specsResolveddexter02/23/2016

Actions
Related to OsmoBSC - Bug #3413: TC_lcls_connect_clear does not pass anymore.Resolvedneels07/23/2018

Actions
Related to OsmoMSC - Feature #2487: MSC side of LCLS (local call local switching) as per the 3GPP specsStalledkeith09/03/2017

Actions
Related to OsmoBSC - Feature #3586: support LCLS for inter-BSC handoverNewneels09/24/2018

Actions
Related to OsmoMSC - Feature #1609: Inter-BSC hand-over is missing (MSC side)Resolvedneels11/21/201611/21/2016

Actions
Related to OsmoMGW - Feature #3429: idea: auto-cleanup endpoints after long period of inactivity?Resolvedosmith07/28/2018

Actions
Related to OsmoMGW - Feature #3783: Make conn-timeout compatible with LCLSResolvedosmith02/06/2019

Actions
Actions #1

Updated by laforge over 5 years ago

  • Priority changed from Normal to Urgent
Actions #2

Updated by msuraev over 5 years ago

  • Related to Feature #1602: BSC side of LCLS (local call local switching) as per the 3GPP specs added
Actions #3

Updated by msuraev over 5 years ago

  • Status changed from New to In Progress

Preparing test setup using fake_trx/virtphy to check signalling locally.

Actions #4

Updated by msuraev over 5 years ago

On a related note: right now TTCN-3 TC_lcls_connect_clear() fails due to commit 6fe125294b219a519c77f7140de26870d17bf40a in OsmoBSC. Reverting just this commit doesn't fix it though so it's also affected by some changes in related commits as well.

The failing part in TC_lcls_connect_clear is probably CONN_A.receive(tr_RSL_DATA_REQ(?, tr_RslLinkID_DCCH(0), l3_rr_chan_rel)) due to missing "DATA REQuest (DTAP) (RR) Channel Release" packet - see difference in .pcap from https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/369/ and https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/370/

Actions #5

Updated by msuraev over 5 years ago

  • % Done changed from 0 to 30

Implemented "lcls-mode bts-loop" in gerrit 11552, corresponding tests are in 11559 - WIP. Related preparation patches are under review.

Actions #6

Updated by msuraev over 5 years ago

  • Related to Bug #3413: TC_lcls_connect_clear does not pass anymore. added
Actions #7

Updated by msuraev over 5 years ago

  • Related to Feature #2487: MSC side of LCLS (local call local switching) as per the 3GPP specs added
Actions #8

Updated by msuraev over 5 years ago

  • Checklist item add TTCN tests for RSL MDCX added
  • Checklist item add RSL MDCX to BSC LCLS added
  • Checklist item handle LCLS-MGW in handover added
  • Checklist item handle LCLS-BTS in handover added
  • Checklist item add TCCN test handover with LCLS-MGW added
  • Checklist item add TCCN test handover with LCLS-BTS added
  • % Done changed from 30 to 20
Actions #9

Updated by msuraev over 5 years ago

  • Checklist item add TTCN tests for RSL MDCX set to Done
Actions #10

Updated by msuraev over 5 years ago

  • % Done changed from 20 to 30

Almost all related libosmocore code is merged (except for gerrit 11703), TTCN-3 tests for RSL MDCX are merged but will fail until gerrit 11552 and 11550 are merged.

Actions #11

Updated by msuraev about 5 years ago

  • Checklist item add RSL MDCX to BSC LCLS set to Done
Actions #12

Updated by msuraev about 5 years ago

  • % Done changed from 30 to 40
Both BTS and MGW variants are tested using unmerged (yet) code from #2487 and work fine. Handover-related cases are pending on completion of handover implementation in #3586. What remains in addition to handover is to check that:
  • LCLS break works as intended (needs corresponding MSC code)
  • both variants work fine when closing the loop between phones connected to different BTS (using osmocom-bb "stick" feature to use explicit ARFCN)

Remaining patches: libosmocore 7, OsmoBSC 4.

Actions #13

Updated by msuraev about 5 years ago

  • Related to Feature #3586: support LCLS for inter-BSC handover added
Actions #14

Updated by msuraev about 5 years ago

  • Related to Feature #1609: Inter-BSC hand-over is missing (MSC side) added
Actions #15

Updated by msuraev about 5 years ago

LCLS-BTS is not working when 2 phones are connected to different BTS: the loop is established but but no voice can be heard. Investigation is in progress.

Actions #16

Updated by msuraev about 5 years ago

  • Related to Feature #3429: idea: auto-cleanup endpoints after long period of inactivity? added
Actions #17

Updated by msuraev about 5 years ago

  • Related to Feature #3783: Make conn-timeout compatible with LCLS added
Actions #18

Updated by msuraev almost 5 years ago

  • Status changed from In Progress to Stalled
  • % Done changed from 40 to 50

The test failure with 2 BSC connected to OsmoMSC could be reproduced using https://gerrit.osmocom.org/c/osmo-msc/+/13422 and related patches.

The unfinished implementation which simplifies troubleshooting is available in https://gerrit.osmocom.org/c/osmo-bsc/+/13419

Actions #19

Updated by laforge almost 5 years ago

  • Assignee changed from msuraev to dexter
  • Priority changed from Urgent to High
Actions #20

Updated by laforge almost 5 years ago

  • Assignee changed from dexter to Hoernchen
Actions #21

Updated by laforge over 4 years ago

  • Assignee changed from Hoernchen to dexter
Actions #22

Updated by dexter about 4 years ago

We have inspected the code now and the implementation looks more complete as expected. Even TTCN3 tests seem to be there:

BSC_Tests_LCLS.TC_lcls_bts_gcr_bway_connect
BSC_Tests_LCLS.TC_lcls_bts_gcr_bway_connect_hr
BSC_Tests_LCLS.TC_lcls_bts_connect_break

I have looked at the wireshark trace of TC_lcls_bts_gcr_bway_connect and it looks good. However I will give this also a try in a lab setup to see if it really works.

Actions #23

Updated by dexter about 4 years ago

  • Status changed from Stalled to In Progress
Actions #24

Updated by dexter about 4 years ago

I had a look at the osmo-msc code. Apparently we do not have support for LCLS there yet. At least during assignment the GCR and the other LCLS related info is not generated. I have added some hardcoded values here and then it works (see attached trace). I do not know if it is enough to set some static configuration for LCLS via VTY, at least the Node ID would be static. The GCR is probably more difficult. The MSC would need to correlate the incoming calls and assign equal GCRs to each pair of calls.

Actions #25

Updated by neels about 4 years ago

  • Tracker changed from Bug to Feature
Actions #26

Updated by laforge almost 4 years ago

  • Subject changed from LCLS directly between BTSs to handover during LCLS directly between BTSs
  • Status changed from In Progress to New
  • Assignee deleted (dexter)
Actions #27

Updated by laforge over 3 years ago

  • Status changed from New to Feedback
  • Assignee set to dexter
Actions #28

Updated by laforge over 3 years ago

dexter wrote:

We have inspected the code now and the implementation looks more complete as expected. Even TTCN3 tests seem to be there:

can you please check with checklist items can then be checked off? Where are we in terms of this ticket overall status?

Actions #29

Updated by laforge over 3 years ago

dexter wrote:

I had a look at the osmo-msc code. Apparently we do not have support for LCLS there yet.

This ticket is an OsmoBSC ticket; whether or not OsmoMSC supports it is not relevant. We can test in TTCN3.

Actions #30

Updated by dexter over 3 years ago

  • Status changed from Feedback to In Progress
Actions #31

Updated by laforge over 3 years ago

  • Status changed from In Progress to Stalled
Actions #32

Updated by keith over 1 year ago

I started some work on making LCLS with Handover fail better in https://gerrit.osmocom.org/plugins/gitiles/osmo-bsc/+/refs/heads/keith/LCLS_HO

As regards #2487 I'll add a note there.

Actions #33

Updated by laforge over 1 year ago

laforge wrote in #note-28:

can you please check with checklist items can then be checked off? Where are we in terms of this ticket overall status?

I would appreciate if anyone could help documenting the current status here (as checkbox items or otherwise), as I requested dexter to do two years ago. By now I assume everyone has lost all context and forgot about it. But it's important to know what is the status / expectation toward the current code.

Actions #34

Updated by dexter 10 months ago

In a recent discussion about this with keith the following idea came up: In the moment before handover the LCLS connection could be switched back to normal (full end to end path). Then the handover could be performed normally. After handover LCLS could be turned back on. This also makes sense since we do not know if LCLS could be performed at the target cell.

Actions #35

Updated by keith 10 months ago

Just to add, dexter I did make this switch off LCLS when HO starts and switch it back on HO complete "work" with a few simple lines of code.(branches mentioned in this and related tickets).

I think we need to inform the MSC though. it's not clear to me if the ttcn3 tests are implemented for that. Anyway, #note-29 notwithstanding, it's better for me to be able to test things against the actual MSC, so I would suggest an association of this ticket, to not say dependency with #2487

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)