Skip to content
Voice: a softswitch, not a reseller panel

Your calls, on an engine we wrote, in a jurisdiction no foreign order reaches.

A Rust softswitch carrying production traffic: SIP over UDP, TCP, TLS and WebSocket, queues, IVR, voicemail, conferencing, and both call legs recorded and encrypted at rest. It runs inside your own tenant, in Bangladesh.

  • Every capability marked Live or Planned
  • Multi-tenant from the first migration
  • One identity across every module
console.bitspath.com/voice
ext 204trunk: support line04:12Talking
ext 118conference: standup12:47Mixing
trunk-02IVR: main menu00:19DTMF
Queue: support2 agents ready
12
Active calls
Enforced
Recording
Dhaka
Tenant
Rust
Memory-safe packet path
AES-256-GCM
Recordings at rest
Bangladesh
Tenant and jurisdiction
OAuth 2.1
Wenme single sign-on
The engine

What carries traffic today, and what does not

Voice vendors describe a roadmap and let you assume it shipped. Every line below says which it is, and we would rather lose a deal than get that wrong in a bank.

Live
Running in production today. You can buy it now.
Planned
Programme work with no availability date. We will not sell it as shipped.

Rust softswitch

Live

A back-to-back user agent we wrote ourselves, carrying real traffic today. Both legs of every call terminate on the engine, so the platform controls the media rather than watching it pass.

SIP over UDP, TCP and TLS

Live

The production switch serves SIP on UDP and TCP port 5060 and on TLS port 5061, so a desk phone, a carrier and an encrypted client each have a way in.

WebSocket signalling

Live

SIP over WebSocket on the switch, published as WSS, which is the transport a browser or a mobile client connects on without a VPN.

Carrier trunking that stays up

Live

Persistent TCP trunks with keepalive, dead-peer detection, exponential-backoff reconnect and in-place re-authentication on the same socket.

Carrier interop hardening

Live

PRACK and 100rel, UPDATE and OPTIONS keepalive, FQDN trunk resolution per RFC 3263, and 423 Min-Expires handling, because real carriers are not textbooks.

Duplicate absorption

Live

The server transaction layer absorbs duplicate requests and retransmits final responses, so a carrier retransmit storm never becomes a second call.

Closed call records

Live

Every call closes with its duration, its billable seconds and its clearing cause, and writes a cost row against the rates you configured.

Tenancy in the database

Live

Multi-tenant from the first migration. Every table is keyed by tenant and every API call is checked against the caller's tenant scope, rather than tenancy being bolted on later as a domain prefix.

Row level security

Planned

Pushing the tenant check down into PostgreSQL itself, so the database refuses a cross-tenant read even if application code asks for one. The migrations are written and adoption has not started.

Admission control

Live

Per-tenant and global concurrency ceilings. A tenant at its ceiling gets a polite busy instead of everyone's audio getting worse.

Database-driven dialplan

Live

Routing rules, carrier selection and least cost routing are configuration you change from the control plane. There are no rates and no routes compiled into the build.

Inbound number routing

Live

Direct DID lookup first, then pattern-matched inbound routes, then extension fan-out, so a number lands where you said it should.

Configuration hot reload

Live

Trunk and routing configuration rebuilds from the database without restarting the switch.

REST control plane

Live

Provisioning, call records, billing data and event fan-out over REST, with webhook delivery that verifies its signature and never treats an empty secret as valid.

Browser and mobile softphone

Planned

A WebRTC leg with server-side ICE, relay gathering and ICE restart, and Opus transcoded to whatever the SIP side speaks. The transports it rides are live; the shipped client is programme.

Push wake-up

Planned

RFC 8599 push so a closed or backgrounded app still rings, and every device on one account rings together.

Declarative dialplan and plugins

Planned

A scriptable dialplan with variable substitution and a dynamic module system, so an integrator can extend the switch without touching our code.

Carrier tier for IPTSP operators

Planned

A SIGTRAN and SS7 stack (SCTP, M3UA, SCCP, TCAP and MAP) is written and tested against mocks. It has no caller in the platform yet, so the whole carrier tier is programme.

Security and recording

Recording is the engine's job, and the file is encrypted before it lands

Both legs are captured by the switch itself rather than by a box beside it, and the recording is encrypted at rest under a per-tenant policy with a retention sweep. The admission rule that refuses an unrecordable call is on the ordinary answer path and is still being closed on the rest, so it is marked Planned here rather than promised.

Codecs and transcoding

Live

PCMU, PCMA and G.722, with full transcoding between all three, so a G.722 desk phone and a PCMU carrier meet in the middle.

SRTP as a policy

Live

SRTP with SDES key exchange (AES-CM-128 with HMAC-SHA1-80), set per deployment to required, preferred or disabled. Endpoints that cannot do SRTP are a deployment decision, not a surprise.

Out-of-band DTMF

Live

RFC 2833 digits, so IVR menus and feature codes survive transcoding and carrier hops.

Registrar security

Live

