Skip to main content

Register your PBX on Orbit

Your PBX (Asterisk, FreeSWITCH, 3CX — anything that speaks SIP) connects to Orbit through a BYO-PBX trunk: an outgoing-direction entry whose host and port are the SIP endpoint Orbit registers against. Once it registers, the registration story never resets — when it stops, the platform tells you what changed. The setup guide’s Step 1 — Pick the direction names this the outgoing trunk.

The trunk URI

A BYO-PBX trunk carries its destination as a host, port, and transport — the termination URI. Angle dialing to host:port over UDP, TCP, or TLS, with the TLS option for an encrypted control path. In the console the list cards render that URI from the trunk row itself, so a URL-safe display never lies about the deployed endpoint. Point the endpoint at the Orbit edge only if your provider requires it — the trunk registers against your own PBX, so host is the public hostname (or IP) of your PBX’s SIP endpoint. A NAT rewriting source addresses between register attempts trips TLS handback; prefer TLS where supported if the trunk carries sensitive files.

Registration vs. inbound acceptance

Registration is what turns a BYO-PBX trunk into the path Orbit uses for outgoing dispatch: while status === "registered", routing decisions prefer it; when it drops, the console honors your designated failover trunk or the platform default rather than failing outright. That’s different from the incoming direction — your PBX originate calls straight into Orbit and readiness is a config check, not a REGISTER (see Settings → SIP trunks → Incoming). Don’t dispatch outbound through a trunk the console reports unregistered on until you’ve fixed registration, since the dispatch gate refuses to launch it.

Reading registration health

Every outgoing trunk shows registration status on every list card plus a health snapshot on the detail page. The snapshot threads through GET /voice/sip-trunks/health — a ranked endpoint that buckets trunks by severity:
  • downstatus === "unregistered": cannot carry outbound calls.
  • degraded — registered, but a failing streak is in progress (registrationFailureCount > 0), e.g., a REGISTER that keeps erroring on retry.
  • active — registered, streak-free.
  • unknown — no probe verdict stamped yet (new trunks, blipped probes).
The same endpoint folds the consecutive-failure streak into consecutiveFailures and stamps failingSince, so the operational summary can say “N failed registration checks since T” rather than only the last error. Validate your trunk before you save it — the dialog runs a pre-save probe — and re-run it from the detail page afterward if the registered status lags. See Connect a SIP trunk for the full lifecycle walk, and SIP trunks troubleshooting for registration-specific causes to chase first.