Skip to content

1. RC Subscription Delete Request

1.1 XappRcSubscriptionDeleteRequestPublisherPubData

The XappRcSubscriptionDeleteRequestPublisherPubData is responsible for managing the deletion of an existing RC (Radio Connection) subscription between the RAN Intelligent Controller (RIC) and the E2 nodes.

This request is used when an xApp needs to terminate the monitoring or control of previously subscribed radio connections over the E2 interface.

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

1.2 Examples

Info

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

e2-t.E2SM-RANCTL-UNSUBSCRIBE
This subject is responsible for sending the RC subscription delete message.

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

Example

Send RC Subscription Delete example:

# Add Accelleran xapp library
from xapp_lib import xapp_lib
# Add protobuf definitions
from xapp_lib.proto_pb2.accelleran.e2 import genXappRc_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 XappRcSubscriptionDeleteRequestPublisherPubData python dictionnary
    e2sm_rc_subscription_delete_config = {
        "E2smBaseSubscriptionDeleteData": {
            ...
        }
    }

    # Serialize the subscription delete request message
    e2sm_rc_delete_subscription_request_msg = genXappRc_pb2.XappRcSubscriptionDeleteRequestPublisherPubData()
    ParseDict(e2sm_rc_subscription_delete_config, e2sm_rc_delete_subscription_request_msg)

    # Send e2sm rc subscription delete message
    xapp.nats(endpoint="NATS_URL_5G").send_data(
        "e2-t.E2SM-RANCTL-UNSUBSCRIBE", e2sm_rc_delete_subscription_request_msg.SerializeToString()
    )

1.2.1 Subscription Delete

Example XappRcSubscriptionDeleteRequestPublisherPubData message for subscription delete:

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

1.3 Schema

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

E2 RC Subscription Delete Request schema
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "$ref": "#/definitions/XappRcSubscriptionDeleteRequestPublisherPubData",
    "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"
        },
        "XappRcSubscriptionDeleteRequestPublisherPubData": {
            "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 Rc Subscription Delete Request Publisher Pub Data",
            "description": "* Publisher : XappRcSubscriptionDeleteRequestPublisher Topic : E2SM-RANCTL-UNSUBSCRIBE Description : Publishes E2 Subscription Delete Request initiated by the XAPP to the SMRC"
        }
    }
}