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"]
} Book a demo or open the operations console to inspect campaigns, TRAI gates, and CRM actions.