Commit b52518ac authored by Jesus de Gregorio's avatar Jesus de Gregorio
Browse files

SA#111

parent 452563f9
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 −10
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: AI/ML NRM
  version: 19.4.0
  version: 19.5.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
@@ -538,8 +538,6 @@ components:
                      - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    requestStatus:
                      $ref: '#/components/schemas/RequestStatus'
                    expectedRuntimeContext:
                      $ref: '#/components/schemas/MLContext'
                    performanceRequirements:
                      type: array
                      uniqueItems: true
@@ -607,10 +605,11 @@ components:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' 
                    trainingReportRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
                    mLModelGeneratedRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
                    mLModelRef:  ## Figure 7.3a.1.1.1-1 is 1-0..1 mapping, hence should be single
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
                    mLModelCoordinationGroupRef: 
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
  

    MLTrainingReport-Single:
      allOf:
@@ -645,8 +644,6 @@ components:
                    areNewTrainingDataUsed:
                      type: boolean
                      readOnly: true
                    trainingRequestRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo'
                    fLReportPerClient:
                      type: array
                      uniqueItems: true
@@ -661,8 +658,6 @@ components:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
                    mLModelCoordinationGroupGeneratedRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
                    mLModelRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo'

    MLTestingFunction-Single:
      allOf:
+56 −17
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: Intent NRM
  version: 19.4.0
  version: 19.5.0
  description: >-
    OAS 3.0.1 definition of the Intent 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.312; Intent driven management services for mobile networks
@@ -73,9 +73,11 @@ components:
            type: integer
            minimum: 1
            maximum: 100
            default: 1
            description: It expresses the priority of the stated intent within a MnS consumer.   
          intentPreemptionCapability:
            type: boolean
            default: false
          intentReportControl:
            type: array
            uniqueItems: true
@@ -87,7 +89,13 @@ components:
          intentReportReference:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
          intentUtilityFormulaRef:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
        required:
          - userLabel
          - intentExpectations
          - intentMgmtPurpose
          - intentReportControl
          - intentReportReference
    IntentReport-Single:
      description: It represents intent report information from MnS producer to MnS consumer.
      allOf:
@@ -116,6 +124,9 @@ components:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo'
          intentReference:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
      required:
        - lastUpdatedTime
        - intentReference
    IntentHandlingFunction-Single:
      description: >- 
        It represents the intent handling capabilities can be supported by a specific intent 
@@ -161,6 +172,9 @@ components:
          utilityOffset:
            type: number
            default: 0
      required:
        - utilityFunctionId
        - utilityParameterList
   #-------Definition of generic IOCs ----------#  

   #-------Definition of the generic IntentExpectation dataType ----------#    
@@ -248,6 +262,7 @@ components:
        - ALL_OF
        - ONE_OF
        - ANY_OF
      default: ALL_OF
    IntentMgmtPurpose:
      description: >-
        It describes the MnS consumer requirements for the management purpose (required procedures)
@@ -298,6 +313,8 @@ components:
            type: string
          readOnly: true
          description: An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo
      required: 
        - fulfilmentStatus  
    ExpectationVerb:
      type: string
      enum:
@@ -385,6 +402,10 @@ components:
          minimum: 0
          maximum: 10
          description: It represents the preference information of the Consumer on expectationTargets.
      required:
        - targetName
        - targetCondition
        - targetValueRange

   #-------Definition of the generic ExpectationTarget  dataType----------#  
   
@@ -406,6 +427,10 @@ components:
                items:
                  $ref: "#/components/schemas/ValueRangeType"
              - $ref: "#/components/schemas/ValueRangeType"
      required:
        - contextAttribute
        - contextCondition
        - contextValueRange
   #-------Definition of the generic Context dataType----------------#

  #-------Definition of the generic IntentReportControl dataType----------------#
@@ -416,7 +441,8 @@ components:
      properties:
        reportRecipientAddress:
          description: >-
            It indicates the address of report recipient for MnS consumer
            It indicates the address of report recipient for MnS consumer. 
            It shall be supported when the implicit intent report subscription mechanism is supported.
          type: string
        observationPeriod:
          description: >-
@@ -445,7 +471,6 @@ components:
          items: 
            type: string
      required:
        - reportRecipientAddress
        - observationPeriod
    ExpectedReportType:
      type: string
@@ -480,6 +505,10 @@ components:
              items:
                $ref: '#/components/schemas/ValueRangeType'
            - $ref: '#/components/schemas/ValueRangeType'
      required:
        - targetName
        - targetCondition
        - targetValueRange
   #-------Definition of the concrete IntentReportControl dataType----------------#


@@ -499,7 +528,15 @@ components:
          items: 
            $ref: '#/components/schemas/ExpectationFulfilmentResult'
        additionalFulfilmentInfo:
          description: >- 
            It describes the additional information of intent intent fulfilment.The content and format is vendor specific.
             Examples of additional fulfilment information could be:Types for the list of managed objects (e.g. NE, NF, Cell) 
             which are updated during intent fulfilment, or, Instance information for the list of managed objects (e.g. NE, NF,
              Cell)  and corresponding attributes which are updated during intent fulfilment.
          type: string
          readOnly: true
      required:
          - intentFulfilmentInfo
   #-------Definition of the concrete IntentFulfilmentReport dataType----------------#

   #-------Definition of the generic ExpectationFulfilmentResult dataType----------------#
@@ -561,23 +598,25 @@ components:
          readOnly: true
        conflictType:
          type: string
          readOnly: true
          enum:
              - INTENT_CONFLICT
              - EXPECTATION_CONFLICT
              - TARGET_CONFLICT
          readOnly: true    
        conflictingIntent:
          description: >-
            This will be present if the value of conflictType is INTENT_CONFLICT. It describes the DN of the conflicting intent
            This will be present if the MnS producer supports reporting on INTENT_CONFLICT or EXPECTATION_CONFLICT 
            or TARGET_CONFLICT.
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
        conflictingExpectation:
          description: >-
            This will be present if the value of conflictType is EXPECTATION_CONFLICT. It describes the expectationId of the conflicting IntentExpectation with an Intent       
            This will be present if the MnS producer supports reporting on conflicts of type EXPECTATION_CONFLICT or 
            TARGET_CONFLICT.
          type: string
          readOnly: true
        conflictingTarget:
          description: >-
            This will be present if the value of conflictType is TARGET_CONFLICT. It describes the targetName of the conflicting ExpectationTarget with an IntentExpectation           
            This will be present if the MnS producer supports reporting on conflicts of type TARGET_CONFLICT.
          type: string
          readOnly: true 
        recommendedSolutions:
Loading