Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Libraries (#132) #133

Merged
merged 1 commit into from
Apr 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,19 @@
History
=======

-------------------
1.0.3 (2023-04-25)
-------------------
* New SDK Class CAPIFLogger, that allows a provider (like NEF Emulator) to save Log information, for example capture incoming requests and responses
* New SDK Class CAPIFAuditor, that allows a provider (like NEF Emulator) to query the Log, for example filter all the Log information for a given Network APP
* Added examples of usage for CAPIFLogger and CAPIFAuditor class in examples/nef_logger_and_audit_example.py
* At CAPIFProviderConnector class when using the publish_services() method, a copy of the published to CAPIF api is saved to the local certificates folder. This is useful if you want to retrieve the relevant CAPIF ids for this service like aef_id or api_id.

-------------------
1.0.2 (2023-03-09)
-------------------
* Bug fix on minimum python version. Change it from 3.6 to 3.7. Installing the SDK in older ubuntu distribution raises an error at runtime requiring higher python version coming from Cookiecutter.
* Update TSN Manager class, apply security improvements. Now each request to the TSN API uses JWT Bearer authentication. Access tokens are retrieved via CAPIF.
* Bug fix on minimum python version. Change it from 3.6 to 3.7. Installing the SDK in older ubuntu distribution raises an error at runtime requiring higher python version coming from Cookiecutter.

-------------------
1.0.1 (2023-03-03)
Expand Down
21 changes: 14 additions & 7 deletions docs/source/libraries.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ At the current release the SDK contains six classes
* **LocationSubscriber**: allows you to track devices and retrieve updates about their location.You can use LocationSubscriber to create subscriptions, where each one of them can be used to track a device.
* **QosAwareness**: allows you to request QoS from a set of standardized values for better service experience (Ex. TCP_BASED / LIVE Streaming / CONVERSATIONAL_VOICE etc). You can create subscriptions where each one of them has specific QoS parameters. A notification is sent back to the net-app if the QoS targets can no longer be full-filled.
* **ConnectionMonitor**: allows you to monitor devices in the 5G Network. You can use this class to retrieve notifications by the 5G Network for individual devices when connection is lost (for example the user device has not been connected to the 5G network for the past 10 seconds) or when connection is alive.
* **TSNManager** allows NetApp developers to apply Time-Sensitive Networking (TSN) standards to time-sensitive NetApps. Allows the configuration of certain parameters in the underlying TSN infrastructure of the testbed.
* **TSNManager** allows Network App developers to apply Time-Sensitive Networking (TSN) standards to time-sensitive NetApps. Allows the configuration of certain parameters in the underlying TSN infrastructure of the testbed.
* **CAPIFInvokerConnector** a low level class, that is used by the evolved-5G CLI in order to register NetApps to CAPIF
* **ServiceDiscoverer** allows NetApp developers to connect to CAPIF in order to discover services. It's also used internally within the SDK in order to get access token from CAPIF before interacting with services like NEF or CAPIF.
* **ServiceDiscoverer** allows Network App developers to connect to CAPIF in order to discover services. It's also used internally within the SDK in order to get access token from CAPIF before interacting with services like NEF or CAPIF.
* **CAPIFProviderConnector** a low level class, that allows an Exposer (like the NEF emulator or the TSN emulator) to register to CAPIF
* **CAPIFLogger**, that allows an API provider (like NEF Emulator) to save Log information, for example capture incoming requests and responses
* **CAPIFAuditor**, that allows an API provider (like NEF Emulator) to query the Log, for example filter all the Log information for a given Network APP



Expand All @@ -26,12 +28,17 @@ Have a look at the examples folder for code samples on how to use the SDK Librar

* `CAPIFInvokerConnector example <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/netapp_capif_connector_examples.py>`_

* `CAPIFProviderConnector example at <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/nef_capif_connector_examples.py> and <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/tsn_capif_connector_examples.py>`_
* `CAPIFProviderConnector example for NEF <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/nef_capif_connector_examples.py>`_
* `CAPIFProviderConnector example for TSN <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/tsn_capif_connector_examples.py>`_

* `ServiceDiscoverer example <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/netapp_service_discovery_examples.py>`_

* `TSNManager example <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/tsn_manager_examples.py>`_

* `CAPIFLogger example <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/nef_logger_and_audit_example.py>`_

* `CAPIFAuditor example <https://github.com/EVOLVED-5G/SDK-CLI/blob/master/examples/nef_logger_and_audit_example.py>`_


Prerequisites / How to start
----------------------------
Expand All @@ -49,7 +56,7 @@ Make sure you have initiated the TSN server (See `here <https://github.com/EVO
Make sure you have initiated the NEF_EMULATOR at url :py:func:`http://localhost:8888` (See `here <https://github.com/EVOLVED-5G/NEF_emulator>`_ for instructions),
you have logged in to the interface, clicked on the map and have started the simulation.

Make sure that your NetApp has been registered and onboarded to CAPIF. If this process is completed, then in the specified folder the following files should be present
Make sure that your Network App has been registered and onboarded to CAPIF. If this process is completed, then in the specified folder the following files should be present

- ca.crt
- capif_api_details.json
Expand Down Expand Up @@ -88,7 +95,7 @@ ConnectionMonitor Library

Overview
###################
ConnectionMonitor library supports two events as described briefly above. The first event is the loss of connectivity event where the network detects that a UE is no longer reachable for either signalling or user plane communication. The NetApp may provide a Maximum Detection Time, which indicates the maximum period of time without any communication with the UE (after the UE is considered to be unreachable by the network). The respective monitoring type enumeration and the maximum detection time parameter are shown below:
ConnectionMonitor library supports two events as described briefly above. The first event is the loss of connectivity event where the network detects that a UE is no longer reachable for either signalling or user plane communication. The Network App may provide a Maximum Detection Time, which indicates the maximum period of time without any communication with the UE (after the UE is considered to be unreachable by the network). The respective monitoring type enumeration and the maximum detection time parameter are shown below:

.. code-block:: console

Expand All @@ -104,10 +111,10 @@ The second event is the ue reachability event where the network detects when the
Prerequisite
###################

❗An important prerequisite for the loss of connectivity event (INFORM_WHEN_NOT_CONNECTED) is that while a NetApp successfully receives the callback notification from the NEF Emulator, subsequently NEF expects an ``HTTP Response`` with the ``JSON`` content shown below:
❗An important prerequisite for the loss of connectivity event (INFORM_WHEN_NOT_CONNECTED) is that while a Network App successfully receives the callback notification from the NEF Emulator, subsequently NEF expects an ``HTTP Response`` with the ``JSON`` content shown below:

.. code-block:: console

{"ack" : "TRUE"}

As a result, the developer should ensure that in the endpoint that is responsible for receiving the callback notifications (HTTP POST requests) from NEF, NetApp always returns the aforementioned acknowledgement, in ``JSON`` format.
As a result, the developer should ensure that in the endpoint that is responsible for receiving the callback notifications (HTTP POST requests) from NEF, Network App always returns the aforementioned acknowledgement, in ``JSON`` format.
2 changes: 1 addition & 1 deletion evolved5g/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Top-level package for Evolved5G_CLI."""

__author__ = "EVOLVED5G project"
__version__ = "1.0.2"
__version__ = "1.0.3"

# Uncomment next lines to give direct import access to modules
# from . import cli
Expand Down
Loading