Voice Stack

Local SIP lab vs live TRAI CPaaS

Docker Asterisk + ARI for originate/hangup on a laptop. Not a TRAI-registered CPaaS, not an SLA.

Start the lab

From the workspace root (not inside Shris-ai-app): docker compose --profile sip up --build. Asterisk publishes SIP 5060/udp+tcp and ARI HTTP 8088. Lab-only credentials (documented in lab/asterisk/README.md): ARI user shris / password shris_lab_only; SIP extension 1001 / lab-sip-1001. These are not Twilio or Exotel production secrets. Default compose without the sip profile does not start Asterisk and leaves ASTERISK_ARI_URL empty so the API stays on the simulator.

Point the runtime at ARI

On the host: ASTERISK_ARI_URL=http://127.0.0.1:8088 ASTERISK_ARI_USER=shris ASTERISK_ARI_PASSWORD=shris_lab_only. On the compose network: ASTERISK_ARI_URL=http://asterisk:8088 with the same lab user/pass. When those three env vars are set, CallControl uses adapter asterisk-ari. POST /v1/calls/dispatch with simulate:false originates via ARI; the default simulate:true path remains the in-process simulator. POST /v1/webhooks/ari maps StasisStart / ChannelDestroyed into the existing call record trunk fields. POST /v1/calls/:id/hangup issues ARI DELETE /channels/{id}. Unit tests mock ARI HTTP and do not require Docker.

How this differs from live TRAI CPaaS

The lab is a local PJSIP extension and ARI app. It has no Indian DID, no TRAI DND registry, no DLT template peering, no carrier interconnect, and no availability target. TRAI calling hours, DND, DLT, and AI disclosure still run inside Shris before originate. Live CPaaS still needs human-held Twilio or Exotel keys plus SHRIS_MODE=live. Do not treat docker compose --profile sip as production PSTN.

Audio turns (no SIP required)

POST /v1/conversations/:id/audio accepts multipart audio/file/wav or JSON { wavBase64 }. If WHISPER_URL or WHISPER_CMD is set, that path transcribes; otherwise a deterministic Hinglish fixture drives the same NLU/dialog as text turns. A tiny WAV lives at Shris-ai-app/fixtures/tiny.wav.

Need a live architecture session?

Book a demo or open the operations console to inspect campaigns, TRAI gates, and CRM actions.

Open Console