1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. Copyright (C) 2022 Nordix
5 .. |nbsp| unicode:: 0xA0
8 .. |nbh| unicode:: 0x2011
11 .. |yaml-icon| image:: ./images/yaml_logo.png
23 The O-RAN SC external call-out server allows behavioral extensions to be added to the A1 Simulator. It creates an external call-out server, which provides a RESTful API. A1 Policy operations, for some A1 Policy Types, can then be redirected to the external call-out server, supporting supplemental simulator behavior for those A1 Policy Types.
25 **Note:** call-out server functionality is only available for *'STD_2.0.0'* version simulators.
27 The external call-out server exposes a 'Callout server API' REST API. This internal API is invoked directly by the A1 Simulator, and is not intended to be used by any other client. The 'Callout Server API' is documented in `Callout Server API <./EXT_SRV_api.html>`_ and in OpenAPI YAML format:
30 :header: "API name", "|yaml-icon|"
33 "Callout Server API", ":download:`link <../near-rt-ric-simulator/test/EXT_SRV/api/EXT_SRV_api.yaml>`"
35 External call-out servers also expose an 'Admin API' to manipulate the behavior of the call-out server itself. The 'Callout Server Admin API' is documented below:
46 Returns the status of the external server.
62 curl -X GET "http://localhost:9095/"
71 Delete all policy instances in external server
72 ----------------------------------------------
77 Delete all policy instances.
81 /serveradmin/deleteinstances
91 All a1 policy instances deleted
97 curl -X POST "http://localhost:9095/serveradmin/deleteinstances"
103 All a1 policy instances deleted
106 Response manipulation
107 ---------------------
108 It is possible to manipulate the response of all operations on the external server
113 Force a specific response code for the all (the next) external server operation. Unless it is reset, it will always send the same response code back.
117 /serveradmin/forceresponse?code=<http-response-code>
123 The HTTP response code to return.
129 Force response code: <expected code> set for all external server response until it is resetted
135 curl -X POST "http://localhost:9095/serveradmin/forceresponse?code=500"
141 Force response code: 500 set for all external server response until it is resetted
144 Reset response-manipulation
145 ---------------------------
146 It is possible to reset the response manipulation on the external server
151 Clears specific response code for all (the next) external server operation.
155 /serveradmin/forceresponse?code=<http-response-code>
161 The HTTP response code to return.
167 Force response code has been resetted for all external server responses
173 curl -X POST "http://localhost:9095/serveradmin/forceresponse?code=500"
179 Force response code has been resetted for all external server responses
182 Response time manipulation
183 --------------------------
184 It is possible to set a period of time to delay response time.
189 Force delayed response of all A1 responses. The setting will remain until the delay is set to '0'
193 /serveradmin/forcedelay?delay=<delay-time-seconds>
199 The time in seconds to delay all responses.
205 Force delay: <expected_delay> sec set for all external server responses until it is resetted
211 curl -X POST "http://localhost:9095/serveradmin/forcedelay?delay=5"
217 Force delay: 5 sec set for all external server responses until it is resetted
220 Reset response time manipulation
221 --------------------------------
222 It is also possible to reset delay response time.
227 The setting will clear the delay.
231 /serveradmin/forcedelay
237 The time in seconds to delay all responses.
243 Force delay has been resetted for all external server responses
249 curl -X POST "http://localhost:9095/serveradmin/forcedelay"
255 Force delay has been resetted for all external server responses