Skip to content

v0.1.0 - Its Alive!

Choose a tag to compare

@MaxwellDPS MaxwellDPS released this 30 Nov 08:57
· 48 commits to main since this release

๐ŸŽ‰ v0.1.0

๐Ÿ“žโšก General Dissarray

๐Ÿค– SIP Enabled AI Agent

๐Ÿค– ROBO CODED โ€” This release was made with AI and may not be 100% sane. But the code does work! ๐ŸŽ‰

Release Date: November 30, 2025
License: AGPL-3.0
Platform: NVIDIA DGX Spark (Grace Blackwell GB10)


๐Ÿš€ Overview

The first public release of SIP AI Assistant โ€” a voice-powered AI assistant that answers phone calls, understands natural language, and performs actions through an extensible plugin system.

Built for the NVIDIA DGX Spark with 128GB unified memory, this system runs entirely on local infrastructure with no cloud dependencies for voice processing or LLM inference.


โœจ Highlights

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐Ÿ“ž SIP AI Assistant v0.1.0                                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โœ… Full SIP/RTP voice call handling                        โ”‚
โ”‚ โœ… Real-time STT via Whisper (Speaches)                    โ”‚
โ”‚ โœ… Natural TTS via Kokoro (Speaches)                       โ”‚
โ”‚ โœ… LLM integration (vLLM, OpenAI, Ollama)                  โ”‚
โ”‚ โœ… 10 built-in tools                                        โ”‚
โ”‚ โœ… Plugin system for custom tools                          โ”‚
โ”‚ โœ… REST API for outbound calls                             โ”‚
โ”‚ โœ… Scheduled & recurring calls                             โ”‚
โ”‚ โœ… Customizable phrases                                     โ”‚
โ”‚ โœ… Full observability stack                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ”ง Built-in Tools

Tool Description
๐ŸŒค๏ธ WEATHER Current weather from Tempest station
โฒ๏ธ SET_TIMER Countdown timers with voice alerts
๐Ÿ“ž CALLBACK Schedule callbacks to any number
๐Ÿ“ด HANGUP End calls gracefully
๐Ÿ“‹ STATUS Check pending timers/callbacks
โŒ CANCEL Cancel scheduled tasks
๐Ÿ• DATETIME Current date and time
๐Ÿงฎ CALC Math calculations
๐Ÿ˜„ JOKE Random jokes (general, tech, dad)
๐Ÿฆœ SIMON_SAYS Echo back verbatim

๐ŸŒ REST API

Endpoint Method Description
/health GET Health check
/call POST Initiate outbound call
/call/{id} GET Get call status
/call/{id} DELETE Hang up call
/tools GET List available tools
/tools/{name}/call POST Execute tool via call
/schedule POST Schedule a call
/schedule GET List scheduled calls
/schedule/{id} DELETE Cancel scheduled call

Scheduled Calls

# One-time call
curl -X POST http://localhost:8080/schedule \
  -d '{"extension": "1001", "tool": "WEATHER", "at_time": "07:00"}'

# Recurring daily
curl -X POST http://localhost:8080/schedule \
  -d '{"extension": "1001", "tool": "WEATHER", "at_time": "07:00", "recurring": "daily"}'

# Weekdays only
curl -X POST http://localhost:8080/schedule \
  -d '{"extension": "1001", "message": "Stand up time!", "at_time": "09:00", "recurring": "weekdays"}'

๐Ÿ—ฃ๏ธ Customizable Phrases

Configure the assistant's personality via environment variables or JSON:

Environment Variables:

PHRASES_GREETINGS=["Hello!","Hi there!","Hey!"]
PHRASES_GOODBYES=["Goodbye!","Take care!"]
PHRASES_ACKNOWLEDGMENTS=["Okay.","Got it.","Sure."]
PHRASES_THINKING=["One moment.","Let me check."]
PHRASES_ERRORS=["Sorry, I didn't catch that."]
PHRASES_FOLLOWUPS=["Anything else?"]

JSON File (data/phrases.json):

{
  "greetings": ["Beep boop! What do you want, human?"],
  "goodbyes": ["Bye, meatbag!"],
  "errors": ["My audio sensors must be malfunctioning."]
}

๐Ÿ”Œ Plugin System

Create custom tools with Python:

from tool_plugins import BaseTool, ToolResult, ToolStatus

class MyTool(BaseTool):
    name = "MY_TOOL"
    description = "Does something cool"
    
    parameters = {
        "input": {"type": "string", "required": True}
    }
    
    async def execute(self, params):
        return ToolResult(
            status=ToolStatus.SUCCESS,
            message=f"You said: {params['input']}"
        )

๐Ÿ“Š Observability

Feature Technology
๐Ÿ“ˆ Metrics Prometheus
๐Ÿ” Tracing OpenTelemetry / Tempo
๐Ÿ“ Logging Structured JSON
๐Ÿ“Š Dashboards Grafana

Key Metrics:

  • sip_agent_calls_total โ€” Total calls handled
  • sip_agent_call_duration_seconds โ€” Call duration histogram
  • sip_agent_tool_calls_total โ€” Tool invocations by name
  • sip_agent_stt_latency_seconds โ€” Speech-to-text latency
  • sip_agent_tts_latency_seconds โ€” Text-to-speech latency
  • sip_agent_llm_latency_seconds โ€” LLM response latency

๐Ÿ—๏ธ Architecture

flowchart LR
    subgraph Caller
        Phone[๐Ÿ“ฑ SIP Phone]
    end
    
    subgraph Agent["๐Ÿค– SIP AI Agent"]
        SIP[SIP Client]
        Audio[Audio Pipeline]
        Tools[Tool Manager]
        API[REST API]
    end
    
    subgraph Services
        LLM[๐Ÿง  LLM Server]
        Speaches[๐ŸŽค Speaches]
    end
    
    Phone <-->|SIP/RTP| SIP
    SIP <--> Audio
    Audio <--> Speaches
    Audio <--> Tools
    Tools <--> LLM
    API <--> Tools

๐Ÿ–ฅ๏ธ System Requirements

Recommended: NVIDIA DGX Spark

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐ŸŸข NVIDIA DGX Spark                                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ๐Ÿง  Grace Blackwell GB10 Superchip                          โ”‚
โ”‚ ๐Ÿ’พ 128GB Unified Memory                                     โ”‚
โ”‚ โšก 1 PFLOP AI Performance                                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Minimum Requirements

Component Requirement
CPU 8+ cores
RAM 32GB
GPU NVIDIA with 16GB+ VRAM
Storage 50GB SSD
Network Gigabit Ethernet

Software Dependencies

Dependency Version
Python 3.11+
Docker 24.0+
Docker Compose 2.20+
Speaches Latest

๐Ÿ“ฆ Installation

# Clone repository
git clone https://github.com/your-org/sip-agent.git
cd sip-agent

# Configure
cp sip-agent/.env.example sip-agent/.env
nano sip-agent/.env

# Start
docker compose up -d
# (Optional) Start services with Observability
docker compose -f ./docker-compose.yml -f docker-compose.observability.yml up -d

# Verify
curl http://localhost:8080/health

๐Ÿ“š Documentation

Full documentation available at sip-agent.readme.io

Document Description
Overview Architecture and features
Getting Started Installation guide
Configuration Environment variables
API Reference REST API endpoints
Tools Built-in tools
Plugins Custom tool development
Examples Integration patterns

โš ๏ธ Known Limitations

  • WebSocket realtime STT mode is experimental (use STT_MODE=batch for stability)
  • Maximum concurrent calls limited by LLM server capacity
  • Weather tool requires Tempest station (or customize for other APIs)
  • Some TTS voices may struggle with unusual words or names

๐Ÿ”œ Roadmap

Feature Status
๐ŸŽต Music on hold Planned
๐Ÿ“ž Call transfer Planned
๐Ÿ—“๏ธ Calendar integration Planned
๐Ÿ” Web search tool Planned
๐Ÿ  Home Assistant native Planned
๐Ÿ“ฑ SMS notifications Planned
๐ŸŒ Multi-language support Planned

๐Ÿ™ Acknowledgments


๐Ÿ“œ License

SPDX-License-Identifier: AGPL-3.0-or-later

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

๐Ÿ“ž Support

Resource Link
๐Ÿ“– Docs sip-agent.readme.io
๐Ÿ› Issues GitHub Issues
๐Ÿ’ฌ Discussions GitHub Discussions

SIP AI Assistant v0.1.0
Made with โค๏ธ and ๐Ÿค–
Now go make some calls! ๐Ÿ“ž