osmodevcon2018 LCLS
This commit is contained in:
parent
f1a0cedd3a
commit
b26ddd7e44
Binary file not shown.
After Width: | Height: | Size: 128 KiB |
Binary file not shown.
After Width: | Height: | Size: 119 KiB |
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
Binary file not shown.
After Width: | Height: | Size: 120 KiB |
|
@ -0,0 +1,111 @@
|
||||||
|
3GPP LCLS (Local Call, Local Switch)
|
||||||
|
====================================
|
||||||
|
:author: Harald Welte <laforge@gnumonks.org>
|
||||||
|
: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
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue