Project

General

Profile

Feature #1846 » messages_we_use.txt

dexter, 03/24/2017 06:28 PM

 
1

    
2

    
3
== Messages we did not rule out in our meeting: ==
4
These are the messages we did not explicitly mentioned as not relevant in
5
our meeting. The messages marked with a + are verified to be used RX or TX
6
by osmo-bsc. From that we can deduct that these messages are the ones that
7
we are interested in.
8

    
9
+ASSIGNMENT REQUEST
10
+ASSIGNMENT COMPLETE
11
+ASSIGNMENT FAILURE
12
 CHANNEL MODIFY REQUEST
13
+CLEAR COMMAND
14
+CLEAR COMPLETE
15
+CLEAR REQUEST
16
 RESOURCE REQUEST
17
+RESET
18
+RESET ACK
19
 RESOURCE INDICATION
20
+PAGING
21
+CLASSMARK UPDATE
22
 CLASSMARK REQUEST
23
+CIPHER MODE COMMAND
24
+CIPHER MODE COMPLETE
25
+CIPHER MODE REJECT
26
+COMPLETE LAYER 3 INFORMATION
27
+SAPI "N" REJECT
28
 RESET CIRCUIT
29
 RESET CIRCUIT ACKNOWLEDGE
30
 CONFUSION
31
 UNEQUIPPED CIRCUIT
32
 LOAD INDICATION
33
 SUSPEND
34
 RESUME
35
 CHANGE CIRCUIT
36
 CHANGE CIRCUIT ACKNOWLEDGE
37
 COMMON ID
38
 LSA INFORMATION
39
 CONNECTION ORIENTED INFORMATION
40
 PERFORM LOCATION REQUEST
41
 PERFORM LOCATION RESPONSE
42
 PERFORM LOCATION ABORT
43
 CONNECTIONLESS INFORMATION
44
 EMERGENCY RESET INDICATION
45
 EMERGENCY RESET COMMAND
46
 RESET RESOURCE
47
 RESET RESOURCE ACKNOWLEDGE
48

    
49
(+ means, message is actually used in osmo-bsc)
50

    
51

    
52

    
53

    
54
== Messages we actually use in osmo-bsc ==
55
This is a rough overview how osmo-bsc processes incoming messages and how it
56
generates messages.
57

    
58
in osmo_bsc_bssap.c:
59
RX:BSS_MAP_MSG_RESET_ACKNOWLEDGE	(no response, only prints log line)
60
RX:BSS_MAP_MSG_PAGING			(no response)
61
RX:BSS_MAP_MSG_CLEAR_CMD		=> CALL:gsm0808_create_clear_complete()		=> TX:BSS_MAP_MSG_CLEAR_COMPLETE
62
RX:BSS_MAP_MSG_CIPHER_MODE_CMD		=> CALL:gsm0808_create_cipher_reject()		=> on error: TX:BSS_MAP_MSG_CIPHER_MODE_REJECT	on success: (no response)
63
RX:BSS_MAP_MSG_ASSIGMENT_RQST		=> CALL:gsm0808_create_assignment_failure()	=> on error: TX:BSS_MAP_MSG_ASSIGMENT_FAILURE	on success: (no response)
64

    
65
in osmo_bsc_api.c:
66
CALL:sapi_n_reject()			=> CALL:gsm0808_create_sapi_reject()		=> TX:BSS_MAP_MSG_SAPI_N_REJECT
67
CALL:cipher_mode_compl()		=> CALL:gsm0808_create_cipher_complete()	=> TX:BSS_MAP_MSG_CIPHER_MODE_COMPLETE
68
CALL:compl_l3()				=> CALL:gsm0808_create_layer3()			=> TX:BSS_MAP_MSG_COMPLETE_LAYER_3 	(what happens in case of failure?)
69
CALL:assign_compl()			=> CALL:gsm0808_create_assignment_completed()	=> TX:BSS_MAP_MSG_ASSIGMENT_COMPLETE
70
CALL:assign_fail()			=> CALL:gsm0808_create_assignment_failure()	=> TX:BSS_MAP_MSG_ASSIGMENT_FAILURE
71
CALL:clear_request()			=> CALL:gsm0808_create_clear_rqst()		=> TX:BSS_MAP_MSG_CLEAR_RQST
72
CALL:classmark_chg()			=> CALL:gsm0808_create_classmark_update()	=> TX:BSS_MAP_MSG_CLASSMARK_UPDATE
73

    
74
in osmo_bsc_msc.c
75
...					=> CALL:gsm0808_create_reset()			=> BSS_MAP_MSG_RESET
76

    
77
We do not use (RX only):
78
gsm0808_create_reset_ack() 		=> BSS_MAP_MSG_RESET_ACKNOWLEDGE 
79
gsm0808_create_clear_command()		=> BSS_MAP_MSG_CLEAR_CMD
80

    
81

    
82

    
83

    
84
== Messages we have to patch: ==
85
To make osmo-bsc AoIP compliant, the following messages have to be patched
86
(extended) to support the new AoIP fields:
87

    
88
+ASSIGNMENT REQUEST		(BSS_MAP_MSG_ASSIGMENT_RQST, rx only, osmo_bsc_bssap.c)
89
	=> Gets new fields: AoIP Transport Layer Address (MGW), Codec List (MSC Preferred), Call Identifier
90
+ASSIGNMENT COMPLETE		(BSS_MAP_MSG_ASSIGMENT_COMPLETE, gsm0808_create_assignment_completed())		(test exists)
91
	=> Gets new fields: AoIP Transport Layer Address (BSS), Speech Codec (Chosen)
92
+ASSIGNMENT FAILURE		(BSS_MAP_MSG_ASSIGMENT_FAILURE, gsm0808_create_assignment_failure())		(test exists)
93
	=> Codec List (BSS Supported)
