Skip to main content

Build calling agents in minutes, not months. The missing infrastructure layer for AI calling. Siphon handles state, interruptions, and scaling so you can ship reliable agents in minutes, not months.

Project description

SIPHON Logo

SIPHON

The Open-Source Foundation for Production Voice AI.

PyPI version License PyPI Downloads Documentation

Zero platform fees. BYOK. Your VPC. Your data. Your rules. Siphon is the open-source infrastructure designed to help you build and scale your own AI calling system.

Stop renting your core telephony stack from managed platforms (Eg: Vapi, Retell...etc). Bridge legacy SIP to modern LLMs over ultra-low latency WebRTC pipelines, and keep 100% of your margins.

SIPHON Architecture Diagram

⚡ Why Siphon?

Building real-time voice agents usually requires stringing together fragile WebSockets, managing complex SIP trunks, and handling unpredictable network jitter. Siphon abstracts the infrastructure nightmare so you can focus on agent logic.

  • The Open-Source Alternative: Siphon provides the exact same sophisticated orchestration as expensive CPaaS wrappers, but you host it on your own servers.
  • Sub-500ms Latency: Powered natively by WebRTC and the LiveKit engine. No awkward pauses, no walkie-talkie effect.
  • Zero-Config Horizontal Scaling: Run 1 worker or 1,000. It autonomously load-balances active voice sessions without complex Kubernetes HPA rules.
  • Enterprise Data Sovereignty: Run it in your own VPC. Unredacted customer audio, transcripts, and metadata never leave your infrastructure.
  • Provider Agnostic (No Lock-in): Swap between OpenAI, Anthropic, Deepgram, Cartesia, and local open-source models with a single line of configuration.

🚀 Quickstart: Your First AI Calling Agent

Get a fully functional inbound/outbound AI receptionist running locally in less than 10 minutes.

1. Install Siphon

pip install siphon-ai

2. Configure Your Environment (.env)

Siphon requires LiveKit for the real-time media bridge and API keys for your chosen AI models.

# LiveKit can be Cloud-hosted (LiveKit Cloud) or Self-Hosted on your own infrastructure
LIVEKIT_URL=wss://your-project.livekit.cloud 
LIVEKIT_API_KEY=your_api_key
LIVEKIT_API_SECRET=your_api_secret

OPENAI_API_KEY=sk-proj-...
DEEPGRAM_API_KEY=your_deepgram_key
CARTESIA_API_KEY=your_cartesia_key

3. Write Your Agent (agent.py)

Because Siphon abstracts the complex WebRTC media pipelines and VAD (Voice Activity Detection) natively, your code remains clean and declarative.

import os
from dotenv import load_dotenv
from siphon import Agent
from siphon.plugins import openai, deepgram, cartesia

load_dotenv()

# Instantiate your models
llm_model = openai.LLM(model="gpt-4o")
stt_model = deepgram.STT()
tts_model = cartesia.TTS(voice_id="your-voice-id")

# Create the Agent
agent = Agent(
    agent_name="Receptionist",
    llm=llm_model,
    stt=stt_model,
    tts=tts_model,
    system_prompt="You are a helpful and professional enterprise AI receptionist. Keep your answers brief and conversational."
)

if __name__ == "__main__":
    # Download required models/dependencies (Uncomment and run this ONLY for the first-time setup)
    # agent.download()

    # Start the worker node (auto-connects to the Siphon dispatcher)
    agent.start()

4. Run & Talk!

python agent.py

Your agent worker is now live! 📞 Connect Your Telephony (Inbound & Outbound) Once your worker is running, you can natively bind your Twilio or Telnyx or Any SIP credentials to accept live calls or trigger programmatic outbound fleets. Check out our official documentation for the exact routing scripts:


🧠 Production Capabilities

Siphon is built for actual enterprise workflows, not just weekend prototypes:

  • Native Inbound Routing (Dispatch): Dynamically route incoming calls to different specialized AI personas (e.g., Sales vs. Support) based on SIP headers and dialed numbers—no webhooks required.
  • Programmatic Outbound Fleets: Trigger hundreds of context-aware outbound calls for appointment reminders and lead qualification via a simple Python API.
  • Asynchronous Tool Calling: Connect your agent to Google Calendar, Postgres, or internal CRM APIs. Siphon executes actions mid-conversation without dropping the audio stream.
  • Stateful Memory: Persist call metadata and transcripts natively to PostgreSQL or S3, giving your agents perfect cross-session recall when a customer calls back.
  • Advanced Interruption Handling: Local VAD execution halts TTS audio instantly when a human speaks, recalculating context seamlessly.

📖 Documentation & Architecture

For deep dives into our SIP-to-WebRTC bridging, advanced VAD interruption handling, and deployment guides, visit our official documentation:

👉 Read the Full Siphon Docs

🤝 Contributing

We are building the open future of telephony. We welcome contributions for new AI provider plugins, latency optimizations, and documentation improvements.

Please see our CONTRIBUTING.md for guidelines.

⚖️ License

Siphon is released under the Apache 2.0 License. Built with 💜 by BLACKDWARF.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

siphon_ai-0.1.4.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

siphon_ai-0.1.4-py3-none-any.whl (108.4 kB view details)

Uploaded Python 3

File details

Details for the file siphon_ai-0.1.4.tar.gz.

File metadata

  • Download URL: siphon_ai-0.1.4.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for siphon_ai-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5ec4cce17c347d9bdb4ebd597009d4db6b3a79abd792abd779ca9a04d2c174b6
MD5 6430f9e2203c514d4a3ed57234077b52
BLAKE2b-256 1c5936d7651deee0f6c87855dd5eb52523c704d41d5da0eb002928f9a4710914

See more details on using hashes here.

File details

Details for the file siphon_ai-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: siphon_ai-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 108.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for siphon_ai-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0997732025ce7888206419c730a414a8f16788ab6e03f1d345bbbff1fab2345f
MD5 1485d03360e6ef1fd9f03e5e3d800abb
BLAKE2b-256 b3454be8d41d2fb71dee6262e51ccfc336cb081fc8f1428545fa03ce56214ad8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page