diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index e6236fc..ddbfe7a 100755
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -3825,6 +3825,32 @@
 	return resp
 }
 
+func (dh *deviceHandler) getOnuOMCIStats(ctx context.Context) (*extension.SingleGetValueResponse, error) {
+
+	var err error
+	var pDevOmciCC *cmn.OmciCC
+	if dh.pOnuOmciDevice == nil {
+		logger.Errorw(ctx, "No valid DeviceEntry", log.Fields{"device-id": dh.DeviceID})
+		err = fmt.Errorf("no-valid-DeviceEntry-%s", dh.DeviceID)
+	} else {
+		pDevOmciCC = dh.pOnuOmciDevice.GetDevOmciCC()
+		if pDevOmciCC == nil {
+			logger.Errorw(ctx, "No valid DeviceOmciCCEntry", log.Fields{"device-id": dh.DeviceID})
+			err = fmt.Errorf("no-valid-DeviceOmciCCEntry-%s", dh.DeviceID)
+		}
+	}
+	if err != nil {
+		return &extension.SingleGetValueResponse{
+				Response: &extension.GetValueResponse{
+					Status:    extension.GetValueResponse_ERROR,
+					ErrReason: extension.GetValueResponse_INTERNAL_ERROR,
+				},
+			},
+			err
+	}
+	return pDevOmciCC.GetOmciCounters(), nil
+}
+
 func (dh *deviceHandler) isFsmInOmciIdleState(ctx context.Context, PFsm *fsm.FSM, wantedState string) bool {
 	if PFsm == nil {
 		return true //FSM not active - so there is no activity on omci
diff --git a/internal/pkg/core/openonu.go b/internal/pkg/core/openonu.go
index 96c13aa..1995a9a 100755
--- a/internal/pkg/core/openonu.go
+++ b/internal/pkg/core/openonu.go
@@ -483,9 +483,10 @@
 			return &resp, nil
 		case *extension.GetValueRequest_OnuInfo:
 			return handler.getOnuOMCICounters(ctx, reqType.OnuInfo), nil
+		case *extension.GetValueRequest_OnuOmciStats:
+			return handler.getOnuOMCIStats(ctx)
 		default:
 			return uniprt.PostUniStatusErrResponse(extension.GetValueResponse_UNSUPPORTED), nil
-
 		}
 	}
 	logger.Errorw(ctx, "Single_get_value_request failed ", log.Fields{"request": request})
