blob: 0a9385a7acde2cbed832937f9542761a42b34d1d [file] [log] [blame]
// SPDX-FileCopyrightText: 2020 The Magma Authors.
// SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
//
// SPDX-License-Identifier: BSD-3-Clause
syntax = "proto3";
import "orc8r/protos/service303.proto";
import "orc8r/protos/common.proto";
package magma.lte;
option go_package = "magma/lte/cloud/go/protos";
// --------------------------------------------------------------------------
// Message Definitions for TR-069 message injection. This is used for manual
// testing of the TR-069 server.
// --------------------------------------------------------------------------
message GetParameterRequest {
// Serial ID of eNodeB. Uniquely identifies the eNodeB.
string device_serial = 1;
// Fully qualified parameter name, e.g:
// InternetGatewayDevice.LANDevice.1.Hosts.
string parameter_name = 2;
}
message NameValue {
string name = 1;
// Note: parameter value is always passed back as string. Up to calling
// function to determine type
string value = 2;
}
message GetParameterResponse {
string device_serial = 1;
repeated NameValue parameters = 2;
}
message SetParameterRequest {
// Serial ID of eNodeB. Uniquely identifies the eNodeB.
string device_serial = 1;
// Fully qualified parameter name, e.g:
// InternetGatewayDevice.LANDevice.1.Hosts.
string parameter_name = 2;
// Data values for each data type
oneof value {
int32 value_int = 3;
string value_string = 4;
bool value_bool = 5;
}
// Key to be used at ACS discretion to determine when parameter was last
// updated
string parameter_key = 6;
}
message EnodebIdentity {
// Serial ID of eNodeB. Uniquely identifies the eNodeB.
string device_serial = 1;
}
message AllEnodebStatus {
repeated SingleEnodebStatus enb_status_list = 1;
}
message SingleEnodebStatus {
enum StatusProperty {
OFF = 0;
ON = 1;
UNKNOWN = 2;
}
string device_serial = 1;
string ip_address = 2;
StatusProperty connected = 3;
StatusProperty configured = 4;
StatusProperty opstate_enabled = 5;
StatusProperty rf_tx_on = 6;
StatusProperty gps_connected = 7;
StatusProperty ptp_connected = 8;
StatusProperty mme_connected = 9;
string gps_longitude = 10;
string gps_latitude = 11;
string fsm_state = 12;
StatusProperty rf_tx_desired = 13;
}
// --------------------------------------------------------------------------
// Enodebd service definition.
// --------------------------------------------------------------------------
service Enodebd {
// Sends GetParameterValues message to ENodeB. TR-069 supports multiple
// parameter names per message, but only one is supported here.
rpc GetParameter (GetParameterRequest) returns (GetParameterResponse);
// Sends SetParameterValues message to ENodeB. TR-069 supports multiple
// parameter names per message, but only one is supported here.
rpc SetParameter (SetParameterRequest) returns (magma.orc8r.Void);
// Configure eNodeB based on enodebd config file
rpc Configure (EnodebIdentity) returns (magma.orc8r.Void);
// Reboot eNodeB
rpc Reboot (EnodebIdentity) returns (magma.orc8r.Void);
// Reboot every connected eNodeB
rpc RebootAll (magma.orc8r.Void) returns (magma.orc8r.Void);
// Get current status
rpc GetStatus (magma.orc8r.Void) returns (magma.orc8r.ServiceStatus);
// Get status info for all connected eNodeB devices
rpc GetAllEnodebStatus (magma.orc8r.Void) returns (AllEnodebStatus);
// Get status info of a single connected eNodeB device
rpc GetEnodebStatus (EnodebIdentity) returns (SingleEnodebStatus);
}