Skip to main content
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.

Metadata

Release files for siphon-ai 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for siphon-ai 0.1.4
File Size Uploaded Provenance Actions
siphon_ai-0.1.4.tar.gz 1.2 MB Without provenance Details for siphon_ai-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for siphon-ai 0.1.4
File Interpreter ABI Platform Actions
siphon_ai-0.1.4-py3-none-any.whl Python 3 none any Details for siphon_ai-0.1.4-py3-none-any.whl

Total release size: 1.3 MB

Release files / siphon_ai-0.1.4.tar.gz

Download URL siphon_ai-0.1.4.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
5ec4cce17c347d9bdb4ebd597009d4db6b3a79abd792abd779ca9a04d2c174b6
BLAKE2b-256 checksum
How to use checksums
1c5936d7651deee0f6c87855dd5eb52523c704d41d5da0eb002928f9a4710914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / siphon_ai-0.1.4-py3-none-any.whl

Download URL siphon_ai-0.1.4-py3-none-any.whl
Size 108.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0997732025ce7888206419c730a414a8f16788ab6e03f1d345bbbff1fab2345f
BLAKE2b-256 checksum
How to use checksums
b3454be8d41d2fb71dee6262e51ccfc336cb081fc8f1428545fa03ce56214ad8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Security for siphon-ai 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page