Skip to content

Unified communications, owned end to end

One wire.
Every channel your business actually sends on.

BitsPath is the comms platform that doesn't make you choose between a CPaaS, a webmail provider, and a PBX vendor. Voice in pure Rust, SMS over a real SIGTRAN stack, per-tenant business email backed by Stalwart, WhatsApp Business Cloud, transactional email, and push, sitting under one CRM, one campaign engine, one agent inbox, and one Darwan permission set. Bring your own provider keys: your carrier rates stay between you and your carrier.

  • Pure-Rust PBX, no FreeSWITCH
  • SIGTRAN/SS7 SMS in-tree
  • Stalwart webmail per tenant
  • Wenme OAuth 2.1 + Darwan
  • BYO carrier, BYO SMTP
  • MassTransit on RabbitMQ
POST /api/messaging/dispatch
202 Accepted
payload
{
  "tenant_id": "tnt_01HX...",
  "contact_id": "ctc_01HX...",
  "channels": ["voice","sms","email","mail","whatsapp"],
  "policy": "first-success",
  "template": "tpl_billing_overdue_v3"
}
routing
  • VOICEVoice / SIP:5060
  • SMS SMS / SIGTRAN:2775
  • EMAILEmail / SMTP:587
  • MAIL Webmail (Stalwart):443
  • WHATSWhatsApp Cloud API:443
20
.NET projects
csproj in src/
159
Darwan permissions
across 17 categories
4
Public surfaces
www, app, webmail, mail
6
Provider adapters
Postal, SMTP, Arena, SMPP, SIGTRAN, WhatsApp
build . platform 270617cbus . rabbitmq 4.2

Illustrative dispatch shape from the Messaging service. The same envelope fans out to Voice, SMS, Email, Stalwart, and WhatsApp Cloud without channel-specific glue in the caller.

01 / What is BitsPath?

definition . for engineers and AI engines

BitsPath is KaritKarma's multi-tenant unified communications platform: one product, one auth model, every channel a business actually sends on.

The platform is twenty .NET 10 projects in one src/ tree: services (Tenancy, Messaging, Push, Voice facade, CRM, Billing, Campaigns, Journeys, Conversations, Analytics, Contact Center, Knowledge Base, Community, Developer), the YARP ApiGateway, the EventsGateway webhook ingest, and shared libraries, talking over MassTransit on RabbitMQ 4.3.

Voice is delivered by BitsPath Voice, KaritKarma's separate pure-Rust carrier-grade PBX product: a complete SIP and media stack plus a SIGTRAN/SS7 suite for direct operator SMS interconnect. The platform-side Voice service models CallSession, CallFlow, and VoiceCampaign and routes through it.

The mailbox engine is Stalwart, embedded inside the BitsPath product boundary; the webmail is a custom Next.js client that ships schedule send, a vacation autoresponder, mail filters, report-phishing handling, and message snooze.

Authentication is exclusively Wenme OAuth 2.1 with mandatory PKCE, validated against the EdDSA + RS256 JWKS.

Authorization is exclusively Darwan: 159 seeded permission strings across 17 categories (63 of them pbx.*), enforced across the .NET controllers and the BitsPath Voice runtime alike.

Carrier and SMTP credentials are bring-your-own, held in a per-tenant vault with circuit-breaker failover between providers.

02 / Channel fabric

Every transport your business pays a different vendor for. Built into one product.

Channel adapters are first-class. The same Messaging service envelope fans out to Voice, SMS over Arena, SMPP, or SIGTRAN, Postal or generic SMTP, the Stalwart webmail, and Meta WhatsApp Cloud. Bring your own provider keys per tenant; delivery rides your own contracts.

Provider model
  • Per-tenant credential vault, never global.
  • Circuit-breaker failover: postal to smtp; arena to sigtran to smpp.
  • Delivery receipts converge on EventsGateway.
  • M01

    Voice, via BitsPath Voice

    Carrier-grade SIP and media in pure Rust, no FreeSWITCH, no Asterisk.

    Voice is delivered by BitsPath Voice, KaritKarma's separate pure-Rust PBX product: a complete SIP and media stack plus a SIGTRAN/SS7 suite. The platform-side Voice service models CallSession, CallFlow, and VoiceCampaign and routes calls through it, sharing the same Wenme JWT and Darwan pbx.* permissions.

    BYO SIP trunk or run on your own DID inventory.
    BitsPath Voice product
  • M02

    SMS over SMPP + SIGTRAN

    Direct operator interconnect, not just aggregator API resale.

    Five SS7 crates ship in-tree: bitspath-sctp (async transport), bitspath-m3ua (ASP state machine), bitspath-sccp (Global Title translation), bitspath-tcap (transaction manager), bitspath-map (sendRoutingInfoForSM, mt-ForwardSM, mo-ForwardSM). The bitspath-smsgw binary exposes a priority queue REST API.

    BYO Arena aggregator key, your own SMPP bind, or a SIGTRAN interconnect.
    Direct SIGTRAN/SS7 interconnect
  • M03

    Transactional and marketing email

    MJML drag-and-drop editor, Postal-relayed, full engagement telemetry.

    GrapeJS + grapesjs-mjml composes templates client-side, MJML renders server-side. Postal stays the outbound MTA so reputation and warmup survive. Delivery webhooks feed the unified contact timeline through EventsGateway.

    BYO Postal server or any SMTP relay of your own.
    Postal + generic SMTP adapters in code
  • M04

    Stalwart webmail, per-tenant business email

    Custom Next.js webmail over the Stalwart Rust mail server.

    Stalwart is the SMTP mail server inside the BitsPath product boundary (same repo, same release train), and the webmail is a custom Next.js client. The inbox ships schedule send, a vacation autoresponder, mail filters, report-phishing handling, and message snooze. Outbound mailbox traffic relays through Postal so reputation rides warmed IPs.

    Per-tenant domain MX -> mail.bitspath.com; bring your own relay for outbound.
    webmail.bitspath.com, Stalwart mail server
  • M05

    WhatsApp Cloud API

    Official Meta Cloud API, template management, session windows.

    Template review and storage, opt-in capture, 24-hour session-window tracking, media + interactive button support. The Conversations service surfaces inbound threads on the agent inbox with SignalR realtime push.

    BYO Meta Business account + WABA phone number.
    Meta Cloud API, WhatsApp Business Account
  • M06

    Push: FCM and APNs, NOW LIVE

    FCM HTTP v1 and APNs dispatch with per-tenant credentials and dead-token deactivation.

    The Push service is live and shipping. FCM HTTP v1 uses per-tenant Google service-account JWTs; APNs uses ES256 .p8 auth keys. Device tokens register into a per-tenant registry, and dead tokens deactivate automatically so delivery lists stay clean across both providers.

    BYO FCM project + APNs .p8 key, stored per tenant.
    FCM HTTP v1 + APNs, shipped

03 / Service map

Sixteen deployable services. One YARP gateway. One Wenme + Darwan trust path.

Each service owns its EF Core context and Postgres schema. MassTransit on RabbitMQ 4.3 handles async fan-out. The Voice runtime is the separate BitsPath Voice product, but speaks the same Wenme JWT (EdDSA + RS256) and the same 63 seeded pbx.* Darwan permissions as the .NET ContactCenter service.

Dispatch fabric + gateways
SVC.02

Messaging

:5002

The send fabric. Six provider adapters: Postal, generic SMTP, Arena, SMPP, SIGTRAN gateway, WhatsApp Cloud, behind a circuit-breaker resolver. MassTransit over RabbitMQ for async + retry.

Six provider adapters
PostalSMTPArenaSMPPSIGTRANWhatsApp Cloud
SVC.00

ApiGateway / YARP

:5000

