Astraby Lunar SystemsStatus: In development

CLASS 4 SOFTSWITCH / WHITE-LABEL / FULLY MANAGED

Wholesale voice, routed and billed in one system.

Astra is a Class 4 switch you resell under your own brand. Route by cost and quality, rate every call from one authority and, next, trace any call down to the SIP message.

SIGNALLING
SIP over UDP, TCP, TLS
MEDIA
RTP relay, SRTP, G.711
IDENTITY
STIR/SHAKEN signing with your own certificate
INTEGRATION
REST API, signed webhooks, MCP
A design render of the Astra reseller portal's network overview, filled with sample data: active channels, calls per second, answer rate and post-dial delay, a concurrent-channel chart, alerts that need attention, the day's revenue and margin, vendor answer rates and an event stream.
FIG. 1 · Reseller portal design, network overviewSample data, not a live system

Everything a carrier desk runs on, sharing one call record.

Routing, rating, debugging and billing read the same CDR, so the number on the invoice matches the call you can trace.

01 — Debug Status: Planned

Every call has a full trace.

Open any Call-ID to see the SIP message sequence, media quality, post-dial delay and the routing decision that picked the vendor. Download the .pcap when you need the packets.

02 — Route Status: In development

Least-cost routing with guardrails.

Margin floors, and quality-based sorting where you turn it on. A sell rate below cost or under its floor waits for finance approval. Vendors that fail health checks leave the route automatically and return when they recover.

ROUTE DECISIONSAMPLE DATA
#VENDOR · 44207COST RANKASRSTATE
1VENDOR-A3rd71.1%selected
2VENDOR-B4th74.2%standby
3VENDOR-C2nd57.9%below ASR
–VENDOR-D1st—408
03 — Bill Status: In development

Rated as each call ends.

Every CDR carries its revenue, cost, margin and the deck versions behind them, all from one rating authority. Each call spends against a balance lease, so with no lease a call is refused, except an emergency call. Vendor invoices are matched line by line against Astra's own record of each call.

CDRSAMPLE DATA
{
  "call_id":  "7f3a9c21-4be0-a8e4",
  "dest":     "+442079460018",
  "duration": 212,
  "sell":     { "deck": "RESELLER-A v14" },
  "buy":      { "deck": "VENDOR-A v9" },
  "margin":   "31.1%",
  "stir":     "A"
}
04 — Protect Status: In development

Fraud rules that act on their own.

Burst detection on high-risk prefixes, spend caps and blocklists, checked across every node. When a rule fires, Astra responds in steps, from an alert to a throttle to a block, and tells you by signed webhook.

FRAUD LOGSAMPLE DATA
13:49:01INFOINVITE +232761… attempt 39/60s
13:49:02WARNhigh_risk_burst threshold 40 reached
13:49:02ACTIONprefix +23276 throttled on CUSTOMER-C
13:49:03INFOwebhook fraud.alert → ops.reseller-a.example
13:51:40ACTIONburst continues: prefix +23276 blocked on CUSTOMER-C
05 — Resell Status: In development

Your brand, your rates.

Each reseller gets a portal in its own brand, sets its own markup, builds its own sell decks and can create sub-resellers. The account above sets each account's credit limit, never the account itself.

ACCOUNT TREESAMPLE DATA
ACCOUNTMARKUPCREDIT
Reseller Abase—
└ Reseller B+12%within limit
   └ Customer C+18%over limit

Where Astra stands today.

Astra is in active build and is not carrying customer traffic yet, so nothing on this page is live. It is fully managed by design: every edge node, point of presence and the control plane runs on Lunar's servers, and Lunar operates them. You bring your carriers, numbers, STIR/SHAKEN certificates and brand, never hardware.

Routing, rating and balance leases
One call record per call, rated by one authority. An end-to-end test already follows a call from the first INVITE to the ledger, with a simulated SBC in place of the real one.
In development
Portal
The portal already reads real platform data. The forms that create and edit trunks, vendors and routes are still being built.
In development
Call inspector
A SIP ladder, .pcap download, media quality and the routing decision for any call.
Planned
Resellers, markups and sell decks
A tenant tree of any depth, brand theming per tenant, markups and a sell-deck builder.
In development
Portals on your own domain
Each reseller's portal on a domain of its own.
Planned
STIR/SHAKEN
Signing with each tenant's own certificate. Verifying the signatures on incoming calls is not ready for production yet.
In development
911
Designed so an emergency call from an identified source always routes, even with a zero balance, a suspension or a fraud lock, and is never billed.
In development
US compliance
Robocall Mitigation Database checks (a dry run for now), CPNI access logging and US telecom tax on invoices.
In development
Tenant isolation and audit
Built so every tenant table is isolated in the database, every request is permission-checked, and the audit log is append-only and hash-chained with signed anchors.
In development
Fraud controls and webhooks
Velocity checks across nodes, spend caps, blocklists and high-risk destination lists. Webhooks are signed with HMAC-SHA256 and every delivery goes through an SSRF guard.
In development
Heimdall scoring
Heimdall, Lunar's sister product for call security, can score a call at admission, before STIR/SHAKEN signing. The step is optional and off by default, and if Heimdall cannot answer in time the call carries on under Astra's own rules. Emergency calls (911, 933) and calls to the 988 crisis line are never scored, delayed or blocked by Heimdall. False answer supervision detection runs in shadow first.
In development
Hosted edge
SBC and Class 4 switch on bare-metal servers that Lunar runs, managed by the control plane. Routing decisions are made on the edge node.
In development
Standby SBC
Edge nodes are designed to run as active/standby pairs; the second SBC will be added before any live traffic.
Planned

Walk through Astra with us.

Astra is in active build. Book a demo to see how it routes, rates and traces a call, or tell us what your network needs from a switch.