Skip to content
Open
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
41 changes: 39 additions & 2 deletions code/API_definitions/quality-on-demand.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ info:
Note: Network Access Identifier is defined for future use and will not be supported with this version of the API.

* **Identifier for the application server**:
IPv4 and/or IPv6 address of the application server (application backend)
The domain name and/or IPv4 address(es) and/or IPv6 address(es) used by the application server (application backend). Domain names shall be expanded to a list of IP addresses using the network operator's own DNS service, and the QoS profile will apply to all IP packets with these IP addresses as source or destination address.

The application service provider should ensure, that the application clients use the network operator's own DNS service for resolving the application servers IP addresses. The application client should use the same application server IP address(es) as the network for a correction functioning of the feature.

* **App-Flow (between the application client and application server)**:
The precise application data flow the API consumer wants to prioritize and have stable latency or throughput for. This flow is in the current API version determined by the identified device and the application server. And it can be further elaborated with details such as ports or port-ranges. Future version of the API might allow more detailed flow identification features.
Expand Down Expand Up @@ -880,18 +882,46 @@ components:
description: |
A server hosting backend applications to deliver some business logic to clients.

The API consumer can choose to provide the below specified device identifiers:
The API consumer must provide one or more of the following application server identifiers:

* `domainName`
- The domain name that the device may use to connect to the application server
* `ipAddresses`
- A list of IPv4 and/or IPv6 addresses that may be used by the application server
* `ipv4Address`
- An IPv4 subnet
* `ipv6Address`
- An IPv6 subnet

If more than one identifier is provided, the QoS profile shall apply to all application servers identified.

If the API consumer specifies a domain name, the API provider shall resolve that domain name to a list of IP addresses using the DNS service that the network operator provides for devices connected to their network. The QoS profile shall apply to all traffic using these IP addresses, which may include traffic for a different domain name that shares one or more of these IP addresses. Note that if the application client on the device uses a different DNS service, there is no guarantee that the QoS profile will apply to the IP addresses returned by that service for the specified domain name.

type: object
properties:
domainName:
$ref: "#/components/schemas/ApplicationServerDomainName"
ipAddresses:
$ref: "#/components/schemas/ApplicationServerIPAddressList"
ipv4Address:
$ref: "#/components/schemas/ApplicationServerIpv4Address"
ipv6Address:
$ref: "#/components/schemas/ApplicationServerIpv6Address"
minProperties: 1

ApplicationServerIPAddressList:
description: A list of IPv4 and/or IPv6 addresses that may be used by the application server
type: array
items:
description: An IP address that may be used by the application server
type: string
anyOf:
- format: ipv4
- format: ipv6
uniqueItems: true
minItems: 1
maxItems: 16

NetworkAccessIdentifier:
description: A public identifier addressing a subscription in a mobile network. In 3GPP terminology, it corresponds to the GPSI formatted with the External Identifier ({Local Identifier}@{Domain Identifier}). Unlike the telephone number, the network access identifier is not subjected to portability ruling in force, and is individually managed by each operator.
type: string
Expand Down Expand Up @@ -944,6 +974,13 @@ components:
format: ipv6
example: 2001:db8:85a3:8d3:1319:8a2e:370:7344

ApplicationServerDomainName:
type: string
format: hostname
example: "example.com"
description: |
The domain name used by the application server. The domain name must be resolvable using the DNS service provided by the network operator for devices connected to their network. It is expected that the domain name will usually be a fully qualified domain name (FQDN).

ApplicationServerIpv4Address:
type: string
example: "198.51.100.0/24"
Expand Down
Loading