Project

General

Profile

Local Call Local Switch » History » Version 8

msuraev, 10/17/2018 12:03 PM
fix typo

1 5 laforge
{{>toc}}
2 5 laforge
3 1 laforge
h1. Local Call Local Switch
4 1 laforge
5 1 laforge
In the classic 3GPP architecture, all calls go from BTS to BSC to MSC, only then to go back all the same way in case the second call leg is also in the same cell.  Particularly in case of statellite or other expensive/slow back-haul this is far from ideal.
6 1 laforge
7 1 laforge
Using LCLS, a BSC can know which of the two call legs belong to one call, and can then directly bridge the RTP/media locally.
8 1 laforge
9 4 laforge
h2. Affected messages
10 4 laforge
11 4 laforge
h3. BSSMAP ASSIGNMENT REQUEST
12 4 laforge
13 4 laforge
This message may contain the following, LCLS related IEs:
14 4 laforge
* Global Call Reference
15 4 laforge
* LCLS Configuration
16 4 laforge
* LCLS Connection Status Control
17 4 laforge
* LCLS Correlation Not Needed
18 4 laforge
19 4 laforge
Using those LCLS related IEs, the MSC can grant the BSS to elect to use LCLS for this call [leg].
20 4 laforge
21 4 laforge
h3. BSSMAP ASSIGNMENT COMPLETE
22 4 laforge
23 4 laforge
* LCLS BSS Status
24 4 laforge
25 4 laforge
Using this, the BSC can inform the MSC on whether or not LCLS was enabled.
26 4 laforge
27 4 laforge
h3. BSSMAP HANDOVER REQUEST
28 4 laforge
29 6 laforge
* Global Call Reference
30 4 laforge
* LCLS Configuration
31 4 laforge
* LCLS Connection Status Control
32 4 laforge
33 4 laforge
Request from MSC to target BSC. The MSC specifies which kind of LCLS (if any) is permitted and/or requested.
34 4 laforge
35 4 laforge
h3. BSSMAP HANDOVER REQUEST ACK
36 4 laforge
37 4 laforge
* LCLS BSS Status
38 4 laforge
39 8 msuraev
Acknowledgement from target BSC to MSC in response to a @BSSMAP HANDOVER REQUEST@.
40 4 laforge
The LCLS BSS Status contains the [possibly modified] LCLS status for the call.
41 4 laforge
42 4 laforge
h3. BSSMAP HANDOVER COMPLETE
43 4 laforge
44 4 laforge
* LCLS BSS Status
45 4 laforge
46 4 laforge
Informs the MSC that the MS has successfully accessed the target cell. The LCLS BSS Status contains the [possibly modified] LCLS status for the call.
47 4 laforge
48 4 laforge
h3. BSSMAP HANDOVER PERFORMED
49 4 laforge
50 4 laforge
* LCLS BSS Status
51 4 laforge
52 4 laforge
unilateral notification from BSC to MSC about an internal (intra-BSC) hand-over having been performed.  The LCLS BSS Status contains the [possibly modified] LCLS status for the call.
53 4 laforge
54 4 laforge
h3. BSSMAP INTERNAL HANDOVER CMD
55 4 laforge
56 4 laforge
* LCLS Connection Status Control
57 4 laforge
58 4 laforge
This is sent in AoIP from MSC to BSC in response to am earlier @BSMAP INTERNAL HANDOVER REQUIRED@. We don't implement this in OsmoBSC.
59 4 laforge
60 4 laforge
h3. BSSMAP LCLS CONNECT CONTROL
61 4 laforge
62 4 laforge
* LCLS Configuration
63 4 laforge
* LCLS Connection Status Control
64 4 laforge
65 4 laforge
Sent by MSC to BSC in order to change the configuration/permission of LCLS during an ongoing call.
66 4 laforge
67 4 laforge
h3. BSSMAP LCLS CONNET CONTROL ACK
68 4 laforge
69 4 laforge
* LCLS BSS Status
70 4 laforge
71 4 laforge
Sent by BSC to MSC in response to a @BSSMAP LCLS CONNECT CONTROL@, indicating the [possibly updated] LCLS status.
72 4 laforge
73 4 laforge
h3. BSSMAP LCLS NOTIFICATION
74 4 laforge
75 4 laforge
* LCLS BSS Status
76 4 laforge
* LCLS Break Request
77 4 laforge
78 4 laforge
This message is sent from the BSC to the MSC to inform it about some changes in the LCLS status.  This could e.g. be the case after a BSS-internal hand-over where the new BTS/channel doesn't support LCLS.
79 4 laforge
80 7 laforge
h2. Implementation Ideas
81 7 laforge
82 7 laforge
h3. Information storage
83 7 laforge
84 7 laforge
Each @bsc_subscr_conn@ should contain
85 7 laforge
* uint8_t lcls_config (4 bit field + presence 1/0)
86 7 laforge
* uint8_t lcls_csc (4 bit field + presence 1/0)
87 7 laforge
* uint8_t gcr[15]
88 7 laforge
* uint8_t gcr_len;
89 7 laforge
90 7 laforge
Every time we receive LCLS CFG or CSC, we have to update this state in the @bsc_subscr_conn@ and (as needed) change the user plane switching via MGCP
91 7 laforge
92 7 laforge
93 7 laforge
h3. check_and_enable_lcls()
94 7 laforge
95 7 laforge
# does own CFG + CSC permit LCLS?
96 7 laforge
# do we have another call with same Global Call ID?
97 7 laforge
# does other leg CFG + CSC permit LCLS?
98 7 laforge
#* activate LCLS, update state variables
99 7 laforge
#* send NOTIFY for other leg to MSC
100 7 laforge
101 7 laforge
h3. MGW bits
102 7 laforge
103 7 laforge
h4. LCLS_CFG_both_way
104 7 laforge
105 7 laforge
the easiest option: connect own MGCP EP to other MGCP EP
106 7 laforge
* requires MGCP MDCX on our side + other side
107 7 laforge
108 7 laforge
h4. LCLS_CFG_both_way_and_bicast_UL
109 7 laforge
110 7 laforge
h4. LCLS_CFG_both_way_and_send_DL
111 7 laforge
112 7 laforge
h4. LCLS_CFG_both_way_and_send_DL_block_local_DL
113 7 laforge
114 7 laforge
* connect other MGCP EP to local MGCP EP (using MDCX)
115 7 laforge
* switch other MGCP EP into recvonly mode, discarding whatever it sends
116 7 laforge
* TBD
117 7 laforge
118 7 laforge
h4. LCLS_CFG_both_way_and_bicast_UL_send_DL
119 7 laforge
120 7 laforge
* TBD
121 7 laforge
122 7 laforge
h4. LCLS_CFG_both_way_and_bicast_UL_send_DL_block_local_DL
123 7 laforge
124 7 laforge
* TBD
125 7 laforge
126 1 laforge
h2. Spec references
127 1 laforge
128 1 laforge
* http://www.3gpp.org/DynaReport/23284.htm
129 2 laforge
** "3GPP TS 23.284 Rel 14":http://www.etsi.org/deliver/etsi_ts/123200_123299/123284/14.00.00_60/ts_123284v140000p.pdf
130 1 laforge
* http://www.3gpp.org/DynaReport/WiCr--440021.htm
131 1 laforge
* http://www.3gpp.org/DynaReport/WiCr--430001.htm
132 3 laforge
133 3 laforge
h2. Other references
134 3 laforge
135 3 laforge
* OsmoDevCon 2018 video: https://media.ccc.de/v/DVE7UU
136 3 laforge
* OsmoDevCon 2018 slides: https://pretalx.sysmocom.de/media/osmodevcon2018-lcls.pdf
Add picture from clipboard (Maximum size: 48.8 MB)