Digest authentication with a single-use 60 second nonce, replay protection and constant-time comparison on every registration.

Credentials encrypted at rest

Live

Extension SIP credentials are stored under AES-256-GCM, so a database copy is not a phone-line giveaway.

Perimeter hardening

Live

Rate-limited public endpoints, a database-backed ban list, and authentication-failure logging shaped for fail2ban.

No unsafe code on the packet path

Live

The SIP parser, the B2BUA, SDP handling and the RTP, RTCP and SRTP paths carry no unsafe Rust. That is precisely the surface that parses untrusted traffic off the internet.

Recording on both legs

Live

Caller and callee are each captured to WAV by the switch itself, with pause and resume driven from the control plane and the paused interval written as silence so the timeline stays honest.

Recording that fails closed

Planned

Refusing to connect a call the recorder cannot capture. The admission check runs on the ordinary answer path today, but calls that take early media, or whose media bridge fails, still connect, and the policy is off by default. We will not sell the guarantee until every branch is closed.

Recording encryption and retention

Live

Recordings are encrypted at rest with AES-256-GCM under a per-tenant recording policy, a retention sweep expires them on schedule, and playback decrypts through the API rather than handing out a file.

One recording per call

Planned

A single continuous file across hold and transfer. Today each media bridge writes its own file, so a transfer finalises one recording and starts another, and audio while a call is on hold is not written.

Legal hold, seal and export

Planned

Legal hold that overrides deletion, a SHA-256 seal computed at call end, signed-manifest export, and an audit trail of every playback, note, hold and export with a mandatory reason.

Per-tenant SRTP policy

Planned

SRTP is live as a per-deployment policy. Choosing it per tenant, rather than once for the whole deployment, is programme.

Toll fraud and abuse controls

Live

Per-tenant abuse configuration with automatic banning: a source making excessive authentication failures is banned for a set window, and you tune the thresholds from the control plane.

Call quality measurement

Live

RTCP runs on every leg of a bridged call, so jitter, loss and round-trip are measured on the media the switch is actually carrying, not inferred from the signalling.

Call handling

The features a business phone system is judged on

Managed from the control plane and the REST API. No config files to hand-edit, and no dialplan scripting language to learn.

Blind transfer

Live

A REFER from the handset or from the control plane moves the call, and the switch re-targets the leg itself rather than leaving the phones to argue about it.

Attended transfer

Planned

Consulting the colleague first, then joining the two parties. Today the Replaces dialog on an incoming REFER is parsed but not used to bridge the consultation call, so it behaves as a blind transfer with an extra hold step.

Call park

Planned

Parking a call on an orbit and picking it back up from another phone. Park and retrieve work over the feature code, but a forgotten call is torn down at expiry instead of ringing back, so we are not selling it yet.

Directed call pickup

Live

Dialling a colleague's ringing extension answers their call at your own phone.

Group call pickup

Planned

Answering anyone who is ringing in your pickup group. The routing is there and nothing can populate a group yet, so it never matches.

Hold and resume

Live

The media bridge pauses instead of tearing down, so resuming a held call does not drop or re-negotiate audio.

Call queues

Live

Queues with 4 distribution strategies, so a support line and a dealing desk can be routed on different rules.

IVR menus

Live

Menu routing on DTMF with database-driven destinations. Prompts are recorded audio; there is no text to speech.

Voicemail

Live

Deposit and dial-in retrieval on a feature code.

Forward all

Live

Unconditional forwarding, and do not disturb, set from the portal rather than a handset menu, with a hop limit so a forwarding loop is refused instead of ringing forever.

Busy and no-answer forwarding

Planned

Forwarding only when the extension is busy or nobody picks up. The check runs on every extension call, and nothing can fill the rule table yet, so it never fires.

Music on hold

Live

Held callers hear your audio, not silence they mistake for a dropped call.

Busy lamp field

Live

Desk phones subscribe to dialog-info and are notified on every ringing, answered, held and idle change, so nobody transfers a caller into a busy line.

5 devices per account

Live

Up to 5 simultaneous registrations on one account, so a desk phone and a softphone share the same extension.

Conference mixer

Live

A mixer inside the engine, which is the base the meeting and webinar programme stands on.

Ring groups

Live

Ringing a whole team on a strategy, loaded from the database so a group changes without touching the switch.

Queue agent pause

Live

An agent marks themselves on a break and the distributor stops offering them queued calls. The switch refreshes agent status on a short cycle, so a pause takes effect within seconds rather than on the instant.

Conference echo cancellation

Live

The mixer cancels echo on every conference leg, feeding each participant's own outbound mix back as the reference, and it is on by default rather than a switch somebody has to find.

Dominant speaker detection

Planned

Knowing who is talking and showing it. The detector now publishes a conference event, but the only thing listening discards it, so there is still nothing on screen and nothing changes in the mix.

Conference controls

Planned

PIN entry, moderator controls, lock and video.

Supervisor floor view

Planned

A live view of every call with listen, whisper and barge, plus fleet health for devices, trunk channels and recording storage.

