--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2020 AT&T Intellectual Property
+
+QoE Predictor Overview
+======================
+
+QoE Predictor (QP) is an Xapp in the Traffic Steering O-RAN use case,
+which uses the following Xapps:
+
+#. Traffic Steering, which sends prediction requests to QP Driver.
+#. QP Driver, which fetches data from SDL on behalf of traffic steering,
+ both UE Data and Cell Data, merges that data together, then sends off
+ the data to the QoE Predictor.
+#. QoE Predictor, which predicts and sends that prediction back to Traffic Steering
+#. KPIMONN, which populates SDL in the first place.
+
+Expected Input
+--------------
+
+The QP Xapp expects a prediction-request JSON message via RMR with the following structure::
+
+ {
+ "predictionUE": "UEId1",
+ "ueMeasurements" :
+ { "servingCellId" : "CID2",
+ "measTimestampUePrbUsage" : TS1,
+ "measPeriodUePrbUsage" : Int,
+ "uePrbUsageDL" : Int,
+ "uePrbUsageUL" : Int,
+ "measTimestampUePdcpBytes" : TS2,
+ "measPeriodUePdcpByes" : Int,
+ "uePdcpBytesDL": Int,
+ "uePdcpBytesUL" : Int
+ },
+ "cellMeasurements" : [
+ {
+ "cellId" : "CID2",
+ "measTimestampPrbAvailable" : TS,
+ "measPeriodPrbAvailable" : Int,
+ "prbAvailableDL" : Int,
+ "prbAvailableUL" : Int,
+ "measTimestampPdcpBytes" : TS,
+ "measPeriodPdcpBytes" : Int,
+ "pdcpBytesDL" : 30000000,
+ "pdcpBytesUL" : 5000000,
+ "measTimestampRf" : TS,
+ "measPeriodRf" : Int,
+ "rfMeasurements" : {
+ "rsrp": Int,
+ "rsrq": Int,
+ "rsSinr": Int
+ }
+ },
+ {
+ "cellId" : "CID1",
+ "measTimestampPrbAvailable" : TS,
+ "measPeriodPrbAvailable" : Int,
+ "prbAvailableDL" : Int,
+ "prbAvailableUL" : Int,
+ "measTimestampPdcpBytes" : TS,
+ "measPeriodPdcpBytes" : Int,
+ "pdcpBytesDL" : 10000000,
+ "pdcpBytesUL" : 2000000,
+ "measTimestampRf" : TS,
+ "measPeriodRf" : Int,
+ "rfMeasurements" : {
+ "rsrp": Int,
+ "rsrq": Int,
+ "rsSinr": Int
+ }
+ },
+ {
+ "cellId" : "CID3",
+ "measTimestampPrbAvailable" : TS,
+ "measPeriodPrbAvailable" : Int,
+ "prbAvailableDL" : Int,
+ "prbAvailableUL" : Int,
+ "measTimestampPdcpBytes" : TS,
+ "measPeriodPdcpBytes" : Int,
+ "pdcpBytesDL" : 50000000,
+ "pdcpBytesUL" : 4000000,
+ "measTimestampRf" : TS,
+ "measPeriodRf" : Int,
+ "rfMeasurements" : {
+ "rsrp": Int,
+ "rsrq": Int,
+ "rsSinr": Int
+ }
+ }
+ ]
+ }
+
+
+Expected Output
+---------------
+
+The QP Xapp should send a prediction for both downlink and uplink throughput
+as a JSON message via RMR with the following structure::
+
+ {
+ "UEId1": {
+ "CID1" : [10000000,2000000],
+ "CID2" : [30000000,5000000],
+ "CID3" : [50000000,4000000]
+ }
+ }
+
+