Skip to content

Commit

Permalink
Merge pull request #393 from helium/andymck/subscriber-data-threshold
Browse files Browse the repository at this point in the history
Add support for radio thresholds
  • Loading branch information
andymck authored Mar 5, 2024
2 parents 9605fd4 + b1a5b74 commit 7011d31
Showing 1 changed file with 96 additions and 0 deletions.
96 changes: 96 additions & 0 deletions src/service/poc_mobile.proto
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,97 @@ message subscriber_location_ingest_report_v1 {
subscriber_location_req_v1 report = 2;
}

message radio_threshold_report_req_v1 {
// the id of the radio which has met the coverage threshold requirements
// CBRS radios only
string cbsd_id = 1;
// The onchain address of the gateway which has met the coverage
// threshold requirements
bytes hotspot_pubkey = 2;
// the threshold value representing the amount of transferred bytes the
// minimum number of subscribers as defined by subscriber_threshold have
// exceeded
uint64 bytes_threshold = 3;
// the threshold value representing the minimum number of subscribers
// that have exceeded the bytes_threshold for the hotspot
uint32 subscriber_threshold = 4;
// Unix timestamp in seconds when the thresholds were exceeded
uint64 threshold_timestamp = 5;
// pubkey of the carrier identity service
bytes carrier_pub_key = 6;
// signed payload of the carrier identity service
bytes signature = 7;
}

message radio_threshold_report_resp_v1 { string id = 1; }

message radio_threshold_ingest_report_v1 {
// Timestamp in milliseconds since unix epoch
uint64 received_timestamp = 1;
radio_threshold_report_req_v1 report = 2;
}

enum radio_threshold_report_verification_status {
threshold_report_status_valid = 0;
// used to grandfather in hotspots that have received boosting
// prior to the data component of hip84 going live
threshold_report_status_legacy_valid = 1;
threshold_report_status_invalid_carrier_key = 2;
}

message verified_radio_threshold_ingest_report_v1 {
// the verified report
radio_threshold_ingest_report_v1 report = 1;
// the status determined by the verification
radio_threshold_report_verification_status status = 2;
// Timestamp at which verification was determined, in milliseconds since unix
// epoch
uint64 timestamp = 3;
}

enum invalidated_threshold_reason {
invalidated_threshold_reason_radio_moved = 0;
}

message invalidated_radio_threshold_report_req_v1 {
// the id of the radio which thresholds are invalidated
string cbsd_id = 1;
// The onchain address of the gateway
bytes hotspot_pubkey = 2;
// the reason the thresholds are invalidated
invalidated_threshold_reason reason = 3;
// Timestamp in milliseconds since unix epoch
// of when the thresholds were invalidated
uint64 timestamp = 4;
// pubkey of the carrier identity service
bytes carrier_pub_key = 5;
// signed payload of the carrier identity service
bytes signature = 6;
}

message invalidated_radio_threshold_report_resp_v1 { string id = 1; }

message invalidated_radio_threshold_ingest_report_v1 {
// Timestamp in milliseconds since unix epoch
uint64 received_timestamp = 1;
invalidated_radio_threshold_report_req_v1 report = 2;
}

enum invalidated_radio_threshold_report_verification_status {
invalidated_threshold_report_status_valid = 0;
invalidated_threshold_report_status_invalid_carrier_key = 1;
}

message verified_invalidated_radio_threshold_ingest_report_v1 {
// the verified report
invalidated_radio_threshold_ingest_report_v1 report = 1;
// the status determined by the verification
invalidated_radio_threshold_report_verification_status status = 2;
// Timestamp at which verification was determined, in milliseconds since unix
// epoch
uint64 timestamp = 3;
}

enum signal_level {
NONE = 0;
LOW = 1;
Expand Down Expand Up @@ -190,6 +281,11 @@ service poc_mobile {
returns (subscriber_location_resp_v1);
rpc submit_coverage_object(coverage_object_req_v1)
returns (coverage_object_resp_v1);
rpc submit_threshold_report(radio_threshold_report_req_v1)
returns (radio_threshold_report_resp_v1);
rpc submit_invalidated_threshold_report(
invalidated_radio_threshold_report_req_v1)
returns (invalidated_radio_threshold_report_resp_v1);
}

message file_info {
Expand Down

0 comments on commit 7011d31

Please sign in to comment.