YARP reverse proxy. /api/* fans out to every service. A CookieToBearer middleware converts the Wenme session cookie into an Authorization: Bearer header for downstream calls.

SVC.03

EventsGateway

:5003

Webhook ingest for delivery reports, billing events, and Darwan cache invalidation. Verifies HMAC signatures, idempotent by event id, drops noisy retries.

Engagement engines
SVC.04

CRM

:5004

Unified contact store. Custom fields, consent flags, segments, lists, import. Every channel event lands on the contact timeline. 6 crm.* permissions.

SVC.06

Campaigns

:5006

Multi-channel broadcast engine with background workers. A/B testing, send-time optimization, throttled delivery against per-provider rate caps.

SVC.07

Journeys

:5294

Visual @xyflow/react builder. Branching, delays, wait-for-event, channel switches. One orchestrator runs all six channels.

SVC.08

Conversations

:5292

Omnichannel agent inbox over SignalR. Threads merge inbound across Email, SMS, WhatsApp. No per-agent pricing model.

SVC.09

Analytics

:5204

Delivery, engagement, funnel reports. Recharts 3.7 in the portal, raw event API for downstream BI exports.

Voice plane . Rust + .NET

Voice (facade)

SVC.15 . :8080

Platform-side Voice service models CallSession, CallFlow, and VoiceCampaign, routing through the BitsPath Voice pure-Rust PBX. 63 seeded pbx.* Darwan permissions enforced on every authorized action.

ContactCenter

SVC.10 . :5210

Agent desktop on the Voice PBX. Queues, transfers, supervisor barge, whisper, listen. Reuses the same 63 seeded pbx.* permission strings Voice enforces.

Tenant + platform ops
SVC.01

Tenancy

Tenants, users, roles, onboarding. Syncs the Wenme JWT subject to the internal user row on first login. The seed account links by email, then pins on the Wenme sub on next sign-in.

:5001
SVC.05

Billing

Usage metering, credit packs, plan tiers. Per-tenant ledger with daily roll-ups.

:5005
SVC.11

KnowledgeBase

Self-service help center. Article CRUD, search, public surface. 4 knowledge.* permissions.

:5215
SVC.12

Community

Community forum module. Threads, replies, moderation. 4 community.* permissions.

:5220
SVC.13

Developer

Webhooks with delivery tracking, API keys, API logs, sandboxed extension engine.

:5225
SVC.14

Push

Live push dispatch over FCM HTTP v1 (per-tenant Google service-account JWT) and APNs (ES256 .p8 key), with a device-token registry and automatic dead-token deactivation.

FCM + APNs

04 / Webmail . Stalwart

Business email for tenants who don't want to be a Google customer.

The mailbox engine is Stalwart, a Rust SMTP mail server that lives inside the BitsPath product boundary, the way FreeRADIUS lives inside ISPChamp. The webmail is a custom Next.js client shipping schedule send, a vacation autoresponder, mail filters, report-phishing handling, and message snooze. Postal stays the outbound relay so a tenant's mailbox outbound never poisons the transactional API reputation envelope.

Surface map
  • bitspath.com . marketing + product site
  • app.bitspath.com . tenant portal + admin
  • webmail.bitspath.com . custom Next.js webmail (Next.js 16.2)
  • mail.bitspath.com . Stalwart SMTP mail server
  • BitsPath Voice . pure-Rust PBX (separate product)

Custom Next.js webmail

The webmail is a custom Next.js client, not a repackaged roundcube. Schedule send, a vacation autoresponder, mail filters, report-phishing handling, and message snooze ship on top of the Stalwart Rust mail server.

Wenme OAuth 2.1 sign-in

The webmail authenticates through Wenme OAuth 2.1, the same trust path as the rest of the platform. One identity, one session model across the portal, the inbox, and the admin console.

Stalwart mail server, in-product

Stalwart is the SMTP mail server inside the BitsPath product boundary: same repo, same release train. Outbound mailbox traffic relays through Postal so a tenant's mailbox reputation never poisons the transactional API envelope.

Per-tenant business email

Each tenant hosts business email on its own domain. Customer MX records point at mail.bitspath.com; one Stalwart instance and one webmail serve every tenant on the platform.

Webmail commit log . last session
270617c..59111a6
feat(webmail): /search route with Gmail-style operators (P1.1)
feat(webmail): bulk select + star/flag + mobile swipe gestures
feat(webmail): schedule send + 3s undo-send window
feat(webmail): report-phishing handling + message snooze
feat(webmail): Gmail-clean light theme as default + theme registry
feat(webmail): M365 app switcher + Wenme avatar dropdown
feat(webmail): Gmail-style settings deep-dive (general/account/identities)
fix(webmail): undo-send commits on unmount, not silently drops

05 / Voice + Push

Voice and Push, on one platform.

The platform-side Voice service models CallSession, CallFlow, and VoiceCampaign and routes through BitsPath Voice, KaritKarma's separate pure-Rust PBX product: a complete SIP and media stack plus a SIGTRAN/SS7 suite, with no FreeSWITCH and no Asterisk. Push is live: FCM HTTP v1 and APNs, per-tenant credentials, automatic dead-token deactivation.

See the BitsPath Voice product
63
pbx.* Darwan permissions
v17.0
WhatsApp Graph base
FCM + APNs
Push, NOW LIVE
6
Messaging adapters

Voice via BitsPath Voice

The platform-side Voice service models CallSession, CallFlow, and VoiceCampaign and routes through BitsPath Voice, the separate pure-Rust carrier-grade PBX. No FreeSWITCH, no Asterisk, no C dependencies in the call leg.

Push, NOW LIVE

FCM HTTP v1 with per-tenant Google service-account JWTs and APNs with ES256 .p8 auth keys. Device tokens register per tenant and dead tokens deactivate automatically. Dispatch is shipped, not queued for later.

SIGTRAN/SS7 SMS

Direct operator SMS interconnect, not just aggregator API resale, routed through the BitsPath Voice SIGTRAN stack. SMS rides Arena, a direct SMPP bind, or a SIGTRAN gateway from the same Messaging envelope.

63 pbx.* permissions, enforced

Voice and ContactCenter share the same Darwan pbx.* permission strings, 63 of the 159 seeded permissions on the platform. Every authorized voice action passes through the same audit chain as the rest of the product.

Full PBX + SIGTRAN detail

SIP and media internals, the SS7 stack, and the carrier-grade call engine live in the BitsPath Voice product. The BitsPath platform routes through it and shares its permission model.

BitsPath Voice

06 / How BitsPath compares

Twilio. SendGrid. Postmark. WhatsApp BSPs. Google Workspace. One platform replaces the whole spreadsheet.

Every row below is sourced from the BitsPath codebase at commit 270617c and from the live deployment at bitspath.com, webmail.bitspath.com, mail.bitspath.com, and voice.bitspath.com.

Scroll for full table

CapabilityBitsPathTwilioSendGridWorkspace
Voice PBX in the same productPure Rust PBX (BitsPath Voice)Yes (proprietary)
Direct SS7 / SMPP interconnectSIGTRAN via BitsPath Voice
Per-tenant business email + webmailStalwart-backed webmailHosted only
BYO provider credentials, per tenant
Omnichannel agent inbox, no per-agent feeFlex, per-agent
Single auth + RBAC (Wenme + Darwan)OAuth 2.1 + 159 permsVendor IAMVendor IAMGoogle IAM
BDT pricing, contracts under Bangladesh lawUS/EU regions
Self-host or sovereign deployDocker Compose appliance

07 / How to onboard a tenant

Four calls. First message under the same hour.

The onboarding flow is documented as a HowTo schema so AI engines and voice assistants can quote it verbatim. Every step maps to a real endpoint in the BitsPath gateway.

  1. 01

    Provision the tenant

    POST /api/tenancy/tenants with company metadata. Tenancy syncs a Wenme tenant, creates a Darwan tenant id, and seeds the default roles plus the 159 baseline permissions across 17 categories.

  2. 02

    Wire your sender identities

    Add Postal or SMTP credentials, an Arena aggregator key, an SMPP bind or SIGTRAN interconnect, and a Meta WhatsApp Business phone number. Per-tenant credential vault, never global. FCM and APNs push credentials are configured per tenant, and dispatch is live.

  3. 03

    Verify the mailbox domain (optional)

    If you want per-tenant business email, point MX records at mail.bitspath.com, add the DKIM and SPF rows BitsPath generates, and provision mailboxes from the portal. Stalwart picks them up live.

  4. 04

    Send the first message

    Trigger a single send via the API or compose a Journey in the visual builder. The Messaging service routes through the chosen provider, captures the delivery webhook on EventsGateway, and lands the event on the CRM contact timeline within seconds.

08 / Stack

What BitsPath is actually built on.

Platform runtime
.NET 10, ASP.NET Core, EF Core 10.0.9
Voice runtime
Rust PBX in the BitsPath Voice product (separate page)
Frontend
Next.js 16.2, React 19.2, Tailwind CSS 4, shadcn/ui
Realtime
SignalR (Conversations) + webmail (Next.js)
Message bus
MassTransit over RabbitMQ 4.3
Data
PostgreSQL 18.4, Redis 8.8, S3-compatible object storage
Mailbox engine
Stalwart (Rust): SMTP mail server + custom Next.js webmail
Telephony
SIP/RTP/SRTP/WebRTC + SIGTRAN/SS7 (BitsPath Voice product)

09 / Frequently asked

The questions enterprise buyers actually ask.

Every answer is mirrored into the FAQPage JSON-LD on this page, so AI answer engines can quote it as a single source of truth.

  • What is BitsPath?

    BitsPath is KaritKarma's multi-tenant unified communications platform. It is 20 .NET 10 projects in one src/ tree, plus a per-tenant business email stack (the Stalwart Rust mail server plus a custom Next.js webmail), plus Voice routed through the pure-Rust BitsPath Voice PBX, all wired into one product. The platform delivers Voice, SMS (Arena aggregator, direct SMPP, or SIGTRAN), Email (transactional and marketing via Postal or any SMTP relay), per-tenant business email, WhatsApp Business Cloud API, and Push (FCM HTTP v1 and APNs, live and shipping), with CRM, Campaigns, Journeys, Conversations inbox, Analytics, Contact Center, Knowledge Base, and Community sitting on top. Authentication is Wenme OAuth 2.1 with mandatory PKCE; authorization is 159 Darwan permissions across 17 categories.

  • How is BitsPath different from Twilio?

    BitsPath ships its own carrier-grade PBX written in pure Rust (no FreeSWITCH, no Asterisk) and its own SIGTRAN/SS7 stack so SMS can ride a direct operator interconnect, not just aggregator API resale. The application layer (CRM, Campaigns, Journeys, Conversations) is included, not per-agent priced. Customers bring their own provider credentials, so delivery rides their own carrier and relay contracts rather than a resold rate card. Pricing is in BDT with contracts under Bangladesh law, which Twilio does not offer.

  • Does BitsPath support WhatsApp Business Cloud API?

    Yes. BitsPath integrates the official Meta Cloud API for WhatsApp Business. Tenants connect their own Meta Business account and WABA phone number; BitsPath handles template review and storage, opt-in capture, 24-hour session-window tracking, media payloads, interactive buttons, and inbound message ingest. Inbound conversations land on the omnichannel agent inbox with SignalR realtime push.

  • How does the webmail authenticate, and whose mail server is it?

    The webmail is a custom Next.js client and it authenticates through Wenme OAuth 2.1, the same identity path as the tenant portal and admin console, so there is one session model across the product. The mail server is Stalwart, a Rust SMTP server that lives inside the BitsPath product boundary in the same repo and release train. Outbound mailbox traffic relays through Postal so a tenant's mailbox reputation never poisons the transactional API envelope.

  • Can BitsPath replace FreeSWITCH or Asterisk?

    The Voice capability in BitsPath is delivered by BitsPath Voice, KaritKarma's separate pure-Rust carrier-grade PBX product: a complete SIP and media stack with no FreeSWITCH, no Asterisk, and no C dependencies in the call leg. The platform-side Voice service models CallSession, CallFlow, and VoiceCampaign and routes through the BitsPath Voice PBX, with Darwan pbx.* permissions enforced on every endpoint. See the BitsPath Voice product page for the full PBX and SIGTRAN detail.

  • What happens to my existing carrier and SMTP relationships when I move to BitsPath?

    They survive. BitsPath's bring-your-own-provider model means existing SIP trunks, SMPP binds and SIGTRAN interconnects, SMTP credentials (Postal or any SMTP relay of your own), Arena aggregator keys, and your Meta WhatsApp Business account all keep working, stored in a per-tenant credential vault with circuit-breaker failover between providers. BitsPath becomes the orchestration, CRM, and inbox layer on top. IP reputation and warmup history stay with the underlying relay, and delivery rides your own provider contracts.

10 / Get started

Replace the spreadsheet.
Move your channels to one wire.

Wire your channels into one product. Bring your carrier, your SMTP, your WABA number. BitsPath becomes the CRM, the campaign engine, the journey builder, the agent inbox, the webmail, and the PBX. Your provider contracts stay yours.

A personalized walkthrough of BitsPath with one of our specialists. No commitment required.

Engineering contact