
This documentation is currently under development and subject to change. It reflects outcomes elaborated by 5G-MAG members. If you are interested in becoming a member of the 5G-MAG and actively participating in shaping this work, please contact the Project Office
Using CAMARA APIs: QoS Booking and Assignment for Content Production & Contribution
Find more information about QoS Booking and Assignment API.
Purpose
A user of a media application would like to request the assignment of a QoS Profile to a device for a given period of time and service area.
Workflow and Architecture
This is a high-level figure with the entities involing APIs and the devices involved:
General Workflow
The following steps are executed:
- Sign up and access credentials
- Selection / Request for QoS Profiles
Step 0: Pre-conditions
- The API invoker needs to have signed up with the API provider.
- qosProfiles have already been defined and made available by the network operator.
- Names of such qosProfiles have been disclosed to the user so they can be used when invoking APIs.
Step 1: Before using the network
Details of the already arranged QoS Profile can be retrieve with GET /qos-profiles/{name}, using the QoS Profiles API.
1.1 Requests creation of QoS Booking for a given number of devices
With POST /qos-bookings passing the numDevices, qosProfile, startTime, duration, serviceArea.
Step 2: During operation
2.1 Assing the QoS Booking to a specific Device
POST /qos-bookings/{bookingId}/devices/assign passing the BookingId from the previous step and a device object to assign the QoS Booking to a specific device.
2.2 Device establishes connection
2.3 Usage of API capabilities
A series of operations to delete the QoS Booking and Assignment are available:
QoS Booking and Assignment - QoS Booking API
- POST /qos-bookings with a request body containing
numDevices,qosProfile,startTime,duration,serviceArea, it triggers a new booking in advance and assign this reserved booking profile to one or more devices when the devices are ready. The response includes abookingId.- Dependency: Requires
qosProfilewhich can be retrieved from a previous call to the QoS Profiles API.
- Dependency: Requires
- GET /qos-bookings/{bookingId} - gets booking information for the given bookingId
- DELETE /qos-bookings/{bookingId} - Cancel an existing booking and release resources related to that booking.
QoS Booking and Assignment - Device Assignment API
- POST /qos-bookings/{bookingId}/devices/assign with a request body containing
deviceobject, allows the end user to assign one or more devices to the existing QoS Booking. - GET /qos-bookings/{bookingId}/devices - allows the end user to retrieve the list of devices assigned to the existing QoS Booking.
- POST /qos-bookings/{bookingId}/devices/release with a request body containing
deviceobject - Release one or more already assigned devices. This is a synchronous call. - POST /qos-bookings/retrieve with a request body containing
deviceobject - Querying for QoS Booking resource information details for a device. Returns the QoS booking information for a given device. A device may have multiple bookings (for several times and locations), thus the response is an array
Step 3: Dismantling
When reaching the duration the QoS Booking may be teared down. A greceful way of tearing down will delete the QoS session by id.
DELETE /qos-bookings/{bookingId} deletes the QoS Booking
5G-MAG’s Self-Assessment
- QoS Booking can be invoked before the actual usage of the network starts to ensure that the requested capabilities are “reserved” for the specific area, time window and a given number of devices.
- Before or during the event a device will be assigned have access to the QoS booking.
Potential improvements:
- Unlike other similar APIs there is no information about the application server. It is unclear what would be the endpoint to which throughput, jitter, latency and other parameters would apply.
- The procedure is very similar to Dedicated Networks. There seems to be redundancy with QoS Booking
- The use of the same name “QoS Booking” is misleading with the other API called “QoS Booking”