Przejdź do treści
Biblioteka skilli
AI i agenci · Budowanie i kod

sip-voice-call-control

/sip-voice-call-control

Obsługuje rozmowy telefoniczne z asystentem AI przez Telnyx Call Control, z wywoływaniem funkcji i przypomnieniami głosowymi.

Repozytorium
telnyx-toolkit ↗
Licencja
MIT
Ostatnia zmiana repozytorium
01.07.2026

Ocena i bezpieczeństwo

95/ 100Klasa: dobry
Format20 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
8
Skrypty
4
Komentarze HTML
0
Adresy URL w SKILL.md
3
Przestarzałość

Brak sygnałów. Repozytorium zmienione 01.07.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co sprawdzić przed instalacją
  • 4 skrypty w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.

Skrypty: setup.sh, src/dev.ts, src/tunnel.ts, test.sh

Co robi i kiedy

Obsługuje rozmowy telefoniczne z asystentem AI przez Telnyx Call Control, z wywoływaniem funkcji i przypomnieniami głosowymi.

Oryginalny opis (EN)

Voice interface using Telnyx Call Control API. Answer phone calls with AI, function calling, and natural conversation. Use for hands-free assistant access, phone-based reminders, or voice-controlled tools. Requires Node.js and Telnyx API key.

Jak działa

  1. How It Works
  2. Setup
  3. Agent Setup Flow
  4. Environment Variables
  5. Available Tools
  6. Features
  7. Troubleshooting
  8. Resources
Sekcje z nagłówków SKILL.md, w oryginale · 183 linii, 702 słów
Podgląd SKILL.md
---
name: sip-voice-call-control
description: Voice interface using Telnyx Call Control API. Answer phone calls with AI, function calling, and natural conversation. Use for hands-free assistant access, phone-based reminders, or voice-controlled tools. Requires Node.js and Telnyx API key.
metadata: {"openclaw":{"emoji":"📞","requires":{"bins":["node","npm"],"env":["TELNYX_API_KEY"]},"primaryEnv":"TELNYX_API_KEY"}}
---

# SIP Voice Call Control

Voice interface for OpenClaw using Telnyx Call Control API. Call via SIP and have natural conversations with your AI assistant.

## How It Works

```
Your Phone (SIP) → Telnyx Call Control → Webhooks → This Server → Commands back
                         ↓                              ↓
                    STT/TTS/Media              LLM + Tool Execution
```

This is **not WebRTC** — it's server-side SIP call handling. Telnyx handles all audio; we just receive webhooks and send commands.

## Setup

### 1. Install Dependencies

```bash
cd skills/sip-voice-call-control
npm install
```

### 2. Configure

```bash
cp .env.example .env
```

Edit `.env`:
```env
TELNYX_API_KEY=KEY_your_api_key_here
```

### 3. Start Server

```bash
npm run start
```

Console shows:
```
🎙️  Assistant Voice Server ready on port 3000
📞 Dial: sip:openclaw@yourconnection.sip.telnyx.com
```

## Agent Setup Flow

When setting up for a user, agents should:

### 1. Collect Configuration

Ask for:

1. **Telnyx API Key** (required)
   - Get from: https://portal.telnyx.com/#/app/auth/v2
   - Needs Voice API + Inference permissions

2. **TTS Voice** (optional)
   - `Telnyx.NaturalHD.astra` — Female, warm and clear **(default, recommended)**
   - `Telnyx.NaturalHD.atlas` — Male, deep and authoritative
   - `Polly.Amy-Neural` — British female
   - `Polly.Brian-Neural` — British male
   - `Polly.Joanna-Neural` — American female
   - `Polly.Matthew-Neural` — American male
   - `Azure.en-US-JennyNeural` — American female
   - `Azure.en-GB-RyanNeural` — British male
   - See `.env.example` for full list

3. **Voice Model** (optional)
   - `Qwen/Qwen3-235B-A22B` — Best for function calling (default)
   - `meta-llama/Meta-Llama-3.1-8B-Instruct` — Fastest
   - `meta-llama/Llama-3.3-70B-Instruct` — Balanced

Personalization (assistant name, user name, timezone) is pulled automatically from workspace files (`IDENTITY.md`, `USER.md`).

### 2. Write .env File

```bash
cat > .env << 'EOF'
TELNYX_API_KEY=<user_api_key>
VOICE_MODEL=Qwen/Qwen3-235B-A22B
TTS_VOICE=Telnyx.NaturalHD.astra
EOF
```

### 3. Start in Background (Persistent)

The server must run persistently to receive calls. Use `nohup` to keep it alive:

```bash
cd /path/to/sip-voice-call-control
nohup npm run start > sip-voice-call-control.log 2>&1 &
```

Or from an agent:

```typescript
// Use nohup to keep process alive after session ends
exec({ 
  command: "cd /path/to/sip-voice-call-control && nohup npm run start > sip-voice-call-control.log 2>&1 &",
  background: true 
})
```

**Important:** Without `nohup`, the process will die when the parent session ends. Always use `nohup` or a process manager for production.

To check if running:
```bash
ps aux | grep "tsx.*dev" | grep -v grep
```

To stop:
```bash
pkill -f "tsx.*dev.ts"
```

To view logs:
```bash
tail -f /path/to/sip-voice-call-control/sip-voice-call-control.log
```

### 4. Extract SIP Address

Poll the process logs and give the user the SIP dial-in:
```
📞 Dial: sip:openclaw@<connection>.sip.telnyx.com
```

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `TELNYX_API_KEY` | Yes | — | Telnyx API key |
| `VOICE_MODEL` | No | `Qwen/Qwen3-235B-A22B` | Model for inference |
| `TTS_VOICE` | No | `Polly.Amy-Neural` | Text-to-speech voice |
| `PORT` | No | `3000` | Server port |
| `ENABLE_TUNNEL` | No | `true` | Create Cloudflare tunnel |
| `WORKSPACE_DIR` | No | `~/clawd` | For memory search tool |

## Available Tools

| Tool | Trigger Phrases | What It Does |
|------|-----------------|--------------|
| `list_cron_jobs` | "what reminders", "my schedule", "cron jobs" | Lists scheduled tasks |
| `add_reminder` | "remind me", "set a reminder" | Creates new reminder |
| `remove_cron_job` | "delete", "cancel" + job name | Removes a scheduled task |
| `get_weather` | "weather", "temperature", "forecast" | Gets current weather |
| `search_memory` | "what have we been working on", "projects" | Searches workspace files |

## Features

- **Low-latency** — 500ms-1.5s response time with `enable_thinking: false`
- **Barge-in** — Interrupt the assistant anytime by speaking
- **Function calling** — Native tool support with Qwen
- **Auto-setup** — Cloudflare tunnel and Call Control app created automatically
- **Personalization** — Reads `IDENTITY.md` and `USER.md` for context

## Troubleshooting

**No response after speaking:**
- Check Telnyx API key has Voice API + Inference permissions
- Verify webhook URL is reachable (tunnel must be active)

**Slow responses (>3s):**
- Ensure using `function-calling` branch (not `main`)
- Check model availability on your Telnyx account

**Tool not executing:**
- Ensure `openclaw` CLI is in PATH
- Check `WORKSPACE_DIR` is set correctly

**Port already in use:**
- Kill existing server: `pkill -f "tsx.*dev.ts"`
- Or change `PORT` in .env

## Resources

- Telnyx Call Control: https://developers.telnyx.com/docs/voice/call-control
- Telnyx Inference: https://developers.telnyx.com/docs/inference
- See [ARCHITECTURE.md](ARCHITECTURE.md) for technical details
Pliki w paczce (8)
  • .env.example 3 KB
  • .gitignore 1 KB
  • SKILL.md 5 KB
  • package.json 1 KB
  • setup.sh 1 KB
  • test.sh 2 KB
  • src/dev.ts 40 KB
  • src/tunnel.ts 9 KB

Wersje

W bazie nie ma innych skilli o nazwie sip-voice-call-control.

Migawka bazy z 28.10.2026 · wersja paczki e33a4490a944 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100openai-realtime
    Buduje agentów głosowych z OpenAI Realtime API przez WebRTC, WebSocket i SIP: strumieniowanie dźwięku z mikrofonu, obsługa przerwań i wywołań funkcji, odbieranie połączeń SIP oraz tymczasowe klucze dla przeglądarki.
  • 90telnyx-sip-go
    Konfiguruje połączenia SIP trunking i profile głosowe połączeń wychodzących przy podłączaniu central PBX i zarządzaniu infrastrukturą SIP, z przykładami w Go SDK.
  • 95telnyx-sip-curl
    Konfiguruje połączenia SIP trunking i profile połączeń wychodzących przy podłączaniu central PBX i zarządzaniu infrastrukturą SIP, z przykładami API REST w curl.
  • 95telnyx-api
    Wspiera pracę z API komunikacyjnymi Telnyx: SMS i MMS, połączenia głosowe, numery telefonów, webhooki, rozmowy dwukierunkowe, wysyłka masowa i wdrożenia produkcyjne z walidacją podpisów Ed25519.
  • 95sinch-voice-api
    Buduje aplikacje głosowe na Sinch Voice API v1: połączenia, syntezę mowy, IVR, nagrywanie i przekierowania.
  • 100twilio-voice-outbound-calls
    Wykonuje połączenia wychodzące przez Twilio Programmable Voice REST API: calls.create(), wykrywanie automatu głosowego, łączenie z agentami przez konferencję, nagrywanie, śledzenie statusu i SIP Trunking.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.