Skip to main content

Prerequisites

  • Python 3.10 or newer
  • PostgreSQL, either local or Docker Compose
  • LiveKit Cloud project
  • Vobiz SIP trunk credentials
  • Sarvam API key for agent.py, or OpenAI API key for agent_realtime.py
  • Talking Shops API credentials if CRM push is enabled

1. Create The Environment

2. Configure .env

Copy .env.example to .env and fill in the required values. Minimum local setup:
For Sarvam mode:

3. Initialize The Database

The schema is safe to initialize repeatedly.

4. Create LiveKit SIP Configuration

Copy the outbound trunk ID from the list output into:

5. Run The App Locally

Open separate terminals. OpenAI Realtime agent:
Scheduler:
Lead fetcher:
Dashboard:
Token server for browser testing:

6. Add A Test Lead

The scheduler normalizes Indian mobile numbers to E.164, so 98765XXXXX, 098765XXXXX, 9198765XXXXX, and +9198765XXXXX can all resolve to +9198765XXXXX if valid.

7. Make A Manual SIP Test Call

For a real lead room:
That joins room ignitech-lead-123 using participant identity sip-lead-123.