Skip to content

Releases: blackdwarftech/siphon

v0.1.3

11 Mar 19:09
b5a8095

Choose a tag to compare

Release Notes: Caller Memory

What's New

Caller Memory — SIPHON now remembers conversations across calls, enabling personalized voice AI interactions.

Features

  • Cross-session memory — Agent recognizes returning callers by name
  • Automatic summaries — LLM-generated summaries after each call
  • Multiple storage backends — PostgreSQL, MySQL, MongoDB, Redis, S3/MinIO, or local files
  • Production-ready — Async I/O, fault-tolerant, 2-second timeouts
  • Zero-downtime failover — Database failures don't drop active calls

Quick Start

from siphon import Agent

agent = Agent(
    agent_name="Agent-System",
    remember_call=True  # Enable memory
)

Set storage backend (.env file):

CALL_MEMORY_LOCATION=postgresql://user:pass@host:5432/dbname

Configuration

Parameter Default Description
remember_call False Enable caller memory
CALL_MEMORY_LOCATION local://memory Storage backend URL
TIMEZONE UTC Timestamp formatting

Storage Backends

Backend URL Format
PostgreSQL postgresql://user:pass@host:5432/dbname
MySQL mysql://user:pass@host:3306/dbname
MongoDB mongodb://user:pass@host:27017/dbname
Redis redis://host:6379/0
S3/MinIO s3 + AWS_S3_* env vars
Local files history

Breaking Changes

None. Memory is disabled by default (remember_call=False). Existing agents continue to work unchanged.

Documentation

See the Caller Memory docs for full details.

v0.1.2

31 Jan 17:22
e753ee3

Choose a tag to compare

🚀 Release v0.1.2 - The Integration Update

This release brings context to your voice agents with native integration framework support, starting with Google Calendar and Date/Time awareness.

✨ New Features

  • Native Google Calendar Integration: Agents can now check availability, book slots, and manage calendar events in real-time.
  • Date & Time Awareness: Built-in support for timezone-aware time checking, allowing agents to understand "now" and relative times like "next Tuesday".
  • Integration Framework: A new, extensible system for adding tools and external context to agents (siphon.integrations).

📚 Documentation & Examples

  • New Example: Dental Clinic Receptionist - A full production-ready reference implementation of a scheduling agent.
  • New Docs: dedicated Integrations section covering Google Calendar setup and usage.

🛠 Improvements

  • Updated voice_agent.py and runner.py to better handle tool execution and context injection.
  • Added dependency support for google-api-python-client.
  • Enhanced hangup_call.py configuration.

📦 Dependency Updates

  • Added google-auth-oauthlib, google-auth-httplib2, and google-api-python-client to core dependencies.

v0.1.1

21 Jan 19:48
d3c61b8

Choose a tag to compare

🚀 Release Notes - Siphon v0.1.1

Siphon v0.1.1 introduces new capabilities for managing telephony infrastructure and adds support for cutting-edge Realtime AI models from Google and OpenAI.


✨ Highlights

📞 Telephony Deletion Operations

Programmatically clean up your SIP infrastructure directly from Siphon.

  • Delete Inbound Trunks: Remove inbound trunks by ID or phone number.
  • Delete Outbound Trunks: Remove outbound trunks by ID or phone number.
  • Manage Dispatch Rules:
    • Find all dispatch rules associated with a phone number.
    • Delete dispatch rules by ID.
    • Batch Delete: Remove all dispatch rules for a specific phone number in one go.

⚡ Native Realtime Model Support

Added first-class support for ultra-low latency, audio-to-audio models.

  • Gemini Realtime: Support for Google's native audio preview models (e.g., gemini-2.5-flash-native-audio-preview).
  • OpenAI Realtime: Support for OpenAI's Realtime API (e.g., gpt-realtime).
  • Both integrations support full configuration serialization (to_config/from_config) for seamless worker deployment.

📦 New Features

Telephony API

  • Trunk.delete_trunk(trunk_id=..., sip_number=...) (Inbound & Outbound)
  • Dispatch.delete_dispatch_rule(dispatch_id=..., sip_number=...)
  • Dispatch.get_dispatch_rule(sip_number=...)

Plugins

  • Added siphon.plugins.gemini.Realtime
  • Added siphon.plugins.openai.Realtime

🛠️ Usage Examples

Clean up telephony resources

from siphon.telephony.inbound import Trunk, Dispatch

# Delete all dispatch rules for a number
await Dispatch().delete_dispatch_rule(sip_number="+15551234567")

# Delete the trunk itself
await Trunk().delete_trunk(sip_number="+15551234567")

#  Use a Realtime model

from siphon.agent import Agent
from siphon.plugins import gemini

agent = Agent(
    agent_name="FastBot",
    llm=gemini.Realtime(voice="Puck")
)

v0.1.0

16 Jan 19:31
5d3be46

Choose a tag to compare

v0.1.0 — Initial Release

Summary

This is the first public release of Siphon. v0.1.0 establishes the foundation of the framework, including the core package, baseline flow structure, and initial project documentation.

What's Included

  • Core package
    • The initial siphon/ Python package layout and core framework foundation.
  • Documentation
    • README.md with project overview and getting-started guidance.
  • Community & Governance
    • CONTRIBUTING.md contribution guidelines.
    • CODE_OF_CONDUCT.md community standards.
    • SECURITY.md vulnerability reporting policy.
  • Licensing
    • Project released under the terms in LICENSE.
  • Packaging
    • pyproject.toml for build and distribution configuration.

Installation

pip install siphon-ai