Commit 5142159b authored by Jesus de Gregorio's avatar Jesus de Gregorio
Browse files

SA#111

parent 873fcba5
Loading
Loading
Loading
Loading
Loading
+113 −0
Original line number Diff line number Diff line
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "title": "3GPP.SWAP",
  "type": "object",
  "description": "The description of the SWAP messages",
  "definitions": {
    "matching_criteria_object": {
      "type": "object",
      "required": ["type", "value"],
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string",
              "enum": ["ipv4", "ipv6", "fqdn", "service", "user", "eas", "app", "location", "qos", "processing"]
            },
            {
              "type": "string"
            }
          ]
        },
        "value": {
          "description": "The value associated with the matching criteria type"
        }
      }
    }
  },
  "properties": {
    "version": {
      "description": "the version of the SWAP protocol",
      "type": "integer"
    },
    "source_id": {
      "description": "A unique identifier of the source",
      "type": "string"
    },
    "message_id": {
      "description": "the sequence number of the message",
      "type": "integer"
    },
    "message_type": {
      "description": "the type of the SWAP message",
      "type": "string",
      "enum": ["register", "connect", "response", "accept", "reject", "update", "close", "application"]
    },
    "payload": {
      "oneOf": [
        {
          "description": "Register payload",
          "type": "object",
          "properties": {
            "matching_criteria": {
              "$ref": "#/definitions/matching_criteria_object"
            }
          }
        },
        {
          "description": "Response payload",
          "type": "object",
          "properties": {
            "type": {"type": "string", "enum": ["ack", "error"]},
            "source": {"type": "string"},
            "request": {"type": "integer"},
            "description": {"type": "string"}
          }
        },
        {
          "description": "Connect payload",
          "type": "object",
          "properties": {
            "offer": {"type": "string"},
            "matching_criteria": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/matching_criteria_object"
              }
            }
          }
        },
        {
          "description": "Accept payload",
          "type": "object",
          "properties": {
            "answer": {"type": "string"}
          }
        },
        {
          "description": "Reject/error payload",
          "type": "object",
          "properties": {
            "source": {"type": "string"},
            "request": {"type": "integer"},
            "error_id": {"type": "string"},
            "description": {"type": "string"}
          }
        },
        {
          "description": "Application payload",
          "type": "object",
          "properties": {
            "type": {"type": "string"},
            "value": {"type": "object"}
          }
        }
      ]
    },
    "extensions": {
      "type": "object",
      "description": "Extension object for additional properties"
    }
  },
  "required": ["version", "source_id", "message_id"]
}
+96 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:3GPP:ns:PSS:DASH:QMC14" 
    elementFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:sv="urn:3gpp:metadata:2016:PSS:schemaVersion"
    xmlns="urn:3GPP:ns:PSS:DASH:QMC14">

    <xs:element name="QmcConfiguration" type="QmcConfigurationType"/>
    
    <xs:complexType name="QmcConfigurationType">
        <xs:sequence>
            <xs:element name="Range" type="RangeType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="LocationFilter" type="LocationFilterType" minOccurs="0"/>
            <xs:element name="StreamingSourceFilter" type="StreamingSourceFilterType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="metrics" type="xs:string" use="required"/>
        <xs:attribute name="samplePercentage" type="xs:double" use="optional"/>
        <xs:attribute name="reportingInterval" type="xs:unsignedInt" use="optional"/>
        <xs:attribute name="sliceScope" type="UnsignedIntVectorType" use="optional"/>
        <xs:attribute name="communicationServiceType" type="CommunicationServiceTypeType" use="optional"/>
        <xs:attribute name="qoeReferenceId" type="xs:hexBinary" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="RangeType">
        <xs:sequence>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="startTime" type="xs:unsignedInt" use="optional"/>
        <xs:attribute name="duration" type="xs:duration" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:simpleType name="UnsignedIntVectorType">
        <xs:list itemType="xs:unsignedInt"/>
    </xs:simpleType>

    <xs:simpleType name="CommunicationServiceTypeType">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="unicast"/> 
            <xs:enumeration value="mbsBroadcast"/>
            <xs:enumeration value="mbsMulticast"/>
        </xs:restriction>
    </xs:simpleType>

<xs:complexType name="LocationFilterType">
        <xs:sequence>
            <xs:element name="cellID" type="xs:unsignedLong" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="shape" type="ShapeType" minOccurs="0"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="ShapeType">
        <xs:sequence>
            <xs:element name="PolygonList" type="PolygonListType" minOccurs="0"/>
            <xs:element name="CircularAreaList" type="CircularAreaListType" minOccurs="0"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="PolygonListType">
        <xs:annotation>
            <xs:documentation> see [OMA MLP] </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Polygon" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="ConfLevel" type="xs:unsignedInt" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="CircularAreaListType">
        <xs:annotation>
            <xs:documentation> see [OMA MLP] </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="CircularArea" minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="ConfLevel" type="xs:unsignedInt" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>

    <xs:complexType name="StreamingSourceFilterType">
        <xs:sequence>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="streamingSource" type="xs:string" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
</xs:schema>
+0 −17
Original line number Diff line number Diff line
@@ -25,8 +25,6 @@
        <xs:attribute name="samplePercentage" type="xs:double" use="optional"/>
        <xs:attribute name="reportingServer" type="xs:anyURI" use="required"/>
        <xs:attribute name="reportingInterval" type="xs:unsignedInt" use="optional"/>
        <xs:attribute name="sliceScope" type="UnsignedIntVectorType" use="optional"/>
        <xs:attribute name="communicationServiceType" type="CommunicationServiceTypeType" use="optional" default="all"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
    
@@ -37,18 +35,6 @@
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="CommunicationServiceTypeType">
        <xs:list>
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="all" />
                    <xs:enumeration value="unicast" />
                    <xs:enumeration value="mbsBroadcast" />
                    <xs:enumeration value="mbsMulticast" />
                </xs:restriction>
            </xs:simpleType>
        </xs:list>
    </xs:simpleType>

    <xs:complexType name="LocationFilterType">
        <xs:sequence>
@@ -91,7 +77,4 @@
        <xs:attribute name="ConfLevel" type="xs:unsignedInt" use="optional"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
    <xs:simpleType name="UnsignedIntVectorType">
        <xs:list itemType="xs:unsignedInt"/>
    </xs:simpleType>
</xs:schema>
+5 −2
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: AI/ML NRM
  version: 18.7.0
  version: 18.8.0
  description: >-
    OAS 3.0.1 specification of the AI/ML NRM
    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.105; AI/ML Management
@@ -296,6 +296,9 @@ components:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    mLModelRef:  ## Figure 7.3a.1.1.1-1 is 1-0..1 mapping, hence should be single
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    mLModelCoordinationGroupRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
  

    MLTrainingReport-Single:
      allOf: