Skip to content

Route non-local SDS via Brew presence query#57

Open
GhostBassist wants to merge 2 commits into
MidnightBlueLabs:mainfrom
GhostBassist:sds-routing-brew-presence
Open

Route non-local SDS via Brew presence query#57
GhostBassist wants to merge 2 commits into
MidnightBlueLabs:mainfrom
GhostBassist:sds-routing-brew-presence

Conversation

@GhostBassist

Copy link
Copy Markdown
Contributor

Summary

  • remove the hardcoded TetraPack SDS service ISSI whitelist
  • route non-local SDS and SDS-STATUS through a Brew subscriber presence query
  • only forward SDS to Brew when the returned subscriber profile has status == 1
  • drop unroutable destinations with an explicit log message

Details

This changes SDS routing from a fixed ISSI allowlist to a Brew-driven presence check.

Local ISSI and local GSSI handling are unchanged.
For non-local ISSIs, CMCE now hands the message to Brew, Brew sends a 0xf4 service query, and queued SDS is only released when the matching subscriber profile response reports status: 1.

If no routable external subscriber is confirmed, the message is dropped with:
ISSI (<number>) is not Routeable Locally or Externally, Dropping

Validation

  • cargo fmt --all
  • cargo test -p tetra-entities --lib -- --nocapture
  • cargo test -p tetra-entities --test test_sds_bs -- --nocapture

GhostBassist and others added 2 commits March 15, 2026 19:55
Removed SDS_ROUTE_QUERY_TIMEOUT: and Replaced with the Service HEARTBEAT_TIMEOUT.

Edge Case Catch -> Should Never Be Hit in Live Scenario unless network outage
@wbokslag
wbokslag force-pushed the main branch 3 times, most recently from 9d11006 to 9e057e7 Compare March 29, 2026 19:45
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.

1 participant