Open-source telecoms. Operator-controlled.0.7.0-dev / Development preview ↗

Your infrastructure. A clear integration contract.

Keep customer authority and commercial control in your own systems. Use DOMAINTAINS to make the PBX-side service relationship explicit, inspectable and maintainable.

Your platform.
Explicit hand-off points.

These are public extension contracts. Their real authority, storage and transport come from your implementation.

  1. 01
    CustomerAccess

    Authenticate + permit mutation

    Operator implementation
  2. 02
    SelectionCatalog

    Resolve owned, eligible resource

    Operator implementation
  3. 03
    OrderingPlatform

    Persist selection + immutable origin

    Operator implementation
  4. 04
    BillingIntegration

    Guard operation + preflight

    Operator implementation
  5. 05
    ProvisioningAdapter

    Preflight + confirm allocation

    Operator implementation
  6. 06
    BillingIntegration

    Reconcile confirmed outcome

    Operator implementation
Opaque identitiesIndependent adaptersOwnership-aware configurationGPLv3-or-later
01

Integrate around responsibilities, not a vendor.

CustomerAccess and SelectionCatalog establish trusted customer, product and resource scope. OrderingPlatform and OrderingLifecycle connect actual cart, checkout and fulfilment stages. AvailabilityCarrier stays read-only. ProvisioningAdapter and BillingIntegration keep confirmation and commercial reconciliation distinct.

Map the public contracts

One relationship. Separate authorities.

A choice, not an allocation.

The customer chooses a service and expresses a number preference. The operator must independently authenticate them and verify that the product and resource belong to them.

Selecting an offer does not reserve a number or authorise a PBX.

Read the authority model ↗
02

Preserve the origin of every selection.

Per-item fields and scoped evidence prevent accidental cross-item reuse. At fulfilment, receipts must match independently verified immutable order origins. A matching account and product alone are not enough.

Cart and checkout integration
03

Design for the operation that only partly succeeded.

Allocation can succeed while billing fails. Durable guards must preserve that outcome and prevent a second allocation. The public orchestration requires explicit recovery and matching confirmation; an in-memory fixture cannot provide your production durability.

Provisioning and billing sequence
04

Protect the shared carrier boundary.

Five-second start spacing, bounded queuing and private CSV/JSONL auditing are represented in the reference. Inventory all availability consumers before integration. Independent lock files or separate hosts do not magically share a limit.

Availability protection
Read the public operator contracts