1 // :vim setet ts=4 sw=4:
3 ==================================================================================
4 Copyright (c) 2019-2020 Nokia
5 Copyright (c) 2018-2020 AT&T Intellectual Property.
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
11 http://www.apache.org/licenses/LICENSE-2.0
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 ==================================================================================
25 Header file defining message types for various RMR messages.
26 This file is an exception: please expand tabs.
30 This file is scraped and documentation is produced from the comments. Block
31 comments which have have a plus sign immediately following the asterisk
32 (e.g. /*+) will be interpereted as a header, followed by a paragraph
33 of text. Blank lines are preserved, and consecutive text lines are combined
34 such that the convenient method of starting a new sentance on a new line
37 Line comments which have a trailing plus sign (e.g. //+) are used to document
38 the individual constant. These _must_ begin on the same line as the constant
39 and may "splill" to following lines if needed.
41 Occasionally constants are deprecated and should not be used. Tagging a comment
42 with //- will cause the constant to be included in the document and flagged as
43 deprecated while //-- will cause the constant to be ignored when generating the
46 All recognised comment symbols must have at least one trailing space, or be
47 the last token on the line (//+boo wont be recognised).
49 The layout of this file is "two column" to allow the eyes to easy read down
50 though constant names and values without being interrupted by the documentation
51 (commetns) which are placed to the right. Only major section descriptions
52 should break the "flow."
55 - Please keep additions in numerical order
56 - Please vet the file before commiting changes to ensure that it compiles
57 and that there are no dupicates.
58 - Please try to avoid excessivly long constant names e.g. RIC_SECONDARY_RAT_DATA_USAGE_REPORT
63 RMR routes messages based on a combination of message type and subscription ID
64 both of which are integers.
65 The message type constants are defined in the RIC_msg_types.h header file included with the RMR
66 development package while subscription IDs are generated by the subscription manager
68 This document does not include the constant values to avoid incorrectly propagating
69 a stale value through the reference of an outdated document.
73 Non-Routable Message Types
74 These message types are not routable and a message passed to an RMR function with any of
75 these constants set will not be sent.
78 #define RIC_UNDEFINED -1 //+ Message type is unset or undefined. Newly allocated messages
79 //+ by rmr_alloc_msg() will have the type value set to this constant.
82 RMR Reserved Message Types
83 These message types are reserved for RMR communications (e.g. with Route Manager).
85 // All message types 0 - 99 are reserved for RMR.
87 #define RMRRM_TABLE_DATA 20 //+ Table data from route manger. Route manager sends all route
88 //+ table records (rte, mse, etc.) with this type.
89 #define RMRRM_REQ_TABLE 21 //+ Request for table update. RMR will send a message with this
90 //+ type when requesting a table update from route manger.
91 #define RMRRM_TABLE_STATE 22 //+ This message type conveys the state of the route table to
92 //+ route manager after the end of a table is noticed.
96 System Support Message Types
97 These message types are used for systems level communications such
98 as health checks, alarms and probes.
100 // Values for system constants are 100-299
102 #define RIC_HEALTH_CHECK_REQ 100 //+ When received the application is expected to return a response to
103 //+ the sender indicating the current "health" of the application.
104 #define RIC_HEALTH_CHECK_RESP 101 //+ Health responses are sent with a message of this type.
106 #define RIC_ALARM 110 //+ Alarm messages with this type are routed to the alarm collection process.
107 #define RIC_ALARM_QUERY 111 //+ Unknown meaning
109 #define RIC_METRICS 120 //+ This message type causes the message to be routed to the xAPP responsible
110 //+ for collecting and redistributing metrics.
112 // TODO: classify these types for documentation purposes :)
114 Unclassified Message Types
115 The following message types have not been clasified into a specific category.
118 #define RIC_SCTP_CONNECTION_FAILURE 1080
119 #define RIC_SCTP_CLEAR_ALL 1090
121 #define E2_TERM_INIT 1100
122 #define E2_TERM_KEEP_ALIVE_REQ 1101
123 #define E2_TERM_KEEP_ALIVE_RESP 1102
125 #define RAN_CONNECTED 1200
126 #define RAN_RESTARTED 1210
127 #define RAN_RECONFIGURED 1220
130 #define RIC_ENB_LOAD_INFORMATION 10020
132 #define RIC_ERROR_INDICATION 10030
134 #define RIC_SN_STATUS_TRANSFER 10040
136 #define RIC_UE_CONTEXT_RELEASE 10050
138 #define RIC_X2_SETUP_REQ 10060
139 #define RIC_X2_SETUP_RESP 10061
140 #define RIC_X2_SETUP_FAILURE 10062
141 #define RIC_X2_RESET 10070
142 #define RIC_X2_RESET_RESP 10071
144 #define RIC_ENB_CONF_UPDATE 10080
145 #define RIC_ENB_CONF_UPDATE_ACK 10081
146 #define RIC_ENB_CONF_UPDATE_FAILURE 10082
148 #define RIC_RES_STATUS_REQ 10090
149 #define RIC_RES_STATUS_RESP 10091
150 #define RIC_RES_STATUS_FAILURE 10092
152 #define RIC_RESOURCE_STATUS_UPDATE 10100
154 #define RIC_SGNB_ADDITION_REQ 10270
155 #define RIC_SGNB_ADDITION_ACK 10271
156 #define RIC_SGNB_ADDITION_REJECT 10272
157 #define RIC_SGNB_RECONF_COMPLETE 10280
159 #define RIC_SGNB_MOD_REQUEST 10290
160 #define RIC_SGNB_MOD_REQUEST_ACK 10291
161 #define RIC_SGNB_MOD_REQUEST_REJ 10292
163 #define RIC_SGNB_MOD_REQUIRED 10300
164 #define RIC_SGNB_MOD_CONFIRM 10301
165 #define RIC_SGNB_MOD_REFUSE 10302
167 #define RIC_SGNB_RELEASE_REQUEST 10310
168 #define RIC_SGNB_RELEASE_REQUEST_ACK 10311
170 #define RIC_SGNB_RELEASE_REQUIRED 10320
171 #define RIC_SGNB_RELEASE_CONFIRM 10321
173 #define RIC_RRC_TRANSFER 10350
175 #define RIC_ENDC_X2_SETUP_REQ 10360
176 #define RIC_ENDC_X2_SETUP_RESP 10361
177 #define RIC_ENDC_X2_SETUP_FAILURE 10362
179 #define RIC_ENDC_CONF_UPDATE 10370
180 #define RIC_ENDC_CONF_UPDATE_ACK 10371
181 #define RIC_ENDC_CONF_UPDATE_FAILURE 10372
183 #define RIC_SECONDARY_RAT_DATA_USAGE_REPORT 10380
185 #define RIC_GNB_STATUS_INDICATION 10450
187 #define RIC_E2_SETUP_REQ 12001
188 #define RIC_E2_SETUP_RESP 12002
189 #define RIC_E2_SETUP_FAILURE 12003
190 #define RIC_E2_RESET_REQ 12004
191 #define RIC_E2_RESET_RESP 12005
192 #define RIC_E2_RAN_ERROR_INDICATION 12006
193 #define RIC_E2_RIC_ERROR_INDICATION 12007
194 #define RAN_E2_RESET_REQ 12008
195 #define RAN_E2_RESET_RESP 12009
199 #define RIC_SUB_REQ 12010
200 #define RIC_SUB_RESP 12011
201 #define RIC_SUB_FAILURE 12012
203 #define RIC_SUB_DEL_REQ 12020
204 #define RIC_SUB_DEL_RESP 12021
205 #define RIC_SUB_DEL_FAILURE 12022
207 #define RIC_SERVICE_UPDATE 12030
208 #define RIC_SERVICE_UPDATE_ACK 12031
209 #define RIC_SERVICE_UPDATE_FAILURE 12032
211 #define RIC_CONTROL_REQ 12040
212 #define RIC_CONTROL_ACK 12041
213 #define RIC_CONTROL_FAILURE 12042
215 #define RIC_INDICATION 12050
217 #define RIC_SERVICE_QUERY 12060
219 #define DC_ADM_INT_CONTROL 20000
220 #define DC_ADM_INT_CONTROL_ACK 20001
221 #define DC_ADM_GET_POLICY 20002
222 #define DC_ADM_GET_POLICY_ACK 20003
224 #define A1_POLICY_REQ 20010
225 #define A1_POLICY_RESP 20011
226 #define A1_POLICY_QUERY 20012
229 // --- application specific message numbers 30000 - 39999
231 #define TS_UE_LIST 30000 // traffic steering
232 #define TS_QOE_PRED_REQ 30001
233 #define TS_QOE_PREDICTION 30002
234 #define TS_ANOMALY_UPDATE 30003
235 #define TS_ANOMALY_ACK 30004
238 #define MC_REPORT 30010 // Measurement campaign xApp reports
240 #define DCAPTERM_RTPM_RMR_MSGTYPE 33001
241 #define DCAPTERM_GEO_RMR_MSGTYPE 33002
245 // ---- these are old (release 0) definitions and should not be used ------
248 E2 Related messages should be in the range 10000 to 99999
251 #define RIC_X2_SETUP 10000 //-
252 #define RIC_X2_RESPONSE 10001 //-
253 #define RIC_X2_RESOURCE_STATUS_REQUEST 10002 //-
254 #define RIC_X2_RESOURCE_STATUS_RESPONSE 10003 //-
255 #define RIC_X2_LOAD_INFORMATION 10004 //-
256 #define RIC_E2_TERMINATION_HC_REQUEST 10005 //-
257 #define RIC_E2_TERMINATION_HC_RESPONSE 10006 //-
258 #define RIC_E2_MANAGER_HC_REQUEST 10007 //-
259 #define RIC_E2_MANAGER_HC_RESPONSE 10008 //-
263 A1 Related messages should be in the range 100000 to 999999
265 #define RIC_CONTROL_XAPP_CONFIG_REQUEST 100000 //-
266 #define RIC_CONTROL_XAPP_CONFIG_RESPONSE 100001 //-