Skip to content

1. KPM Subscription Delete Request

1.1 XappKpmSubscriptionDeleteRequestPublisherPubData

The XappKpmSubscriptionDeleteRequestPublisherPubData is responsible for managing the deletion of an existing KPM subscription between the RAN Intelligent Controller (RIC) and the E2 nodes.

This request is used when an xApp needs to terminate the monitoring of previously subscribed Key Performance Metrics (KPM) over the E2 interface.

The deletion ensures that no further performance data is reported for the specific subscription.

1.2 Examples

Info

To publish a KPM Subscription Delete request, the following NATS subject must be used:

e2-t.E2SM-KPIMON-UNSUBSCRIBE
This subject is responsible for sending the KPM subscription delete message for real-time monitoring and KPI data collection.

The following example demonstrates how to build and send the E2smBaseSubscriptionDeleteData message for deleting a previously established subscription.

Example

Send Kpm Subscription Delete example:

# Add Accelleran xapp library
from xapp_lib import xapp_lib
# Add protobuf definitions
from xapp_lib.proto_pb2.accelleran.e2 import genXappKpm_pb2
# Add function to serialize json dict in protobuf
from google.protobuf.json_format import ParseDict

def main():

    ### Use xApp Builder to create the xApp
    builder = xapp_lib.XAppBuilder("../..", absolute=False)
    builder.metadata("core/xapp_metadata.json")
    builder.endpoints("config/xapp_endpoints.json")
    builder.config("config/xapp_config.json")
    builder.readme("README.md")
    xapp = builder.build()

    # Define the XappKpmSubscriptionRequestPublisherPubData python dictionnary
    e2sm_kpm_subscription_delete_config = {
        "E2smBaseSubscriptionDeleteData": {
            ...
        }
    }

    # Serialize the subscription delete request message
    e2sm_kpm_delete_subscription_request_msg = genXappKpm_pb2.XappKpmSubscriptionDeleteRequestPublisherPubData()
    ParseDict(e2sm_kpm_subscription_delete_config, e2sm_kpm_delete_subscription_request_msg)

    # Send e2sm kpm subscription delete message
    xapp.nats(endpoint="NATS_URL_5G").send_data(
        "e2-t.E2SM-KPIMON-UNSUBSCRIBE", e2sm_kpm_delete_subscription_request_msg.SerializeToString()
    )

1.2.1 Subscription Delete Request

Example E2smBaseSubscriptionDeleteData message for subscription delete:

E2 KPM Subscription Delete Request example
{
    "E2smBaseSubscriptionDeleteData": {
        "RequestId": {
            "RicRequestorId": 23,
            "RicInstanceId": 153563
        },
        "RanFunctionName": "ORAN-E2SM-KPM",
        "RanFunctionId": 1,
            "NodeId": {
            "GlobalGnbId": {
                "PlmnIdentity": {
                    "Data": [
                        153,
                        249,
                        153
                    ]
                },
                "GnbId": {
                    "Value": 0,
                    "Length": 32
                }
            },
            "OptionalGnbDuId": 2
        }
    }
}

1.3 Schema

This section provides the json schema for the E2 KPM Subscription Delete Request, which outlines the expected structure and data types.

E2 KPM Subscription Delete Request schema
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "$ref": "#/definitions/XappKpmSubscriptionDeleteRequestPublisherPubData",
    "definitions": {
        "PBE2apMsgData.E2smBaseSubscriptionDeleteData": {
            "properties": {
                "RequestId": {
                    "$ref": "#/definitions/PBE2apMsgData.RicRequestId",
                    "additionalProperties": true
                },
                "RanFunctionName": {
                    "type": "string"
                },
                "RanFunctionId": {
                    "type": "integer"
                },
                "NodeId": {
                    "$ref": "#/definitions/PBE2apMsgData.GlobalE2NodeId",
                    "additionalProperties": true
                }
            },
            "additionalProperties": true,
            "type": "object",
            "title": "E 2 Sm Base Subscription Delete Data"
        },
        "PBE2apMsgData.GlobalE2NodeId": {
            "properties": {
                "GlobalGnbId": {
                    "$ref": "#/definitions/PBE2apMsgData.GlobalGnbId",
                    "additionalProperties": true
                },
                "OptionalGnbCuUpId": {
                    "type": "string"
                },
                "OptionalGnbDuId": {
                    "type": "string"
                }
            },
            "additionalProperties": true,
            "type": "object",
            "title": "Global E 2 Node Id",
            "description": "*O-RAN.WG3.E2AP-v02.00 9.2.6 Global E2 Node ID"
        },
        "PBE2apMsgData.GlobalGnbId": {
            "properties": {
                "PlmnIdentity": {
                    "$ref": "#/definitions/PBE2apMsgData.PlmnIdentity",
                    "additionalProperties": true
                },
                "GnbId": {
                    "$ref": "#/definitions/PBE2apMsgData.GnbId",
                    "additionalProperties": true
                }
            },
            "additionalProperties": true,
            "type": "object",
            "title": "Global Gnb Id"
        },
        "PBE2apMsgData.GnbId": {
            "properties": {
                "Value": {
                    "type": "integer"
                },
                "Length": {
                    "type": "integer",
                    "description": "Number of bits used in the gnbId. This may vary from 22 to 32"
                }
            },
            "additionalProperties": true,
            "type": "object",
            "title": "Gnb Id"
        },
        "PBE2apMsgData.PlmnIdentity": {
            "properties": {
                "Data": {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                }
            },
            "additionalProperties": true,
            "type": "object",
            "title": "Plmn Identity",
            "description": "*O-RAN.WG3.E2SM-R003-v03.00 6.2.3.1 PLMN Identity"
        },
        "PBE2apMsgData.RicRequestId": {
            "properties": {
                "RicRequestorId": {
                    "type": "integer"
                },
                "RicInstanceId": {
                    "type": "integer"
                }
            },
            "additionalProperties": true,
            "type": "object",
            "title": "Ric Request Id"
        },
        "XappKpmSubscriptionDeleteRequestPublisherPubData": {
            "properties": {
                "E2smBaseSubscriptionDeleteData": {
                    "$ref": "#/definitions/PBE2apMsgData.E2smBaseSubscriptionDeleteData",
                    "additionalProperties": true,
                    "description": "See E2smBaseSubscriptionDeleteData for detailed description of this field"
                },
                "tlpublishTime": {
                    "type": "string",
                    "description": "Contains the time of publishing in EPOCH milliseconds"
                },
                "spanContext": {
                    "type": "string",
                    "description": "Contains an opentracing spancontext",
                    "format": "binary",
                    "binaryEncoding": "base64"
                }
            },
            "additionalProperties": true,
            "type": "object",
            "title": "Xapp Kpm Subscription Delete Request Publisher Pub Data",
            "description": "* Publisher : XappKpmSubscriptionDeleteRequestPublisher Topic : E2SM-KPIMON-UNSUBSCRIBE Description : This publisher will publish E2 Subscription Delete Request initiated by the XAPP to the SMKPM"
        }
    }
}