Skip to content

Add E2SM-CCC implementation#7

Open
Noemi2001 wants to merge 1 commit into
devfrom
develop-ccc
Open

Add E2SM-CCC implementation#7
Noemi2001 wants to merge 1 commit into
devfrom
develop-ccc

Conversation

@Noemi2001
Copy link
Copy Markdown
Collaborator

No description provided.

@Noemi2001 Noemi2001 requested a review from aferaudo May 27, 2026 15:13
Copy link
Copy Markdown
Collaborator

@aferaudo aferaudo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There some things to be fixed. I will do it.

Comment on lines +1 to +11
"""
E2SM-CCC REPORT decorator for the xDevSM-dApp framework.

Implements the periodic REPORT Style 2 (cell-level) flow:
- subscribe(): builds Event Trigger Definition Format 3 + Action
Definition Format 2 as JSON and ships them via the OSC subscription
manager.
- decode_message(): parses the JSON indication header/message bytes
received from the FlexRIC ccc_sm plugin and dispatches them to the
user-registered callback.
"""
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to delete some comments here. I'll do it

Comment on lines +20 to +34
from sm_framework.py_oran.ccc.constants import (
SM_CCC_ID,
STRUCT_O_NRCELLDU,
REPORT_TYPE_ALL,
REPORT_STYLE_CELL_LEVEL,
)
from sm_framework.py_oran.ccc.ccc_encoder import (
encode_event_trigger_periodic,
encode_action_definition_cell_level,
)
from sm_framework.py_oran.ccc.ccc_decoder import (
CccIndicationHeader,
CccIndicationMessage,
)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we can leave the same notation as above


def subscribe(
self,
gnb,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Noemi2001 can you tell me what passes the xapp here? Is it the json object or the inventory name? In case I change it to a JSON object (just to use the same notation as kpm).

Comment on lines +186 to +193
def subscribe_arfcn_bw_bwps(self, gnb, period_ms: int = 1000):
"""One-call helper for the three target metrics of this iteration."""
return self.subscribe(
gnb=gnb,
period_ms=period_ms,
ran_cfg_structure_name=STRUCT_O_NRCELLDU,
attributes=["arfcnDL", "bSChannelBwDL", "bWPList"],
)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Noemi2001 how is this used in the xApp? So I can add a better description :)

Comment on lines +1 to +8
"""
Pure-Python JSON decoders for the E2SM-CCC IEs received from the RIC.

The FlexRIC ccc_sm plugin forwards the on-wire JSON bytes verbatim into
the indication header / message OCTET STRINGs, so on the dApp side we
just need `json.loads`. Two thin wrappers expose the decoded dicts and
a few helpers to drill into Indication Message Format 2 (cell-level).
"""
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this comment should be deleted

Comment on lines +1 to +5
"""
Pure-Python JSON encoders for the E2SM-CCC IEs that ride inside the
E2AP OCTET STRINGs. The dApp builds Python dicts that mirror the JSON
Schema in O-RAN.WG3.TS.E2SM-CCC §9.4.2 and ships them to the SM as bytes.
"""
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments to be removed

@aferaudo aferaudo self-assigned this May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants