Skip to content

Radios

Radios are automatically added to Ella Core after a successfull connection.

The Radio API provides endpoints to view information about radios and to forget offline ones.

List Radios

This path returns the list of radios in the inventory.

Method Path
GET /api/v1/ran/radios

Query Parameters

Name In Type Default Allowed Description
page query int 1 >= 1 1-based page index.
per_page query int 25 1…100 Number of items per page.
status query str online, offline Filter by presence status.

Response Fields

Field Type Description
name string Radio name.
ref string Radio identity, and the path segment that addresses it. Empty on a radio that has not completed setup.
id string Radio identifier.
plmn object The PLMN the radio belongs to.
bit_length int Bit length of the gNB ID (22–32). Present on gNBs only.
address string Radio address. On an offline radio, the last known address.
type string Radio type: gNB, ng-eNB, eNB, N3IWF, or Unknown.
status string online if the radio is currently associated with this node, offline otherwise.
connected_at string When the radio associated (RFC 3339). On an offline radio, when it last associated.
last_seen_at string Timestamp of the last message received from the radio (RFC 3339).
disconnected_at string When the radio's association dropped (RFC 3339). Empty while the radio is online.

Sample Response

{
    "result": {
        "items": [
            {
                "name": "gnb1",
                "ref": "gNB:001-01:000102@24",
                "id": "000102",
                "plmn": { "mcc": "001", "mnc": "01" },
                "bit_length": 24,
                "address": "10.1.107.203/192.168.251.5:9487",
                "type": "gNB",
                "status": "online",
                "connected_at": "2025-08-12T16:58:00Z",
                "last_seen_at": "2025-08-12T17:02:30Z",
                "disconnected_at": ""
            },
            {
                "name": "gnb2",
                "ref": "gNB:001-01:000103@24",
                "id": "000103",
                "plmn": { "mcc": "001", "mnc": "01" },
                "bit_length": 24,
                "address": "10.1.107.204/192.168.251.6:9487",
                "type": "gNB",
                "status": "offline",
                "connected_at": "2025-08-12T09:12:00Z",
                "last_seen_at": "2025-08-12T16:40:11Z",
                "disconnected_at": "2025-08-12T16:41:02Z"
            }
        ],
        "page": 1,
        "per_page": 10,
        "total_count": 2
    }
}

Get a Radio

This path returns the details of a specific radio, connected or offline, including connection timestamps, RAN node type, and supported tracking areas. To list subscribers connected to this radio, use GET /api/v1/subscribers?radio={name}.

Method Path
GET /api/v1/ran/radios/{ref}

Path Parameters

Name Type Description
ref string Radio identity, as returned in a radio's ref field: {type}:{mcc}-{mnc}:{id}, the id carrying @{bitLength} for a gNB. For example gNB:001-01:00002a@24 or eNB:001-01:MacroeNB-00008.

Sample Response

{
    "result": {
        "name": "gnb1",
        "ref": "gNB:001-01:000102@24",
        "id": "000102",
        "plmn": { "mcc": "001", "mnc": "01" },
        "bit_length": 24,
        "address": "10.1.107.203/192.168.251.5:9487",
        "status": "online",
        "connected_at": "2025-08-12T16:58:00Z",
        "last_seen_at": "2025-08-12T17:02:30Z",
        "disconnected_at": "",
        "type": "gNB",
        "supported_tais": [
            {
                "tai": {
                    "plmnID": {
                        "mcc": "001",
                        "mnc": "01"
                    },
                    "tac": "000001"
                },
                "snssais": [
                    {
                        "sst": 1,
                        "sd": "102030"
                    }
                ]
            },
            {
                "tai": {
                    "plmnID": {
                        "mcc": "123",
                        "mnc": "12"
                    },
                    "tac": "000002"
                },
                "snssais": [
                    {
                        "sst": 1,
                        "sd": "102031"
                    }
                ]
            }
        ]
    }
}

Forget a Radio

This path drops an offline radio from the inventory.

Requires the admin role.

Method Path
DELETE /api/v1/ran/radios/{ref}

