Project

General

Profile

Feature #1602

BSC side of LCLS (local call local switching) as per the 3GPP specs

Added by laforge over 2 years ago. Updated 19 days ago.

Status:
In Progress
Priority:
High
Assignee:
Category:
-
Start date:
02/23/2016
Due date:
% Done:

90%

Estimated time:
Spec Reference:
Tags:

Description

Some deployments use OsmoBSC with its support to connect to multiple MSCs simultaneously in order to have local call switching.

Let's study the 3GPP LCLS feature and see how that can help us in that regard, maybe it has a better/cleaner/more standard way to do it?


Related issues

Related to OsmoMSC - Feature #2487: MSC side of LCLS (local call local switching) as per the 3GPP specsNew2017-09-03

History

#1 Updated by laforge over 1 year ago

  • Assignee set to wirelesss
  • Priority changed from Low to Normal

please review the specs (or other information you can find online) regarding LCLS and try to summarize how it works in a small set of slides you can show to the team.

#2 Updated by wirelesss over 1 year ago

  • Status changed from New to In Progress

I have started to read and collect information about local call local switching.

#3 Updated by laforge over 1 year ago

  • Status changed from In Progress to New
  • Assignee changed from wirelesss to laforge

#4 Updated by laforge 10 months ago

  • Project changed from OsmoNITB to OsmoBSC
  • Assignee deleted (laforge)

#5 Updated by laforge 10 months ago

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

#6 Updated by laforge 9 months ago

  • Subject changed from Investigate LCLS (local call local switching) as per the 3GPP specs to BSC side of LCLS (local call local switching) as per the 3GPP specs

#7 Updated by laforge 9 months ago

  • Checklist item LCLS implementation in OsmoBSC added
  • Checklist item test suite to test LCLS in OsmoBSC added
  • Checklist item jenkins / CI integration of test suite added

#8 Updated by laforge 8 months ago

  • Target version set to 3GPP LCLS

#9 Updated by laforge 5 months ago

  • Priority changed from Normal to High

#10 Updated by laforge 4 months ago

  • Assignee set to neels

#11 Updated by laforge 23 days ago

  • Tags set to LCLS

#12 Updated by laforge 22 days ago

  • Status changed from New to In Progress
  • Assignee changed from neels to laforge
  • % Done changed from 0 to 20
I've been making some headway on this in the laforge/lcls branches:

both need quite some more work, but I think I've figured out the state machine with all of its transitions by now.

#13 Updated by laforge 21 days ago

I've made significant progress on the testing side, although I hit a Titan compiler bug (see https://www.eclipse.org/forums/index.php/t/1093530/) as well as some shortcomings in our *_Emulation components, see https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/9403/

#14 Updated by laforge 21 days ago

  • Checklist item wireshark support added
  • % Done changed from 20 to 30

during the first tests, it became apparent that wireshark wasn't able to decode LCLS specific PDUs. I've created a patch and submitted it at https://code.wireshark.org/review/#/c/27941/

#15 Updated by laforge 20 days ago

  • Checklist item prevent LCLS enabling on calls of different codecs added
  • % Done changed from 30 to 70

the tests for LCLS related signaling are rather complete now, and they all pass with my latest version of the OsmoBSC LCLS FSM.

The only missing bit now is to actually implement the body of the functions that enable/disable the local switching of the voice, i.e. that issue the MGCP commands.

Thinking about it:

  • enable LCLS for a given call
    • Issue MGCP MDCX on MSC-side connection on MGCP endpoint of call A to point to IP/Port of call B
    • Issue MGCP MDCX on MSC-side connection on MGCP endpoint of call B to point to IP/Port of call A
  • disable LCLS for a given call
    • Issue MGCP MDCX on MSC-side connection on MGCP endpoint of call A to point back to MSC/MGW
    • Issue MGCP MDCX on MSC-side connection on MGCP endpoint of call B to point back to MSC/MGW

So we have to cache the ip/port information of the MGW/MSC during ongoing local switching, as we don't receive that information [again] once we switch back.

Known limitation: Until the MGW can perform transcoding, calls with mis-matching codecs will break. We should add some provision into OsmoBSC that would prevent activating LCLS on two calls of different codecs until the MGW can transcode.

There will also be LCLS implications at the time we do inter-BSC hand-over. This will have to be looked into once inter-BSC HO is merged.

#16 Updated by laforge 20 days ago

laforge wrote:

during the first tests, it became apparent that wireshark wasn't able to decode LCLS specific PDUs. I've created a patch and submitted it at https://code.wireshark.org/review/#/c/27941/

wireshark patch is already accepted / merged to master.

#17 Updated by laforge 20 days ago

  • Checklist item add vty/config command to enable/disable LCLS on per-MSC basis added
  • Checklist item logging of related BSSMAP messages, not just FSM auto-logging added

#18 Updated by laforge 20 days ago

  • % Done changed from 70 to 90

https://gerrit.osmocom.org/#/c/osmo-bsc/+/9416 has been updated. It now actually performs local switching via MGCP MDCX re-configuration of OsmoMGW.

The test suite in https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/9412 has equally been extended to verify the actual MGCP user plane switching functionality.

#19 Updated by laforge 20 days ago

  • Checklist item LCLS implementation in OsmoBSC set to Done
  • Checklist item test suite to test LCLS in OsmoBSC set to Done
  • Checklist item logging of related BSSMAP messages, not just FSM auto-logging set to Done

#20 Updated by laforge 19 days ago

  • Checklist item add vty/config command to enable/disable LCLS on per-MSC basis set to Done

bsc code + testsuite has been merged to respective master branch, and VTY config option to enable/disalbe LCLS has been added. Working on CI execution of tests now.

#21 Updated by laforge 19 days ago

  • Checklist item jenkins / CI integration of test suite set to Done

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)