LCLS directly between BTSs
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.
- add TTCN tests for RSL MDCX
- add RSL MDCX to BSC LCLS
- handle LCLS-MGW in handover
- add TCCN test handover with LCLS-MGW
- handle LCLS-BTS in handover
- add TCCN test handover with LCLS-BTS
#4 Updated by msuraev about 1 year 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/
#8 Updated by msuraev about 1 year 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
#12 Updated by msuraev about 1 year ago
- % Done changed from 30 to 40
- 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.
- Status changed from In Progress to Stalled
- % Done changed from 40 to 50
We have inspected the code now and the implementation looks more complete as expected. Even TTCN3 tests seem to be there:
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.
- File lcls_bts_loop_experiment_with_osmo-bsc_and_osmo_msc_08012020.pcapng lcls_bts_loop_experiment_with_osmo-bsc_and_osmo_msc_08012020.pcapng added
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.