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
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"
}
}
}