blob: 01d24b25b39c2e26e686f0652824133f1a7203ae [file] [log] [blame]
Harald Welte51cfec02019-04-03 09:18:44 +02001== osmo-remsim-server
Harald Welte3c4d0062019-03-31 18:55:18 +02002
3=== Running
4
Harald Welte51cfec02019-04-03 09:18:44 +02005`osmo-remsim-server` currently has no command-line arguments. It will
6bind to INADDR_ANY and offer the following TCP ports:
Harald Welte3c4d0062019-03-31 18:55:18 +02007
Harald Welte51cfec02019-04-03 09:18:44 +02008* Port 9998 for the inbound control connections from `osmo-remsim-client`
9 and `osmo-remsim-bankd`
Harald Welte3c4d0062019-03-31 18:55:18 +020010* Port 9997 for the RESTful/JSON Web API (role: HTTP server)
11
12It is intended to make these settings (IP addresses, ports) configurable
13in future versions.
14
15=== Logging
16
Harald Welte51cfec02019-04-03 09:18:44 +020017`osmo-remsim-server` currently logs to stdout only, and the logging
18verbosity is not yet configurable. However, as the libosmocore logging
19framework is used, extending this is an easy modification.
Harald Welte3c4d0062019-03-31 18:55:18 +020020
21=== RESTful/JSON Web API
22
Harald Welte51cfec02019-04-03 09:18:44 +020023`osmo-remsim-server` provides a RESTful/JSON WEB API for application logic
Harald Welte3c4d0062019-03-31 18:55:18 +020024integration. The purpose of the API is to allow run-time configuration
25and monitoring of the entire osmo-remsim system.
26
27The API currently has version 1, and the URL prefix is /api/backend/v1
28
29==== /api/backend/v1/clients
30
31*GET* obtains a JSON list where each element represents one currently
Harald Welte51cfec02019-04-03 09:18:44 +020032connected `osmo-remsim-client`.
Harald Welte3c4d0062019-03-31 18:55:18 +020033
34No other HTTP operation is implemented.
35
36==== /api/backend/v1/clients/:client_id
37
38*GET* obtains a single JSON object representing one specific currently
Harald Welte51cfec02019-04-03 09:18:44 +020039connected `osmo-remsim-client`.
Harald Welte3c4d0062019-03-31 18:55:18 +020040
41No other HTTP operation is implemented.
42
Harald Welte3afbf732019-05-08 17:23:12 +020043==== /api/backend/v1/banks
Harald Welte3c4d0062019-03-31 18:55:18 +020044
45*GET* obtains a JSON list where each element represents one currently
Harald Welte51cfec02019-04-03 09:18:44 +020046connected `osmo-remsim-bankd`.
Harald Welte3c4d0062019-03-31 18:55:18 +020047
48No other HTTP operation is implemented.
49
Harald Welte3afbf732019-05-08 17:23:12 +020050==== /api/backend/v1/banks/:bank_id
Harald Welte3c4d0062019-03-31 18:55:18 +020051
52*GET* obtains a single JSON object representing one specific currently
Harald Welte51cfec02019-04-03 09:18:44 +020053connected `osmo-remsim-bankd`.
Harald Welte3c4d0062019-03-31 18:55:18 +020054
55No other HTTP operation is implemented.
56
57==== /api/backend/v1/slotmaps
58
59*GET* obtains a JSON list where each element represents one provisioned
60slot mapping.
61
62*POST* creates a new slot mapping as specified in the JSON syntax
63contained in the HTTP body.
64
65No other HTTP operation is implemented.
66
67==== /api/backend/v1/slotmaps/:slotmap_id
68
69*DELETE* deletes a slot mapping by its identifier. If the mapping is
70currently in use, the related bankd is instructed to disconnect the
71client from the card.
72
73No other HTTP operation is implemented.
74
75==== /api/backend/v1/global-reset
76
Harald Welte51cfec02019-04-03 09:18:44 +020077*POST* performs a global reset of the `osmo-remsim-server` state. This
78means all mappings are removed.