Skip to content

Commit

Permalink
Merge pull request #92 from camaraproject/bigludo7-patch-4
Browse files Browse the repository at this point in the history
Update device-status.yaml to align Device definition
  • Loading branch information
akoshunyadi authored Dec 14, 2023
2 parents dbf881f + 60aea42 commit bbc85b2
Showing 1 changed file with 24 additions and 31 deletions.
55 changes: 24 additions & 31 deletions code/API_definitions/device-status.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -488,16 +488,16 @@ components:

Device:
description: |
End-user equipment able to connect to a mobile network. Examples of devices include smartphones or IoT sensors/actuators.
End-user equipment able to connect to a mobile network. Examples of devices include smartphones or IoT sensors/actuators.
The developer can choose to provide the below specified device identifiers:
* `ipv4Address`
* `ipv6Address`
* `phoneNumber`
* `networkAccessIdentifier`
* `networkAccessIdentifier`
NOTE: the MNO might support only a subset of these options. The API invoker can provide multiple identifiers to be compatible across different MNOs. In this case the identifiers MUST belong to the same device
NOTE: the MNO might support only a subset of these options. The API invoker can provide multiple identifiers to be compatible across different MNOs. In this case the identifiers MUST belong to the same device.
type: object
properties:
phoneNumber:
Expand All @@ -507,18 +507,19 @@ components:
ipv4Address:
$ref: "#/components/schemas/DeviceIpv4Addr"
ipv6Address:
$ref: "#/components/schemas/Ipv6Address"
$ref: "#/components/schemas/DeviceIpv6Address"
minProperties: 1
NetworkAccessIdentifier:
type: string
example: 123456789@domain.com
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.

PhoneNumber:
description: A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, optionally prefixed with '+'.
type: string
pattern: '^\+?[0-9]{5,15}$'
example: 123456789
description: A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, optionally prefixed with '+'.
example: "123456789"

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
example: "123456789@domain.com"

DeviceIpv4Addr:
type: object
Expand All @@ -540,28 +541,27 @@ components:
anyOf:
- required: [publicAddress, privateAddress]
- required: [publicAddress, publicPort]
example: { "publicAddress": "84.125.93.10", "publicPort": 59765 }
example:
publicAddress: "84.125.93.10"
publicPort: 59765

SingleIpv4Addr:
description: A single IPv4 address with no subnet mask
type: string
pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$'
example: 84.125.93.10
format: ipv4
example: "84.125.93.10"

Port:
description: TCP or UDP port number
type: integer
minimum: 0
maximum: 65535

Ipv6Address:
DeviceIpv6Address:
description: |
IPv6 address, following IETF 5952 format, may be specified in form <address/mask> as:
- address - The /128 subnet is optional for single addresses:
- 2001:db8:85a3:8d3:1319:8a2e:370:7344
- 2001:db8:85a3:8d3:1319:8a2e:370:7344/128
- address/mask - an IP v6 number with a mask:
- 2001:db8:85a3:8d3::0/64
- 2001:db8:85a3:8d3::/64
The device should be identified by the observed IPv6 address, or by any single IPv6 address from within the subnet allocated to the device (e.g. adding ::0 to the /64 prefix).
type: string
format: ipv6
allOf:
- pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))?$'
- pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)?$'
example: 2001:db8:85a3:8d3:1319:8a2e:370:7344

CountryCode:
Expand Down Expand Up @@ -590,13 +590,6 @@ components:
required:
- device

Port:
description: User equipment port. Device port may be required along with IP address to identify the target device
type: integer
minimum: 0
maximum: 65535
example: 5060

ErrorInfo:
type: object
required:
Expand Down

0 comments on commit bbc85b2

Please sign in to comment.