Path Parameters

Name Type Description
ref string Radio identity, as returned in a radio's ref field: {type}:{mcc}-{mnc}:{id}, the id carrying @{bitLength} for a gNB. For example gNB:001-01:00002a@24 or eNB:001-01:MacroeNB-00008.

Response Codes

Code Description
200 The radio was forgotten.
404 No offline radio carries that identifier.
409 The radio is online.

Sample Response

{
    "result": {
        "message": "Radio forgotten successfully"
    }
}

List Radio Events

This path returns the list of radio events.

Method Path
GET /api/v1/ran/events

Query Parameters

Name In Type Default Allowed Description
page query int 1 >= 1 1-based page index.
per_page query int 25 1…100 Number of items per page.
protocol query str NGAP, S1AP Filter by protocol (NGAP for 5G radios, S1AP for 4G radios).
direction query str inbound, outbound Filter by log direction.
message_type query str Filter by message type.
start query str Inclusive lower bound, RFC3339 (e.g., 2006-01-02T15:04:05Z07:00). Unbounded when omitted.
end query str Exclusive upper bound, RFC3339. Unbounded when omitted.

Sample Response

{
    "result": {
        "items": [
            {
                "id": 1,
                "timestamp": "2025-08-12T16:58:00.810-0400",
                "radio": "gnb1",
                "address": "10.1.107.203:9487",
                "protocol": "NGAP",
                "message_type": "PDU Session Establishment Accept",
                "direction": "inbound",
                "raw": "ABUAOQAABAAbAAkAAPEQMAASNFAAUkAMBIBnbmIwMDEyMzQ1AGYAEAAAAAABAADxEAAAEAgQIDAAFUABQA",
                "details": "{\"pduSessionID\":1}"
            }
        ],
        "page": 1,
        "per_page": 10,
        "total_count": 1
    }
}

Get Radio Event

This path returns a specific radio event by its ID.

Method Path
GET /api/v1/ran/events/{id}

Sample Response

{
    "result": {
        "raw": "IBUALAAABAABAAUBAGFtZgBgAAgAAADxEMr+AABWQAH/AFAACwAA8RAAABAIECAw",
        "decoded": {
            "successful_outcome": {
                "procedure_code": "NGSetup",
                "criticality": "Reject (0)",
                "value": {
                    "ng_setup_response": {
                        "ies": [
                            {
                                "id": "AMFName (1)",
                                "criticality": "Reject (0)",
                                "amf_name": "amf"
                            },
                            {
                                "id": "ServedGUAMIList (96)",
                                "criticality": "Reject (0)",
                                "served_guami_list": [
                                    {
                                        "plmn_id": {
                                            "mcc": "001",
                                            "mnc": "01"
                                        },
                                        "amf_id": "cafe00"
                                    }
                                ]
                            },
                            {
                                "id": "RelativeAMFCapacity (86)",
                                "criticality": "Ignore (1)",
                                "relative_amf_capacity": 255
                            },
                            {
                                "id": "PLMNSupportList (80)",
                                "criticality": "Reject (0)",
                                "plmn_support_list": [
                                    {
                                        "plmn_id": {
                                            "mcc": "001",
                                            "mnc": "01"
                                        },
                                        "slice_support_list": [
                                            {
                                                "sst": 1,
                                                "sd": "102030"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                }
            }
        }
    }
}

Update Radio Event Retention Policy

This path updates the radio event retention policy.

Method Path
PUT /api/v1/ran/events/retention

Parameters

  • days (integer): The number of days to retain radio events. Must be a positive integer.

Sample Response

{
    "result": {
        "message": "Radio event retention policy updated successfully"
    }
}

Clear Radio Events

This path deletes all radio events.

Method Path
DELETE /api/v1/ran/events

Parameters

None

Sample Response

{
    "result": {
        "message": "All radio events cleared successfully"
    }
}

Get Radio Event Retention Policy

This path returns the current radio event retention policy.

Method Path
GET /api/v1/ran/events/retention

Parameters

None

Sample Response

{
    "result": {
        "days": 30
    }
}