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

Workflow for Content Production & Contribution #4

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Changes from 4 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
69 changes: 69 additions & 0 deletions pages/Network_APIs/WorkflowforContribution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
layout: default
title: Workflow for Content Production & Contribution
parent: Content Production & Contribution
grand_parent: Network APIs
nav_order: 0
has_children: false
---

{: .warning }
This documentation is currently **under development and subject to change**. It reflects outcomes elaborated by 5G-MAG members as part of **WI: Network Exposure and APIs Supporting Media Services and Applications**
We welcome and encourage contributions from the broader community. If you are interested in becoming a member of the 5G-MAG and actively participating in shaping this work, please contact the [Project Office](https://www.5g-mag.com/contact)

# Required interactions to exploit network capabilities
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a graphic with the steps


## Pre-conditions
* The production company has set up an agreement for Network Capability usages. As result, the production company obtained information, used for authentication. During the process of negotiating the agreement, a set of relevant network capabilities has been identified (e.g. using an API catalogue). As result, the production company is authorized to use certain network capabilities (when available).
* The production crew has access to one, or several, Network API Platforms. This platform is accessible through any device/connectivity (e.g. a website accessible through the open internet, or command prompt, a dedicated app, etc …).
* Note: For the Network API Platform access, the crew has obtained key access tokens/key/credentials/payment-details in advance.
* The production crew have a set of credentials (SIM/eSIM) of the network devices will connect to. The network provides, by default, best-effort connectivity.

## Before the Event:

### Step 1) Preparing your device, configuring application clients & servers and configuring client/server flows
* Devices have already best effort connectivity .
* Through app specific [AppAPI], the client app is properly connected to the Application Server. e.g. Haivision app with BBC server, or LiveU app with LiveU server, etc …
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note sure about the AppAPI terminology as it may get confused with the network APIs?

I think we may need to distinguish between processes that belong to the application (App + Application Provider) - probably out of scope unless there is need to expose information from such an application to the network and/or viceversa - to be discussed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interaction between Application client and Application server
"Application-specific API" - enables communication between the production network orchestrator and the production device nodes (e.g. camera control units, vision mixer, wireless microphones, sound mixer, etc.), some of which are UEs.

Check previous page to be consistent with terminology.


### Step 2)Event planning and pre-booking
* a) Through the Network API Platform, the production crew (on location or located in production centre) can discover the capabilities the network can offer in a particular location and at a particular time (for which the production company is eligible for).
* Example: QoD available, connectivity monitoring available, Timing as a service available, edge compute instantiation, …
* b) Through the Network API Platform, the production crew requests network services for every of the planned SIM cards in advance. Possible services (Network Capabilities) are:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would deal with the network services somewhere else. In a place dedicated specifically to the capabilities.

* Quality on Demand
* One or several QoS profiles for each SIM card (QOS Profiles are mapped to 5QIs)
* Example: A sim may be pre booked for One uplink video / One uplink audio / one downlink data / …
* Time as a service
* Access stratum based or PTP based
* Note: Booking is done based on :
* Geographical area
* Schedule (starting time and closing time of the event)
* c) Through the Network API Platform, the production receives a booking offer responding to the service request.
* d) Through the Network API Platform the production accepts the service booking offer (involving payment/contract/SLA aspects)[TL6] .
* e) Through the production receives connection IDs to be used for every reserved SIM/services
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should e) be "Through the production receives connection IDs to be used for every reserved SIM/services"
Is a "connection ID" a parameter that identifies the SIM with the booked services?


## During the Event:

### Step 3) Local configuration
* a) Production crew arrives in the venue, plugs the SIM cards and turn on the devices, connectivity is enabled based on the booked network services (See step 2).
* b) The production crew uses [AppAPI] to configure the different services, matching the connection ID delivered in step 2-e).
jordijoangimenez marked this conversation as resolved.
Show resolved Hide resolved
* Example: QoD service: A camera for which one video + one audio is pre-booked. The [AppAPI] is used to properly configure the bitrate of the audio and video output, and the provided IDs.
* Example: Time Sync service: A camera for which access to global clock is requested. The [AppAPI] is used to properly configure the time parameters and the provided IDs.

Independent steps that can be triggered during the life of the event:
* The production crew can use [GwAPI] to monitor that the flows are coming and are properly using the reserved resource.
* The production crew receives notification through [GwAPI] indicating potential issues (throughput, delay, …)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[GwAPI] Network API Platform

* The production crew through [GwAPI] can request a change of the current configuration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I propose that we keep here the generic workflow and then we instantiate the full workflow for Quality on Demand (to start with)

Then we have a good reference to check the definitions in https://github.com/camaraproject/QualityOnDemand/blob/r1.3/code/API_definitions/quality-on-demand.yaml

* Same validation steps as from 2-b to 2-e will be conducted after requesting the change
* Changes can be:
* Switch profile A from SIM card A to SIM card B
* Increase or decrease the capacity of an existing profile
* Remove or add a profile to a SIM card
* Enable/Disable time service on a SIM card
* etc …
* Note: Connection ID are not expected to change when a reconfiguration occurs.
* Note: When a service is added and created from scratch, step 3) should be done again.

## After the Event:
### Step 4) Release resources
* The production crew through [GwAPI] releases the booked resources.