Skip to content
Snippets Groups Projects
Commit 58c93ec5 authored by JorgeEcheva26's avatar JorgeEcheva26
Browse files

Event feature documentation and small changes in the code, tested and change...

Event feature documentation and small changes in the code, tested and change in mistake in capif_sdk_config
parent 4f101517
No related branches found
No related tags found
1 merge request!4Event feature completed
Showing
with 43 additions and 41 deletions
......@@ -64,7 +64,7 @@ Network Apps can be developed by third-party service providers, network operator
Next image illustrates how CAPIF works and where the SDK provides means to integrate with it:
![CAPIF-illustration](./doc/images/flows_capif_illustration.jpg)
![CAPIF-illustration](./doc/images/flows-capif_illustration.jpg)
For that purpose Network Apps play 2 different roles when interacting with CAPIF:
- **Invoker**: a Network App acting as an Invoker is responsible for consuming APIs exposed by other services. This role represents an external application or service that calls the 3GPP northbound APIs to utilize the network’s functionalities.
......@@ -97,6 +97,10 @@ OpenCAPIF SDK brings a set of functions to integrate with the 5G Core's function
| /{apfId}/service-apis (GET) | [get_all_services()](./doc/sdk_full_documentation.md#get-all-services) | Retrieves a list of all available service APIs for a specific `apfId` |
| /aef-security/v1/check-authentication (POST) | [check_authentication()](./doc/sdk_full_documentation.md#check_authentication) | This custom operation allows the API invoker to confirm the `supported_features` from the API exposing function(AEF) |
| /api-invocation-logs/v1/{aefId}/logs (POST) | [create_logs( aefId, api_invoker_id)](./doc/sdk_full_documentation.md#create_logs) | This operation allows to the Provider to notice to the CCF about the query of an invoker for an especific `aefId`
| /capif-events/v1/{subscriberId}/subscriptions (POST) | [create_subscription(name, id)](./doc/sdk_full_documentation.md#create_subscription) | This operation allows to the Invoker/AEF/APF/AMF to ask to the CCF about notifications related to certain functionalities.
| /capif-events/v1/{subscriberId}/subscriptions/{subscriptionId} (DELETE) | [delete_subscription(name, id)](./doc/sdk_full_documentation.md#delete_subscription) | This operation allows to the Invoker/AEF/APF/AMF to withdraw the petition to receive notifications related to certain functionalities.
| /capif-events/v1/{subscriberId}/subscriptions/{subscriptionId} (PUT) | [update_subscription(name, id)](./doc/sdk_full_documentation.md#update_subscription) | This operation allows to the Invoker/AEF/APF/AMF to modify to the petition to receive notifications related to certain functionalities. **ONLY AVAILABLE IN OPENCAPIF RELEASE 2**
| /capif-events/v1/{subscriberId}/subscriptions/{subscriptionId} (PATCH) | [patch_subscription(name, id)](./doc/sdk_full_documentation.md#patch_subscription) | This operation allows to the Invoker/AEF/APF/AMF to modify to the petition to receive notifications related to certain functionalities. **ONLY AVAILABLE IN OPENCAPIF RELEASE 2**
NOTE: Above mentioned CAPIF APIs are defined in these 3GPP references:
- [CAPIF Invoker API specification](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_API_Invoker_Management_API.yaml)
......@@ -106,7 +110,7 @@ NOTE: Above mentioned CAPIF APIs are defined in these 3GPP references:
- [CAPIF Security API specification](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Security_API.yaml)
- [AEF Security API specification](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_AEF_Security_API.yaml)
- [CAPIF Logging API management](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Logging_API_Invocation_API.yaml)
- [CAPIF Events API management](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Events_API.yaml)
NOTE: In the [3GPP Technical Specification (TS) 29.222 V18.5.0 Common API Framework for 3GPP Northbound APIs](https://www.etsi.org/deliver/etsi_ts/129200_129299/129222/18.05.00_60/ts_129222v180500p.pdf) the `service` concept is understood as equal as the `API` concept.
......@@ -132,7 +136,7 @@ Here is a visual look on the variables of the CAPIF sdk referenced in:
- [Important information for Invoker Consumer](#important-information-for-invoker-consumer)
- [Important information for Provider Consumer](#important-information-for-provider-consumers)
![sdk_data_schema](./doc/images/flows_data_schema.png)
![sdk_data_schema](./doc/images/flows-data_schema.png)
# Network App developer path
......@@ -144,7 +148,7 @@ Here is a good explanation about how a usual flow of a Network App should work:
A Network App development running as a Provider would typically follow this process step by step, making use of the SDK:
![PROVIDER_PATH](./doc/images/flows_provider_path.jpg)
![PROVIDER_PATH](./doc/images/flows-provider_path.jpg)
Now, it is described in 4 simple steps how a Provider can be developed in just some code lines, below snippet. It describes the usual flow a Provider would follow to publish an API service.
......@@ -228,7 +232,7 @@ The `provider_capif_ids` variable stores the `provider_capif_ids.json` content i
A Network App development running as an Invoker would typically follow this process step by step, making use of the SDK:
![INVOKER_PATH](./doc/images/flows_invoker_path.jpg)
![INVOKER_PATH](./doc/images/flows-invoker_path.jpg)
Now, it is described in some simple steps how an Invoker can be developed in just some code lines. Find below the code snippet. It describes the usual flow an Invoker would follow to consume APIs from CAPIF.
......@@ -317,7 +321,6 @@ There are some features which **are not currently available at latest OpenCAPIF
- [CAPIF Access control policy management](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Access_Control_Policy_API.yaml)
- [CAPIF Auditing API management](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Auditing_API.yaml)
- [CAPIF Events API management](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Events_API.yaml)
- [CAPIF Routing info API management](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Routing_Info_API.yaml)
- [CAPIF Security API management](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Security_API.yaml)
- /trustedInvokers/{apiInvokerId}/delete (POST)
......
......@@ -9,10 +9,10 @@
"invoker": {
"invoker_folder": "",
"capif_callback_url": "",
"supported_features":"",
"check_authentication_data":{
"ip":"",
"port":""
"supported_features": "",
"check_authentication_data": {
"ip": "",
"port": ""
},
"cert_generation": {
"csr_common_name": "",
......@@ -38,43 +38,20 @@
"ue-ip-addr": "",
"service-kpis": ""
},
"events":{
"events": ["SERVICE_API_AVAILABLE"],
"events": {
"description": [""],
"eventFilters": [
{
"apiIds": [
"string"
],
"apiInvokerIds": [
"string"
],
"aefIds": [
"string"
]
"apiIds": [""],
"apiInvokerIds": [""],
"aefIds": [""]
}
],
"eventReq":"string",
"requestTestNotification": true,
"websockNotifConfig": {
"websocketUri":"",
"requestWebsocketUri": true
}
]
}
},
"provider": {
"provider_folder": "",
"supported_features": "",
"apfs": "",
"aefs": "",
"publish_req": {
"service_api_id": "",
"publisher_apf_id": "",
"publisher_aefs_ids": [
"",
""
]
},
"cert_generation": {
"csr_common_name": "",
"csr_organizational_unit": "",
......@@ -84,8 +61,30 @@
"csr_country_name": "",
"csr_email_address": ""
},
"apfs": "",
"aefs": "",
"publish_req": {
"service_api_id": "",
"publisher_apf_id": "",
"publisher_aefs_ids": ["", ""]
},
"api_description_path": "",
"log":{
"events": {
"description": [""],
"eventFilters": [
{
"apiIds": [""],
"apiInvokerIds": [""],
"aefIds": [""]
}
],
"notificationDestination": "",
"websockNotifConfig": {
"websocketUri": "",
"requestWebsocketUri": false
}
},
"log": {
"apiName": "",
"apiVersion": "",
"resourceName": "",
......@@ -94,5 +93,5 @@
"operation": "",
"result": ""
}
}
}
}
doc/images/capif_provider_details_example.png

131 KiB

File moved
doc/images/flows-event_subscription.jpg

134 KiB

doc/images/flows-invoker_check_authentication.jpg

130 KiB

doc/images/flows-invoker_discover.jpg

130 KiB

doc/images/flows-invoker_get_tokens.jpg

131 KiB

doc/images/flows-invoker_onboard.jpg

133 KiB

doc/images/flows-invoker_path.jpg

134 KiB

doc/images/flows-invoker_update_offboard.jpg

130 KiB

doc/images/flows-provider_logs.jpg

128 KiB

doc/images/flows-provider_onboard.jpg

132 KiB

doc/images/flows-provider_path.jpg

131 KiB

doc/images/flows-provider_publish_functions.jpg

131 KiB

doc/images/flows-provider_update_offboard.jpg

129 KiB

doc/images/flows-updated_opencapif .jpg

128 KiB

doc/images/flows_invoker_check_authentication.jpg

99.9 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment