SIP Voice Notifier Add-on
Complete Home Assistant add-on for sending voice notifications via SIP phone calls.
Everything included — just install the add-on, no separate integration needed!
Features
- 📞 Place SIP calls from Home Assistant
- 🔊 Play audio from HTTP/HTTPS URLs (MP3, WAV, etc.)
- 🗣️ Text-to-speech support
- ⚡ One-step installation (add-on includes integration)
- 🔧 Configurable call duration
- 🐳 Container-persistent (survives restarts)
Installation
Method 1: Local Add-on (Development)
-
Copy add-on folder:
cp -r addon-sip-notifier-v2 /addons/local/sip-notifier -
Add local repository:
- Settings → Add-ons → Add-on Store → ⋮ (menu) → Repositories
- Add:
file:///addons/local
-
Install from store:
- Find "SIP Voice Notifier" in local add-ons
- Click Install
Method 2: GitHub Repository (Production)
-
Create GitHub repo with structure:
ha-sip-notifier/ ├── repository.yaml └── sip-notifier/ ├── config.yaml ├── Dockerfile ├── services.yaml └── ... -
Add repository to Home Assistant:
- Settings → Add-ons → Add-on Store → ⋮ → Repositories
- Add your GitHub URL
-
Install from store
Configuration
Settings → Add-ons → SIP Voice Notifier → Configuration
Twilio Example
sip_server: "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pstn.twilio.com"
sip_user: "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
sip_password: "your_auth_token"
default_duration: 30
VoIP.ms Example
sip_server: "yourserver.voip.ms"
sip_user: "123456_subaccount"
sip_password: "your_password"
default_duration: 30
Generic SIP Provider
sip_server: "sip.example.com"
sip_user: "username"
sip_password: "password"
default_duration: 30
Usage
Once the add-on is running, the service sip_notifier.send_notification is automatically available in Home Assistant!
Play Audio from URL
service: sip_notifier.send_notification
data:
destination: "+15551234567"
audio_url: "https://example.com/alert.mp3"
duration: 30
Text-to-Speech
service: sip_notifier.send_notification
data:
destination: "+15551234567"
message: "This is a voice notification from Home Assistant"
duration: 20
Service Parameters
| Parameter | Required | Description |
|---|---|---|
destination |
Yes | Phone number (+1...) or SIP URI |
audio_url |
No* | HTTP(S) URL to audio file |
message |
No* | Text message for TTS |
duration |
No | Call duration in seconds (default: 30) |
* Either audio_url or message required
Example Automations
Water Leak Emergency
automation:
- alias: "Water Leak Alert"
trigger:
- platform: state
entity_id: binary_sensor.water_leak
to: "on"
action:
- service: sip_notifier.send_notification
data:
destination: "+15551234567"
message: "EMERGENCY! Water leak detected!"
duration: 40
Doorbell Notification
automation:
- alias: "Doorbell Call"
trigger:
- platform: state
entity_id: binary_sensor.doorbell
to: "on"
action:
- service: sip_notifier.send_notification
data:
destination: "+15551234567"
audio_url: "https://yourdomain.com/doorbell.mp3"
duration: 15
Motion Detection (Armed Only)
automation:
- alias: "Security Motion Alert"
trigger:
- platform: state
entity_id: binary_sensor.motion
to: "on"
condition:
- condition: state
entity_id: alarm_control_panel.home
state: "armed_away"
action:
- service: sip_notifier.send_notification
data:
destination: "+15551234567"
message: "Motion detected in your home!"
duration: 25
How It Works
- Add-on runs in dedicated container with PJSIP, ffmpeg, etc.
- Supervisor auto-registers
sip_notifier.send_notificationservice - Service call triggers add-on endpoint
- Add-on downloads/converts audio and places SIP call
- No separate integration needed!
Troubleshooting
Add-on won't start
Check logs: Settings → Add-ons → SIP Voice Notifier → Log
Common issues:
- Invalid SIP credentials
- SIP server unreachable
- Configuration missing required fields
Service not available
- Ensure add-on is running
- Restart Home Assistant
- Check add-on has
homeassistant_api: truein config
Call fails
- Check add-on logs for detailed SIP errors
- Verify phone number format (+15551234567)
- Test SIP credentials with your provider
- Ensure firewall allows UDP port 5060
No audio
- Check audio URL is publicly accessible
- Test with TTS first (
message:instead ofaudio_url:) - Look for conversion errors in add-on logs
- Ensure audio format is compatible (MP3/WAV recommended)
Audio Format Support
- Input: MP3, WAV, OGG, FLAC, etc. (via pydub)
- Output: Automatically converted to 8kHz mono WAV
- Best performance: Use 8-16kHz mono WAV to skip conversion
SIP Provider Recommendations
| Provider | Cost/min | Quality | Setup |
|---|---|---|---|
| Twilio | $0.013 | Excellent | Easy |
| VoIP.ms | $0.009 | Very Good | Easy |
| Vonage | Varies | Good | Medium |
| Bandwidth | $0.006 | Good | Medium |
Security
- Add-on runs in isolated container
- SIP credentials stored in encrypted HA config
- API only accessible within Home Assistant network
- No external dependencies besides SIP provider
Performance
- Startup: 2-5 seconds
- Call setup: 3-5 seconds
- Memory: 50-80 MB
- CPU: Low (spike during audio conversion)
Supported Architectures
- aarch64 (Raspberry Pi 3/4/5, 64-bit)
- amd64 (Intel/AMD 64-bit)
- armhf (Raspberry Pi 2/3, 32-bit)
- armv7 (ARM 32-bit)
- i386 (Intel/AMD 32-bit)
What's Different from v1?
v1: Add-on + separate custom integration
v2: Add-on only (integration built-in)
Simpler installation — just one component!
License
MIT
Support
Check add-on logs first: Settings → Add-ons → SIP Voice Notifier → Log
Enable debug logging by restarting the add-on with "Show in sidebar" enabled.