Add message types for traffic steering anomaly messages
[ric-plt/lib/rmr.git] / src / rmr / common / include / RIC_message_types.h
1 // :vim setet ts=4 sw=4:
2 /*
3 ==================================================================================
4         Copyright (c) 2019-2020 Nokia
5         Copyright (c) 2018-2020 AT&T Intellectual Property.
6
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
10
11        http://www.apache.org/licenses/LICENSE-2.0
12
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 ==================================================================================
19 */
20
21
22
23
24 /*
25     Header  file defining  message types for various RMR messages.
26     This file is an exception: please expand tabs.
27 */
28
29 /*
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
35     is enabled.
36
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.
40
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
44     document.
45
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).
48
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."
53
54     Other requests:
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
59 */
60
61 /*+
62     Overview
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
67         process at run-time.
68         This document does not include the constant values to avoid incorrectly propagating
69         a stale value through the reference of an outdated document.
70 */
71
72 /*+
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.
76 */
77
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.
80
81 /*+
82     RMR Reserved Message Types
83     These message types are reserved for RMR communications (e.g. with Route Manager).
84 */
85 // All message types 0 - 99 are reserved for RMR.
86
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.
93
94
95 /*+
96     System Support Message Types
97     These message types are used for systems level communications such
98     as health checks, alarms and probes.
99 */
100 // Values for system constants are 100-299
101
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.
105
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
108
109 #define RIC_METRICS                         120         //+ This message type causes the message to be routed to the xAPP responsible
110                                                         //+ for collecting and redistributing metrics.
111
112 // TODO: classify these types for documentation purposes :)
113 /*+
114         Unclassified Message Types
115         The following message types have not been clasified into a specific category.
116 */
117
118 #define RIC_SCTP_CONNECTION_FAILURE         1080
119 #define RIC_SCTP_CLEAR_ALL                  1090
120
121 #define E2_TERM_INIT                        1100
122 #define E2_TERM_KEEP_ALIVE_REQ              1101
123 #define E2_TERM_KEEP_ALIVE_RESP             1102
124
125 #define RAN_CONNECTED                       1200
126 #define RAN_RESTARTED                       1210
127 #define RAN_RECONFIGURED                    1220
128
129
130 #define RIC_ENB_LOAD_INFORMATION            10020
131
132 #define RIC_ERROR_INDICATION                10030
133
134 #define RIC_SN_STATUS_TRANSFER              10040
135
136 #define RIC_UE_CONTEXT_RELEASE              10050
137
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
143
144 #define RIC_ENB_CONF_UPDATE                 10080
145 #define RIC_ENB_CONF_UPDATE_ACK             10081
146 #define RIC_ENB_CONF_UPDATE_FAILURE         10082
147
148 #define RIC_RES_STATUS_REQ                  10090
149 #define RIC_RES_STATUS_RESP                 10091
150 #define RIC_RES_STATUS_FAILURE              10092
151
152 #define RIC_RESOURCE_STATUS_UPDATE          10100
153
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
158
159 #define RIC_SGNB_MOD_REQUEST                10290
160 #define RIC_SGNB_MOD_REQUEST_ACK            10291
161 #define RIC_SGNB_MOD_REQUEST_REJ            10292
162
163 #define RIC_SGNB_MOD_REQUIRED               10300
164 #define RIC_SGNB_MOD_CONFIRM                10301
165 #define RIC_SGNB_MOD_REFUSE                 10302
166
167 #define RIC_SGNB_RELEASE_REQUEST            10310
168 #define RIC_SGNB_RELEASE_REQUEST_ACK        10311
169
170 #define RIC_SGNB_RELEASE_REQUIRED           10320
171 #define RIC_SGNB_RELEASE_CONFIRM            10321
172
173 #define RIC_RRC_TRANSFER                    10350
174
175 #define RIC_ENDC_X2_SETUP_REQ               10360
176 #define RIC_ENDC_X2_SETUP_RESP              10361
177 #define RIC_ENDC_X2_SETUP_FAILURE           10362
178
179 #define RIC_ENDC_CONF_UPDATE                10370
180 #define RIC_ENDC_CONF_UPDATE_ACK            10371
181 #define RIC_ENDC_CONF_UPDATE_FAILURE        10372
182
183 #define RIC_SECONDARY_RAT_DATA_USAGE_REPORT 10380
184
185 #define RIC_GNB_STATUS_INDICATION           10450
186
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
196
197
198
199 #define RIC_SUB_REQ                         12010
200 #define RIC_SUB_RESP                        12011
201 #define RIC_SUB_FAILURE                     12012
202
203 #define RIC_SUB_DEL_REQ                     12020
204 #define RIC_SUB_DEL_RESP                    12021
205 #define RIC_SUB_DEL_FAILURE                 12022
206
207 #define RIC_SERVICE_UPDATE                  12030
208 #define RIC_SERVICE_UPDATE_ACK              12031
209 #define RIC_SERVICE_UPDATE_FAILURE          12032
210
211 #define RIC_CONTROL_REQ                     12040
212 #define RIC_CONTROL_ACK                     12041
213 #define RIC_CONTROL_FAILURE                 12042
214
215 #define RIC_INDICATION                      12050
216
217 #define RIC_SERVICE_QUERY                   12060
218
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
223
224 #define A1_POLICY_REQ                       20010
225 #define A1_POLICY_RESP                      20011
226 #define A1_POLICY_QUERY                     20012
227
228
229 // --- application specific message numbers 30000 - 39999
230
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
236
237
238 #define MC_REPORT                           30010        // Measurement campaign xApp reports
239
240 #define DCAPTERM_RTPM_RMR_MSGTYPE           33001
241 #define DCAPTERM_GEO_RMR_MSGTYPE            33002
242
243
244
245 // ---- these are old (release 0) definitions and should not be used ------
246
247 /*
248     E2 Related messages  should be in the range 10000 to 99999
249 */
250
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        //-
260
261
262 /*
263     A1 Related messages should be in the range 100000 to 999999
264 */
265 #define RIC_CONTROL_XAPP_CONFIG_REQUEST     100000      //-
266 #define RIC_CONTROL_XAPP_CONFIG_RESPONSE    100001      //-