Identity and provisioning

Nobody keeps a separate PBX password

Voice sits behind the same sign-on and the same authorization service as the rest of the estate, so a leaver loses their line the moment they lose their account.

Wenme single sign-on

Live

OAuth 2.1 with PKCE, validating token audience, issuer and algorithm. Nobody keeps a separate PBX password.

Darwan authorization

Live

Roles checked per action against the estate authorization service, so one identity carries the right permissions across every module.

Token-gated provisioning

Live

A device configures itself only with a per-device token, and is refused without one. A new user is provisioned in about a minute with nothing typed twice.

Where your calls live

The point is jurisdiction, not location

A global cloud can put a data centre in your country. It cannot move itself out of its own government's reach. That difference is the whole argument, and it is the reason a regulated buyer ends up here.

Inside your tenant, in Bangladesh

Live

The deployment sits in your own tenant on infrastructure in Bangladesh, operated by a Bangladeshi company. Nothing leaves the tenant.

No cross-border approval case

Live

Bangladesh Bank's Cloud Computing Guidelines (BRPD Circular 05 of 16 March 2023, clauses 2.3.1.2 and 2.3.4.5, read with the ICT Security Guideline v4.0 clause 12.5.5) restrict customer financial and sensitive data from a cross-border public or hybrid cloud without prior approval, and cross-border SLAs need prior approval too. Because the tenant is in Bangladesh, there is no approval case to open.

Jurisdiction, not location

Live

The US CLOUD Act (enacted 23 March 2018, codified at 18 U.S.C. section 2713) obliges a US provider to hand over data in its possession, custody or control wherever it is stored, including a regional data centre abroad. It is not new and it does not target Bangladesh; it applies to every US provider everywhere. An in-country data centre run by a US company is still under US law. A service run by a Bangladeshi company is not.

Clean licence posture

Live

Internal extension-to-extension calling needs no BTRC licence. Calls to the public network ride a licensed IPTSP's trunks, where lawful interception and six-month CDR retention are the licensee's duties.

Rehearsed rollback

Live

Containerised deployment with a tagged rollback image and a rollback script we have actually run, so a bad deploy is reversed rather than debugged live.

Standby node

Planned

A second node carrying the same stack on PostgreSQL streaming replication, promoted to serve new calls within minutes. Production runs on one node today, so this is a deployment pattern we have designed and not yet deployed.

Live-call failover

Planned

Calls already in progress surviving a node failure. Call state lives in process memory, so even once a standby is deployed it would take new calls while the ones in flight end. We will not sell what is not built.

This is a factual reading of published law and guidance, not legal advice, and your compliance team should read the circulars themselves. We are happy to sit in that meeting.

BitsPath Live: the enterprise offer

One app for the working day, built with the first bank

Mail, calendar, tasks, calls, chat and meetings under one identity and one compliance layer, recorded where regulation requires and private where it does not. The unified portal is a programme with no availability date. The markers below say which engines behind it are already in production.

Live
Running in production today. You can buy it now.
Planned
Programme work with no availability date. We will not sell it as shipped.

Calls and PBX

Live

The softswitch on this page, under the same identity as everything else.

Mail, calendar and contacts

Live

Hosted business email and webmail on your own domain, with calendar and contacts beside it.

CRM

Live

Contacts, consent and history shared by every channel in the platform.

Home hub

Planned

One landing surface carrying the agenda, inbox highlights, tasks, calls, chat and compliance state for the working day.

Team chat and presence

Planned

In-house messaging with retention and deal-reference tagging, and presence that follows the call state.

Tasks and announcements

Planned

Work assigned and announced inside the same portal, with completion rolled up.

Meetings and video

Planned

Recorded meetings on a media server inside your tenant, with PSTN dial-in bridged by the voice engine.

Regulatory circulars

Planned

Circular distribution with per-employee task fan-out, completion roll-up and evidence export.

Webinar

Planned

Registration, one-to-many audio and video, moderated question and answer, polls and an attendance report.

Learning

Planned

Course catalogue, quizzes with a pass mark, and certificates carrying expiry and recertification.

Compliance layer

Planned

One recording, retention, legal hold and audit surface spanning every channel rather than one per product.

Mobile and desktop softphone

Planned

The corporate line on the phone, so the work number rings without the personal SIM ever entering the call path.

Sold room by room

Treasury and dealing rooms first, where recording is compulsory and the mobile is restricted. Then relationship managers, which is a policy choice rather than a mandate. Then contact centres, where per-seat scale pays.

Nothing to import

No handsets to buy and no hardware to clear through customs. Provisioning takes about a minute from the identity you already have, and a device without its token is refused.

Talk to us about the programme

Voice is usage-based and quoted against your volume and routes. The BitsPath Live programme is scoped with you, and we will tell you plainly which parts are engine and which are build.

sales@bitspath.com
Mailboxes from ৳380/mo

Put your business on its own domain today

Set up hosted email in minutes, then add SMS, WhatsApp, Push and Voice from the same control plane when you are ready.