94
 CLEAR COMMAND
95
 CLEAR COMPLETE
96
 CLEAR REQUEST
97
 RESET
98
 RESET ACK
99
 PAGING
100
 CLASSMARK UPDATE
101
 CIPHER MODE COMMAND
102
 CIPHER MODE COMPLETE
103
 CIPHER MODE REJECT
104
+COMPLETE LAYER 3 INFORMATION	(BSS_MAP_MSG_COMPLETE_LAYER_3, gsm0808_create_layer3())				(test exists)
105
	=> Gets new fields: Codec List (BSS Supported)
106
 SAPI "N" REJECT
107

    
108
(+ means, message needs to be patched)
109

    
110

    
111
== Messages the MSC sends: (do we have a create function for each message?) ==
112
In case we also want to cover the MSC role, the following messeages are needed.
113
The list has been deducted from the messages our BSC is capable to receive.
114

    
115
For the following messages, a create function exists:
116
gsm0808_create_reset_ack()	=> BSS_MAP_MSG_RESET_ACKNOWLEDGE
117
gsm0808_create_clear_command()	=> BSS_MAP_MSG_CLEAR_CMD		
118

    
119
The following messages do not have a create function yet:
120
 BSS_MAP_MSG_PAGING
121
	Fields:
122
	IMSI	
123
		[GSM0808_IE_IMSI]			= { TLV_TYPE_TLV },
124
	TMSI
125
		[GSM0808_IE_TMSI]			= { TLV_TYPE_TLV },
126
	Cell Identifier List
127
		[GSM0808_IE_CELL_IDENTIFIER_LIST]	= { TLV_TYPE_TLV },
128
	Channel Needed
129
		[GSM0808_IE_CHANNEL_NEEDED]		= { TLV_TYPE_TV },
130
	eMLPP Priority
131
		[GSM0808_IE_EMLPP_PRIORITY]		= { TLV_TYPE_TV },
132
	Paging Information
133
		[GSM0808_IE_PAGING_INFO]		= { TLV_TYPE_TV },
134

    
135
 BSS_MAP_MSG_CIPHER_MODE_CMD
136
	Fields:
137
	Layer 3 Header Information
138
		[GSM0808_IE_LAYER_3_HEADER_INFORMATION]	= { TLV_TYPE_TLV },
139
	Encryption Information
140
		[GSM0808_IE_ENCRYPTION_INFORMATION]	= { TLV_TYPE_TLV },
141
	Cipher Response Mode
142
		[GSM0808_IE_CIPHER_RESPONSE_MODE]	= { TLV_TYPE_TV },
143

    
144
 BSS_MAP_MSG_ASSIGMENT_RQST	Does not exist yet! (contains AoIP fields!)
145
	Channel Type
146
		+[GSM0808_IE_CHANNEL_TYPE]		= { TLV_TYPE_TLV },
147
	Layer 3 Header Information
148
		-[GSM0808_IE_LAYER_3_HEADER_INFORMATION]= { TLV_TYPE_TLV },
149
	Priority
150
		-[GSM0808_IE_PRIORITY]			= { TLV_TYPE_TLV },
151
	Circuit Identity Code
152
		+[GSM0808_IE_CIRCUIT_IDENTITY_CODE]	= { TLV_TYPE_FIXED, 2 },
153
	Downlink DTX Flag
154
		-[GSM0808_IE_DOWNLINK_DTX_FLAG]		= { TLV_TYPE_TV },
155
	Interference Band To Be Used
156
		-[GSM0808_IE_INTERFERENCE_BAND_TO_USE]	= { TLV_TYPE_TV },
157
	Classmark Information 2
158
		-[GSM0808_IE_CLASSMARK_INFORMATION_T2]	= { TLV_TYPE_TLV },
159
		field also used by gsm0808_create_classmark_update()
160
		parameter list: const uint8_t *cm2, uint8_t cm2_len
161
	Group Call Reference
162
		-[GSM0808_IE_GROUP_CALL_REFERENCE]	= { TLV_TYPE_TLV },
163
	Talker Flag
164
		-[GSM0808_IE_TALKER_FLAG]		= { TLV_TYPE_T },
165
	Configuration Evolution Indication
166
		-[GSM0808_IE_CONFIG_EVO_INDI]		= { TLV_TYPE_TV },
167
	LSA Access Control Suppression
168
		-[GSM0808_IE_LSA_ACCESS_CTRL_SUPPR]	= { TLV_TYPE_TV },
169
	Service Handover
170
		-[GSM0808_IE_SERVICE_HANDOVER]		= { TLV_TYPE_TLV },
171
	Encryption Information
172
		-[GSM0808_IE_ENCRYPTION_INFORMATION]	= { TLV_TYPE_TLV },
173
	Talker Priority
174
		-[GSM0808_IE_TALKER_PRIORITY]		= { TLV_TYPE_TV },
175
	AoIP Transport Layer Address (MGW)
176
		#[GSM0808_IE_AOIP_TRASP_ADDR]		= { TLV_TYPE_TLV },
177
	Codec List (MSC Preferred)
178
		#[GSM0808_IE_SPEECH_CODEC_LIST]		= { TLV_TYPE_TLV },
179
	Call Identifier
180
		#[GSM0808_IE_CALL_ID]			= { TLV_TYPE_FIXED, 4 },
181

    
182

    
183
(Fields marked with + are understood by our BSC, fields marked with - are
184
 exlicitly ignored, unmarked fields are not checked, fields marked with #
185
 are not yet understood by the BSC, but will be needed to support AoIP)
186

    
187

    
188

    
189

    
190

    
191

    
192

    
(2-2/2)
Add picture from clipboard (Maximum size: 48.8 MB)