Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
## OpenCAPIF SDK configuration
### 1. Configuration via Config.json
This configuration could also be fullfilled by enviroment variables (EXAMPLE)
Mandatory fields no matter the target role to be onboarded, either invoker or provider:
- capif_host
- register_host
- capif_https_port
- capif_register_port
- capif_username
- capif_password
- debug_mode
If you want to use SDK as an **Invoker** you need to fill out these fields
- invoker_folder
- capif_callback_url
- csr_information(csr_common_name,csr_country_name...)
If you want to use SDK as a **Provider** you need to fill out these fields
- provider_folder
- APFs
- AEFs
"invoker_folder": String | The path (relative or absolute) of the folder you want to store your invoker information
"provider_folder": String | The path (relative or absolute) of the folder you want to store your invoker information
"capif_host": String | The domain name of your capif host
"register_host": String | The domain name of your register host
"capif_https_port": Integer | The port of your capif host
"capif_register_port": Integer | The port of your register host
"capif_callback_url": String | The Url you want to recieve CAPIF notifications(This functionality is not currently available)
"csr_common_name": String | Information for your invoker certificate
"csr_organizational_unit": String | Information for your invoker certificate
"csr_organization": String | Information for your invoker certificate
"crs_locality": String | Information for your invoker certificate
"csr_state_or_province_name": String |Information for your invoker certificate
"csr_country_name": String | Information for your invoker certificate
"csr_email_address": String | Information for your invoker certificate
"capif_username": String | CAPIF username
"capif_password": String | CAPIF password
"APFs": Integer | Number of APF's you want to onboard as a provider Example:5
"AEFs": Integer | Number of AEF's you want to onboard as a provider Example:2
"debug_mode": Boolean | If you want to recieve logs from SDK-S6G Example:True/False
### 2. Configuration of Publish.json
"serviceApiId": String | The Api id we want to use Example "02eff6e1b3a8f7c8044a92ee8a30bd"
"publisherAPFid": String | APF id we chose to use Example : "APFa165364a379035d14311deadc04332"
"publisherAEFsids": Array | Array of strings filled out of AEFs ids we want to use Example: ["AEFfa38f0e855bffb420e4994ecbc8fb9","AEFe8bfa711f4f0c95ba0b382508e6382"]
ServiceApiId is required in:
- Provider Unpublish Api
- Provider Update Api
- Provider Get api
PublisherAPFid is required in:
- Provider Publish Api
- Provider Unpublish Api
- Provider Update Api
- Provider Get Api
- Provider Get all Apis
PublisherAEFsids is required in:
- Provider Publish Api
- Provider Unpublish Api
- Provider Update Api
For using the Publish Api function or the Update function you **must** modify the provider_api_description_sample.json with the Publish API that you want to share following the standard schema for [ServiceAPIDescription](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Publish_Service_API.yaml)
You won't need to fill out the aefIds fields from aefProfiles array because you would already be configurating this fields by completing publisherAEFsids parameter
If the publisherAEFsids parameter don't match with the aefProfiles you will recieve an error
### Important information for Provider consumer
In the provider_folder, you will find several folders with each capif_username you have onboarded as a provider, for each folder you could find:
- Capif_provider_details.json : Contains all the APFs and AEFs ids you have already onboarded with this capif_username
- CAPIF_provider_api_description_sample.json : If you already published or updated an API, you will find a copy of your last payload.
- Service_received.json : If you already used the get an api or get all apis functionality, you will find the response to your request.
- Published-Apis.json : Constains the currently published APIs with their ApiId
#### Configuration of Discover_filter.json
This file follows the parameters schema from the GET petition of [Discover Services API](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Discover_Service_API.yaml)
To use this feature you must complete the file with the parameters you want to be filtered and then run the Invoker Service Discovery Functionality.
To run the Invoker Service Discovery Functionality you must have onboarded as an Invoker before.
### Important information for Invoker consumer
In the `invoker_folder`, you will find several folders with each `capif_username` you have onboarded as a provider. For each folder, you could find:
- `Capif_api_security_context_details.json`: This file contains the information of your invoker. It will contain:
1. Your `api_invoker_id`.
2. If you have already used the Service Discovery Functionality, you will find all the available APIs with their information.
3. If you have already used the Service Get Token functionality, you will find your access token for using the APIs you have already discovered.
By default, the Service Get Token will get the access token for using all the APIs that are available. So if you want to filter the APIs and reach only the API you want, you must:
1. Complete your `Discover_filter.json` file.
2. Use the Service Discovery Functionality.
3. Use the Service Get Token Functionality.
#### Configuration of Register.json
"register_host": String | The domain name of your register host
"capif_register_port": Integer | The port of your register host
"capif_register_username": String | CAPIF admin username
"capif_register_password": String | CAPIF admin password
"capif_username": String | CAPIF user username
"capif_password": String | CAPIF user password
"config_path": String | Absolute path to the Config_files folder
"uuid": String | UUID for Deregistering the user
This file is only used for the Functionalities of :
- Register and login
- Deregister and login
Each field is obligatory to complete except UUID, which is only obligatory in case of Deregistering the user.
Although this field is not obligatory we recomend to store the UUID parameter recieved by the Register and login functionality in this field.