Voice Stack

Telephony, SIP & CPaaS

Bring-your-own carrier SIP trunks plus CPaaS adapters. Secrets stay in tenant env — never in the client.

Ingress

Inbound DIDs and outbound campaigns enter through a multi-carrier SIP grid (Airtel, Tata, Jio, Twilio, Plivo, Vonage). Failover between interconnects is targeted under 40ms. Media uses SRTP; signalling TLS 1.3.

Adapter contract

The Shris-ai-app telephony module exposes a provider-agnostic CallControl interface. Configure SHRIS_SIP_TRUNK_URI and CPAAS_* variables on the server. Local and CI environments run a simulator that never places a live PSTN call. A docker compose --profile sip Asterisk lab is optional (see /docs/sip-lab) and is not a TRAI-registered CPaaS interconnect.

Dispatch example

POST /v1/calls/dispatch is gated by TRAI calling hours, DND, DLT template registration, and AI disclosure flags before a trunk is seized.

POST /v1/calls/dispatch
Authorization: Bearer shris_live_...
{
  "to": "+9198XXXXXXXX",
  "agent_id": "agent_re_falcon_city",
  "language": "en-IN",
  "tools": ["calendar_booking", "crm_sync", "whatsapp"]
}
Need a live architecture session?

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

Open Console