summaryrefslogtreecommitdiff
path: root/2018/osmocon2018-lcls/osmocon2018-lcls.adoc
blob: 1f3ee24b5db808d2ad3a14643948a657319ea278 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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 Support

. minimal sub-set without bi-casting
.. in OsmoBSC
... added BSSMAP LCLS IEs/Messages
... use MGCP to re-configure the CN-side RTP connection on OsmoMGW
... development was test-driven (TTCN-3 tests written first)
.. in OsmoMSC
... currently not implemented yet

== 3GPP LCLS: Osmocom Restrictions

. RTP audio looping is done in BSC-colocated MGW
.. saves RTP on A interface between BSC and MSC
.. doesn't save RTP round-trip on Abis between BTS and BSC
. In deployments with a centralized BSC, that's insufficient
.. you want true RTP loop-back betwen the BTSs involved in locally switched call
. implementation pending, should happen rather soon


== 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
personal git repositories of Harald Welte. Your mileage may vary