From b26ddd7e44f23e712fe1cd3c72d5d5d3ca4dbbec Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 12 Apr 2018 22:30:55 +0200 Subject: osmodevcon2018 LCLS --- 2018/osmodevcon2018-lcls/lcls-announcement.png | Bin 0 -> 131455 bytes 2018/osmodevcon2018-lcls/lcls-conn_model_1.png | Bin 0 -> 121708 bytes 2018/osmodevcon2018-lcls/lcls-conn_model_2.png | Bin 0 -> 88010 bytes 2018/osmodevcon2018-lcls/lcls-overview.png | Bin 0 -> 122921 bytes 2018/osmodevcon2018-lcls/osmodevcon2018-lcls.adoc | 111 + 2018/osmodevcon2018-lcls/osmodevcon2018-lcls.html | 4272 +++++++++++++++++++++ 6 files changed, 4383 insertions(+) create mode 100644 2018/osmodevcon2018-lcls/lcls-announcement.png create mode 100644 2018/osmodevcon2018-lcls/lcls-conn_model_1.png create mode 100644 2018/osmodevcon2018-lcls/lcls-conn_model_2.png create mode 100644 2018/osmodevcon2018-lcls/lcls-overview.png create mode 100644 2018/osmodevcon2018-lcls/osmodevcon2018-lcls.adoc create mode 100644 2018/osmodevcon2018-lcls/osmodevcon2018-lcls.html diff --git a/2018/osmodevcon2018-lcls/lcls-announcement.png b/2018/osmodevcon2018-lcls/lcls-announcement.png new file mode 100644 index 0000000..f28e534 Binary files /dev/null and b/2018/osmodevcon2018-lcls/lcls-announcement.png differ diff --git a/2018/osmodevcon2018-lcls/lcls-conn_model_1.png b/2018/osmodevcon2018-lcls/lcls-conn_model_1.png new file mode 100644 index 0000000..ee778d5 Binary files /dev/null and b/2018/osmodevcon2018-lcls/lcls-conn_model_1.png differ diff --git a/2018/osmodevcon2018-lcls/lcls-conn_model_2.png b/2018/osmodevcon2018-lcls/lcls-conn_model_2.png new file mode 100644 index 0000000..371d2c9 Binary files /dev/null and b/2018/osmodevcon2018-lcls/lcls-conn_model_2.png differ diff --git a/2018/osmodevcon2018-lcls/lcls-overview.png b/2018/osmodevcon2018-lcls/lcls-overview.png new file mode 100644 index 0000000..585ecbe Binary files /dev/null and b/2018/osmodevcon2018-lcls/lcls-overview.png differ diff --git a/2018/osmodevcon2018-lcls/osmodevcon2018-lcls.adoc b/2018/osmodevcon2018-lcls/osmodevcon2018-lcls.adoc new file mode 100644 index 0000000..549763a --- /dev/null +++ b/2018/osmodevcon2018-lcls/osmodevcon2018-lcls.adoc @@ -0,0 +1,111 @@ +3GPP LCLS (Local Call, Local Switch) +==================================== +:author: Harald Welte +:copyright: 2018 by Harald Welte (License: CC-BY-SA) +:backend: slidy +:max-width: 45em + +== Classic GSM User Plane + +* user plane joins signaling plane at all times +* voice circuit between two phones in same BTS +** goes from BTS to BSC (Abis) where a BSC-colocated TRAU is located +** goes from BSC to MSC (A, typiclaly G.711)) +** returns from MSC to same BSC +** returns from same BSC to same BTS +* this is of course far from optimal + +== Problems with classic approach + +* works great with low-latency, land-based/wired TDM network +* works not well with remote sites connected via satellite (VSAT) +** maritime sector +** rural BTSs in areas where no other back-haul is available +* various vendors have implemented proprietary solutions +** conveniently creating vendor lock-in + +== 3GPP LCLS to the rescue + +* official 3GPP standard appears to solve the problem in interoperable fashion +* underlying principle quite simple: +** each call gets a _Global Call Reference_ on A inerface +** this allows BSC to identify two legs of same call +** this enables BSC to locally switch the user plane between such calls + +image::lcls-overview.png[width=100%] + +== 3GPP LCLS problem domains + +* early media / alerting phase +* what about playback of voice announcements ("your prepaid account is low")? +* what about lawful interception? +* what about hand-over implications (intra-BSC, inter-BSC, inter-MSC, inter-RAT, ...)? + +== 3GPP LCLS early media + +image::lcls-conn_model_1.png[width=100%] + +== 3GPP LCLS early media + +image::lcls-conn_model_2.png[width=100%] + +== 3GPP LCLS tone / announcement + +image::lcls-announcement.png[width=100%] + +== 3GPP LCLS: Negotiation in CN + +* don't blindly activate LCLS, but _negotiate_ it +** all calls start non-locally switched +* LCLS negotiation on Nc interface (ISUP, BICC, SIP-I) between MSCs +* LCLS negotiation only succeeds if all CN (MSC) support it +** LCLS-Negotiation-Request IE +** LCLS-Negotiation-Response IE +** LCLS-Configuration-Preference IE + +== 3GPP LCLS Negotiation results + +* variety of different possible media configurations (examples) +** classic non-local (non-LCLS) +** connected both-way in BSS (basic LCLS) +** connected both way in BSS _and_ bi-casted UL to CN +** connected both way in BSS _and_ send access DL from CN +*** BSS may combine or replace local DL data with DL data from CN +** connected both way in BSS _and_ send access DL from CN, block local DL + +== 3GPP LCLS: Implications on A / BSSMAP + +* BSS is instructed about media configuration in BSSMAP +** during call establishment +*** BSSMAP ASSIGNMENT REQ with GCR + LCLS-Config IEs +*** BSSMAP ASSIGNMENT COMPLETE with LCLS-BSS-Status IE +** during handover +*** BSSMAP HANDOVER COMPLETE with LCLS-BSS-Status IE +** at any other time +*** BSSMAP LCLS-NOTIFICATION from BSS -> MSS +*** BSSMAP LCLS-CONNECT-CONTROL message MSS -> BSS + +== 3GPP LCLS: Osmocom Plans + +. Plan: support minimal sub-set without bi-casting +.. in OsmoBSC +... requires us to add BSSMAP LCLS IEs/Messages +... will use MGCP to re-configure the CN-side RTP connection on OsmoMGW +... development will be test-driven (develop TTCN-3 tests first) +.. in OsmoMSC (only among RANs connected to single MSC) +... requires us to permit/enable LCLS on AoIP + + +== Further Reading + +* 3GPP TS 23.284 http://www.3gpp.org/DynaReport/23284.htm +* 3GPP WI 430001 (LCLS-CN) http://www.3gpp.org/DynaReport/WiCr--440021.htm +* 3GPP WI 440021 http://www.3gpp.org/DynaReport/WiCr--440021.htm +* http://osmocom.org/projects/cellular-infrastructure/wiki/Local_Call_Local_Switch +* Osmocom tickets +** http://osmocom.org/issues/1602 +** http://osmocom.org/issues/2487 + +== EOF + +End of File diff --git a/2018/osmodevcon2018-lcls/osmodevcon2018-lcls.html b/2018/osmodevcon2018-lcls/osmodevcon2018-lcls.html new file mode 100644 index 0000000..938f2ff --- /dev/null +++ b/2018/osmodevcon2018-lcls/osmodevcon2018-lcls.html @@ -0,0 +1,4272 @@ + + + + +3GPP LCLS (Local Call, Local Switch) + + + + + + + + +
+

Classic GSM User Plane

+
+
    +
  • + +user plane joins signaling plane at all times + +
  • +
  • + +voice circuit between two phones in same BTS + +
      +
    • + +goes from BTS to BSC (Abis) where a BSC-colocated TRAU is located + +
    • +
    • + +goes from BSC to MSC (A, typiclaly G.711)) + +
    • +
    • + +returns from MSC to same BSC + +
    • +
    • + +returns from same BSC to same BTS + +
    • +
    +
  • +
  • + +this is of course far from optimal + +
  • +
+
+
+
+

Problems with classic approach

+
+
    +
  • + +works great with low-latency, land-based/wired TDM network + +
  • +
  • + +works not well with remote sites connected via satellite (VSAT) + +
      +
    • + +maritime sector + +
    • +
    • + +rural BTSs in areas where no other back-haul is available + +
    • +
    +
  • +
  • + +various vendors have implemented proprietary solutions + +
      +
    • + +conveniently creating vendor lock-in + +
    • +
    +
  • +
+
+
+
+

3GPP LCLS to the rescue

+
+
    +
  • + +official 3GPP standard appears to solve the problem in interoperable fashion + +
  • +
  • + +underlying principle quite simple: + +
      +
    • + +each call gets a Global Call Reference on A inerface + +
    • +
    • + +this allows BSC to identify two legs of same call + +
    • +
    • + +this enables BSC to locally switch the user plane between such calls + +
    • +
    +
  • +
+
+
+width=100% +
+
+
+
+
+

3GPP LCLS problem domains

+
+
    +
  • + +early media / alerting phase + +
  • +
  • + +what about playback of voice announcements ("your prepaid account is low")? + +
  • +
  • + +what about lawful interception? + +
  • +
  • + +what about hand-over implications (intra-BSC, inter-BSC, inter-MSC, inter-RAT, …)? + +
  • +
+
+
+
+

3GPP LCLS early media

+
+
+
+width=100% +
+
+
+
+
+

3GPP LCLS early media

+
+
+
+width=100% +
+
+
+
+
+

3GPP LCLS tone / announcement

+
+
+
+width=100% +
+
+
+
+
+

3GPP LCLS: Negotiation in CN

+
+
    +
  • + +don’t blindly activate LCLS, but negotiate it + +
      +
    • + +all calls start non-locally switched + +
    • +
    +
  • +
  • + +LCLS negotiation on Nc interface (ISUP, BICC, SIP-I) between MSCs + +
  • +
  • + +LCLS negotiation only succeeds if all CN (MSC) support it + +
      +
    • + +LCLS-Negotiation-Request IE + +
    • +
    • + +LCLS-Negotiation-Response IE + +
    • +
    • + +LCLS-Configuration-Preference IE + +
    • +
    +
  • +
+
+
+
+

3GPP LCLS Negotiation results

+
+
    +
  • + +variety of different possible media configurations (examples) + +
      +
    • + +classic non-local (non-LCLS) + +
    • +
    • + +connected both-way in BSS (basic LCLS) + +
    • +
    • + +connected both way in BSS and bi-casted UL to CN + +
    • +
    • + +connected both way in BSS and send access DL from CN + +
        +
      • + +BSS may combine or replace local DL data with DL data from CN + +
      • +
      +
    • +
    • + +connected both way in BSS and send access DL from CN, block local DL + +
    • +
    +
  • +
+
+
+
+

3GPP LCLS: Implications on A / BSSMAP

+
+
    +
  • + +BSS is instructed about media configuration in BSSMAP + +
      +
    • + +during call establishment + +
        +
      • + +BSSMAP ASSIGNMENT REQ with GCR + LCLS-Config IEs + +
      • +
      • + +BSSMAP ASSIGNMENT COMPLETE with LCLS-BSS-Status IE + +
      • +
      +
    • +
    • + +during handover + +
        +
      • + +BSSMAP HANDOVER COMPLETE with LCLS-BSS-Status IE + +
      • +
      +
    • +
    • + +at any other time + +
        +
      • + +BSSMAP LCLS-NOTIFICATION from BSS → MSS + +
      • +
      • + +BSSMAP LCLS-CONNECT-CONTROL message MSS → BSS + +
      • +
      +
    • +
    +
  • +
+
+
+
+

3GPP LCLS: Osmocom Plans

+
+
    +
  1. + +Plan: support minimal sub-set without bi-casting + +
      +
    1. + +in OsmoBSC + +
        +
      1. + +requires us to add BSSMAP LCLS IEs/Messages + +
      2. +
      3. + +will use MGCP to re-configure the CN-side RTP connection on OsmoMGW + +
      4. +
      5. + +development will be test-driven (develop TTCN-3 tests first) + +
      6. +
      +
    2. +
    3. + +in OsmoMSC (only among RANs connected to single MSC) + +
        +
      1. + +requires us to permit/enable LCLS on AoIP + +
      2. +
      +
    4. +
    +
  2. +
+
+
+ +
+

EOF

+
+

End of File

+
+
+ + -- cgit v1.2.3