RadioNetworkInformationAPI.schema.json 22.1 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
{
  "ProblemDetails": {
    "type": "object",
    "properties": {
      "type": {
        "$ref": "#/definitions/Problem.type"
      },
      "title": {
        "$ref": "#/definitions/Problem.title"
      },
      "status": {
        "$ref": "#/definitions/Problem.status"
      },
      "detail": {
        "$ref": "#/definitions/Problem.detail"
      },
      "instance": {
        "$ref": "#/definitions/Problem.instance"
      }
    }
  },
  "Problem.type": {
    "type": "string",
    "format": "uri",
    "description": "A URI reference according to IETF RFC 3986 that identifies the problem type"
  },
  "Problem.title": {
    "type": "string",
    "description": "A short, human-readable summary of the problem type"
  },
  "Problem.status": {
    "type": "integer",
    "format": "uint32",
    "description": "The HTTP status code for this occurrence of the problem"
  },
  "Problem.detail": {
    "type": "string",
    "description": "A human-readable explanation specific to this occurrence of the problem"
  },
  "Problem.instance": {
    "type": "string",
    "format": "uri",
    "description": "A URI reference that identifies the specific occurrence of the problem"
  },
  "PlmnInfo": {
    "type": "object",
    "required": [
      "appInsId",
Yann Garcia's avatar
Yann Garcia committed
      "plmn"
Yann Garcia's avatar
Yann Garcia committed
    ],
    "properties": {
      "timeStamp": {
        "$ref": "#/definitions/TimeStamp"
      },
      "appInsId": {
        "$ref": "#/definitions/AppInsId"
      },
Yann Garcia's avatar
Yann Garcia committed
      "plmn": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Plmn"
        }
Yann Garcia's avatar
Yann Garcia committed
      }
    }
  },
  "RabInfo": {
    "type": "object",
    "required": [
      "appInsId",
      "requestId"
    ],
    "properties": {
      "timeStamp": {
        "$ref": "#/definitions/TimeStamp"
      },
      "appInsId": {
        "$ref": "#/definitions/AppInsId"
      },
      "requestId": {
        "$ref": "#/definitions/RequestId"
      },
      "cellUserInfo": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/CellUserInfo"
        }
      }
    }
  },
  "S1BearerInfo": {
    "type": "object",
    "required": [
      "s1UeInfo"
    ],
    "properties": {
      "timeStamp": {
        "$ref": "#/definitions/TimeStamp"
      },
      "s1UeInfo": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/S1UeInfo"
        }
      }
    }
  },
  "S1UeInfo": {
    "type": "object",
    "required": [
      "ecgi",
      "s1BearerInfoDetailed"
    ],
    "properties": {
      "tempUeId": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/TempUeId"
        }
      },
      "associateId": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/AssociateId"
        }
      },
      "ecgi": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Ecgi"
        }
      },
      "s1BearerInfoDetailed": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/S1BearerInfoDetailed"
        }
      }
    },
    "description": "The information on users per cell."
  },
  "S1BearerInfoDetailed": {
    "type": "object",
    "required": [
      "erabId",
Yann Garcia's avatar
Yann Garcia committed
      "enbInfo",
      "sGwInfo"
Yann Garcia's avatar
Yann Garcia committed
    ],
    "properties": {
      "erabId": {
        "$ref": "#/definitions/ErabId"
      },
Yann Garcia's avatar
Yann Garcia committed
      "enbInfo": {
Yann Garcia's avatar
Yann Garcia committed
        "$ref": "#/definitions/S1EnbInfo"
      },
      "sGwInfo": {
        "$ref": "#/definitions/SGwInfo"
      }
    },
    "description": "Information on UEs in the specific cell."
  },
  "ErabId": {
    "type": "integer",
    "format": "int32",
    "description": "The element that uniquely identifies a S1 bearer for a specific UE, as defined in ETSI TS 136 413",
    "example": 10
  },
  "TempUeId": {
    "type": "object",
    "required": [
      "mmec",
      "mtmsi"
    ],
    "properties": {
      "mmec": {
        "$ref": "#/definitions/Mmec"
      },
      "mtmsi": {
        "$ref": "#/definitions/Mtmsi"
      }
    }
  },
  "Mmec": {
    "type": "string",
    "description": "MMEC as defined in ETSI TS 136 413",
    "example": "0"
  },
  "Mtmsi": {
    "type": "string",
    "description": "M-TMSI as defined in ETSI TS 136 413",
    "example": "1234"
  },
  "S1EnbInfo": {
    "type": "object",
    "required": [
      "ipAddress",
      "tunnelId"
    ],
    "properties": {
      "ipAddress": {
        "type": "string",
        "description": "eNB transport layer address of this S1 bearer.",
        "example": "192.0.2.0"
      },
      "tunnelId": {
        "type": "string",
        "description": "eNB GTP-U TEID of this S1 bearer.",
        "example": "1111"
      }
    }
  },
  "SGwInfo": {
    "type": "object",
    "required": [
      "ipAddress",
      "tunnelId"
    ],
    "properties": {
      "ipAddress": {
        "type": "string",
        "description": "SGW transport layer address of this S1 bearer.",
        "example": "192.0.2.1"
      },
      "tunnelId": {
        "type": "string",
        "description": "SGW GTP-U TEID of this S1 bearer.",
        "example": "2222"
      }
    }
  },
  "TimeStamp": {
    "type": "object",
    "required": [
      "nanoSeconds",
      "seconds"
    ],
    "properties": {
      "seconds": {
        "type": "integer",
        "format": "uint32",
        "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
        "example": 1577836800
      },
      "nanoSeconds": {
        "type": "integer",
        "format": "uint32",
        "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
        "example": 0
      }
    }
  },
  "AppInsId": {
    "type": "string",
    "format": "string",
    "description": "Unique identifier for the mobile edge application instance",
    "example": "01"
  },
  "RequestId": {
    "type": "string",
    "format": "string",
    "description": "Unique identifier allocated by the Mobile Edge application for the  Information request.",
    "example": "01"
  },
  "CellUserInfo": {
    "type": "object",
    "required": [
      "ecgi",
      "ueInfo"
    ],
    "properties": {
      "ecgi": {
        "$ref": "#/definitions/Ecgi"
      },
      "ueInfo": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/UeInfo"
        }
      }
    },
    "description": "The information on users per cell."
  },
  "Ecgi": {
    "type": "object",
    "required": [
      "cellId",
      "plmn"
    ],
    "properties": {
      "plmn": {
        "$ref": "#/definitions/Plmn"
      },
      "cellId": {
        "$ref": "#/definitions/CellId"
      }
    },
    "description": "E-UTRAN CelI Global Identifier as defined in 3GPP TS 36.413"
  },
  "Plmn": {
    "type": "object",
    "required": [
      "mcc",
      "mnc"
    ],
    "properties": {
      "mcc": {
        "type": "string",
        "format": "string",
        "description": "The Mobile Country Code part of PLMN Identity as defined in 3GPP TS 36.413",
        "example": "001"
      },
      "mnc": {
        "type": "string",
        "format": "string",
        "description": "The Mobile Network Code part of PLMN Identity as defined in 3GPP TS 36.413",
        "example": "01"
      }
    }
  },
  "CellId": {
Yann Garcia's avatar
Yann Garcia committed
    "type": "string",
    "format": "binary",
Yann Garcia's avatar
Yann Garcia committed
    "description": "The E-UTRAN Cell Identity as a bit string (size (28)), as defined in 3GPP TS 36.413",
    "example": "0x800000A"
  },
  "UeInfo": {
    "type": "object",
    "required": [
      "erabInfo"
    ],
    "properties": {
      "associateId": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/AssociateId"
        }
      },
      "erabInfo": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/ErabQosParameters"
        }
      }
    },
    "description": "Information on UEs in the specific cell."
  },
  "AssociateId": {
    "type": "object",
    "required": [
      "type",
      "value"
    ],
    "properties": {
      "type": {
        "type": "string",
        "enum": [
          "RESERVED",
          "UE_IPV4_ADDRESS",
          "UE_IPV6_ADDRESS",
          "NATED_IP_ADDRESS",
          "GTP_TEID"
        ],
        "description": "Numeric value (0-255) corresponding to specified type of identifier",
        "example": "UE_IPV4_ADDRESS"
      },
      "value": {
Yann Garcia's avatar
Yann Garcia committed
        "type": "string",
Yann Garcia's avatar
Yann Garcia committed
        "description": "Value for the identifier",
Yann Garcia's avatar
Yann Garcia committed
        "example": "192.0.0.2"
Yann Garcia's avatar
Yann Garcia committed
      }
    }
  },
  "ErabQosParameters": {
    "type": "object",
    "properties": {
      "qci": {
        "$ref": "#/definitions/Qci"
      },
Yann Garcia's avatar
Yann Garcia committed
      "qosInformation": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/QosInformation"
        }
Yann Garcia's avatar
Yann Garcia committed
      }
    }
  },
  "Qci": {
    "type": "integer",
    "format": "int32",
    "description": "QoS Class Identifier as defined in TS 23.401",
    "example": 7
  },
  "QosInformation": {
    "type": "object",
    "required": [
      "erabGbrDl",
      "erabGbrUl",
      "erabMbrDl",
      "erabMbrUl"
    ],
    "properties": {
      "erabMbrDl": {
        "type": "integer",
        "format": "int32",
        "description": "This IE indicates the maximum downlink E-RAB Bit Rate as defined in TS 23.401 for this bearer.",
        "example": 10
      },
      "erabMbrUl": {
        "type": "integer",
        "format": "int32",
        "description": "This IE indicates the maximum uplink E-RAB Bit Rate as defined in TS 23.401 for this bearer.",
        "example": 10
      },
      "erabGbrDl": {
        "type": "integer",
        "format": "int32",
        "description": "This IE indicates the guaranteed  downlink E-RAB Bit Rate as defined in TS 23.401 for this bearer.",
        "example": 10
      },
      "erabGbrUl": {
        "type": "integer",
        "format": "int32",
        "description": "This IE indicates the guaranteed  uplink E-RAB Bit Rate as defined in TS 23.401 for this bearer.",
        "example": 10
      }
    }
  },
  "SubscriptionLinkList": {
    "type": "object",
    "required": [
      "_links"
    ],
    "properties": {
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "subscription": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Subscription"
        }
      }
    }
  },
  "MeasRepUeSubscriptionPost": {
    "type": "object",
    "required": [
      "callbackReference",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocTri"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "MeasRepUeSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocTri"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "S1BearerSubscriptionPost": {
    "type": "object",
    "required": [
      "callbackReference",
      "s1BearerSubscriptionCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "eventType": {
        "$ref": "#/definitions/EventType"
      },
      "s1BearerSubscriptionCriteria": {
        "$ref": "#/definitions/S1BearerSubscriptionCriteria"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "S1BearerSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "s1BearerSubscriptionCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "eventType": {
        "$ref": "#/definitions/EventType"
      },
      "s1BearerSubscriptionCriteria": {
        "$ref": "#/definitions/S1BearerSubscriptionCriteria"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "RabEstSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocQci"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "RabEstSubscriptionPost": {
    "type": "object",
    "required": [
      "callbackReference",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocQci"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "RabModSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocQci"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "RabModSubscriptionPost": {
    "type": "object",
    "required": [
      "callbackReference",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocQci"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "RabRelSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocQci"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "RabRelSubscriptionPost": {
    "type": "object",
    "required": [
      "callbackReference",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocQci"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "CaReConfSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssoc"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "CaReConfSubscriptionPost": {
    "type": "object",
    "required": [
      "callbackReference",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssoc"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "CellChangeSubscriptionPost": {
    "type": "object",
    "required": [
Yann Garcia's avatar
Yann Garcia committed
      "callbackReference",
      "filterCriteria"
    ],
    "properties": {
      "subscriptionType": {
        "$ref": "#/definitions/SubscriptionType"
      },
Yann Garcia's avatar
Yann Garcia committed
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocHo"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "CellChangeSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssocHo"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "MeasTaSubscriptionPost": {
    "type": "object",
    "required": [
      "callbackReference",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssoc"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "MeasTaSubscription": {
    "type": "object",
    "required": [
      "callbackReference",
      "_links",
      "filterCriteria"
    ],
    "properties": {
      "callbackReference": {
        "$ref": "#/definitions/CallbackReference"
      },
      "_links": {
        "$ref": "#/definitions/Link"
      },
      "filterCriteria": {
        "$ref": "#/definitions/FilterCriteriaAssoc"
      },
      "expiryDeadline": {
        "$ref": "#/definitions/TimeStamp"
      }
    }
  },
  "CallbackReference": {
    "type": "string",
    "format": "uri",
    "description": "URL selected by the Mobile Edge application to receive notifications on the subscribed RNIS information.",
    "example": "http://meAppClient.example.com/rni/v1/"
  },
  "Link": {
    "type": "object",
    "properties": {
      "self": {
        "$ref": "#/definitions/LinkType"
      }
    },
    "description": "List of hyperlinks related to the resource"
  },
  "LinkType": {
    "description": "URI referring to a resource",
    "type": "string",
    "format": "uri",
    "example": "http://meAppClient.example.com/rni/v1/"
  },
  "Subscription": {
    "type": "object",
    "required": [
      "href",
      "subscriptionType"
    ],
    "properties": {
      "href": {
        "$ref": "#/definitions/LinkType"
      },
      "subscriptionType": {
        "$ref": "#/definitions/SubscriptionType"
      }
    },
    "description": "A link to a subscription."
  },
  "SubscriptionType": {
    "type": "string",
    "description": "Numeric value corresponding to specified type of subscription.",
    "enum": [
      "RESERVED",
      "CELL_CHANGE",
      "RAB_ESTABLISHMENT",
      "RAB_MODIFICATION",
      "RAB_RELEASE",
      "MEAS_REPORT_UE",
      "MEAS_TIMING_ADVANCE",
      "CA_RECONF",
Yann Garcia's avatar
Yann Garcia committed
    ],
    "example": "CELL_CHANGE"
  },
  "FilterCriteriaAssoc": {
    "type": "object",
    "properties": {
      "appInsId": {
        "$ref": "#/definitions/AppInsId"
      },
      "associateId": {
        "$ref": "#/definitions/AssociateId"
      },
      "plmn": {
        "$ref": "#/definitions/Plmn"
      },
      "cellId": {
        "$ref": "#/definitions/CellId"
      }
    },
    "description": "List of filtering criteria for the subscription."
  },
  "FilterCriteriaAssocQci": {
    "type": "object",
    "properties": {
      "appInsId": {
        "$ref": "#/definitions/AppInsId"
      },
      "associateId": {
        "$ref": "#/definitions/AssociateId"
      },
      "plmn": {
        "$ref": "#/definitions/Plmn"
      },
      "cellId": {
        "$ref": "#/definitions/CellId"
      },
      "qci": {
        "$ref": "#/definitions/Qci"
      }
    },
    "description": "List of filtering criteria for the subscription."
  },
  "FilterCriteriaAssocHo": {
    "type": "object",
    "properties": {
      "appInsId": {
        "$ref": "#/definitions/AppInsId"
      },
      "associateId": {
        "$ref": "#/definitions/AssociateId"
      },
      "plmn": {
        "$ref": "#/definitions/Plmn"
      },
      "cellId": {
        "$ref": "#/definitions/CellId"
      },
      "hoStatus": {
        "$ref": "#/definitions/HoStatus"
      }
    },
    "description": "List of filtering criteria for the subscription."
  },
  "FilterCriteriaAssocTri": {
    "type": "object",
    "properties": {
      "appInsId": {
        "$ref": "#/definitions/AppInsId"
      },
      "associateId": {
        "$ref": "#/definitions/AssociateId"
      },
      "plmn": {
        "$ref": "#/definitions/Plmn"
      },
      "cellId": {
        "$ref": "#/definitions/CellId"
      },
      "trigger": {
        "$ref": "#/definitions/Trigger"
      }
    },
    "description": "List of filtering criteria for the subscription."
  },
  "S1BearerSubscriptionCriteria": {
    "type": "object",
    "properties": {
      "associateId": {
        "$ref": "#/definitions/AssociateId"
      },
      "plmn": {
        "$ref": "#/definitions/Plmn"
      },
      "cellId": {
        "$ref": "#/definitions/CellId"
      },
      "erabId": {
        "$ref": "#/definitions/ErabId"
      }
    },
    "description": "List of filtering criteria for the subscription."
  },
  "HoStatus": {
    "type": "string",
    "description": "Description of the subscribed to event",
    "enum": [
      "RESERVED",
      "IN_PREPARATION",
      "IN_EXECUTION",
      "COMPLETED",
      "REJECTED",
      "CANCELLED"
    ],
    "example": "COMPLETED"
  },
  "EventType": {
    "type": "string",
    "description": "Description of the subscribed event.",
    "enum": [
      "RESERVED",
      "S1_BEARER_ESTABLISH",
      "S1_BEARER_MODIFY",
      "S1_BEARER_RELEASE"
    ],
    "example": "S1_BEARER_ESTABLISH"
  },
  "Trigger": {
    "type": "string",
    "description": "Unique identifier for the mobile edge application instance",
    "enum": [
      "NOT_AVAILABLE",
      "PERIODICAL_REPORT_STRONGEST_CELLS",
      "PERIODICAL_REPORT_STRONGEST_CELLS_FOR_SON",
      "PERIODICAL_REPORT_CGI",
      "EVENT_A1",
      "EVENT_A2",
      "EVENT_A3",
      "EVENT_A4",
      "EVENT_A5",
      "EVENT_A6",
      "EVENT_B1",
      "EVENT_B2",
      "EVENT_C1",
      "EVENT_C2",
      "EVENT_W1",
      "EVENT_W2",
      "EVENT_W3"
    ],
    "example": "EVENT_A3"
  }
}