Phone Call Flow
Call Norns on the phone for hands-free AI assistance.
Overview
Call +1 (737) 214-3330 to interact with Norns via natural conversation. Perfect for driving, cooking, or when away from your computer.
How It Works
┌──────────────────────────────────────────────────────────────────────┐
│ PHONE CALL FLOW │
├──────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌───────────┐ ┌─────────────────┐ │
│ │ Your │───►│ Twilio │───►│ Telephony │───►│ Deepgram │ │
│ │ Phone │ │ PSTN │ │ (Pipecat) │ │ (Speech-to-Text)│ │
│ └─────────┘ └─────────┘ └───────────┘ └────────┬────────┘ │
│ ▲ │ │
│ │ ▼ │
│ │ ┌─────────────────┐ │
│ │ │ GPT-4o-mini │ │
│ │ │ (Router) │ │
│ │ └────────┬────────┘ │
│ │ │ │
│ │ ▼ │
│ │ ┌─────────────┐ ┌─────────┐ ┌─────────────┐ │
│ └─────────│ ElevenLabs │◄───│ Norns │◄───│ Bifrost │ │
│ │ (TTS) │ │ Agent │ │ Tools │ │
│ └─────────────┘ └─────────┘ └─────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────┘
Making a Call
Step 1: Dial
Call +1 (737) 214-3330 from any phone.
Step 2: Wait for Greeting
Norns answers: "Hello! How can I help you today?"
Step 3: Speak Naturally
Just talk like you would to a person:
- "What is on my schedule today?"
- "Add buy groceries to my todo list"
- "How long will it take to get to the airport?"
Step 4: Listen and Respond
Norns responds with synthesized speech. You can have a natural back-and-forth conversation.
Step 5: End Call
Just hang up when done. The conversation is saved to your memory.
Caller Identification
The system identifies you by your phone number.
First Time Callers
If your phone number is not registered, Norns uses a default context. To register:
-- Run on PostgreSQL
UPDATE users
SET phone_number = +1XXXXXXXXXX
WHERE email = your@email.com;
Identification Flow
Incoming Call → Twilio provides caller ANI
→ Telephony calls GET /api/users/by-phone/{phone}
→ Norns looks up user by phone_number
→ User context loaded for conversation
Example Conversations
Morning Briefing
You: "Good morning, what do I have going on today?"
Norns: "Good morning! You have 2 meetings today. At 10 AM you have a team standup, and at 2 PM you have a one-on-one with Sarah. You also have 3 tasks due today: finish the code review, submit the expense report, and pick up dry cleaning."
Quick Task Add
You: "Remind me to call the dentist tomorrow"
Norns: "Got it. I have added call the dentist to your tasks, due tomorrow January 4th."
Home Control
You: "Did I leave any lights on at home?"
Norns: "Let me check... The living room light and kitchen light are currently on. Would you like me to turn them off?"
You: "Yes please"
Norns: "Done. I have turned off both lights."
Navigation
You: "How long to get to the office right now?"
Norns: "Based on current traffic, it will take about 25 minutes to reach your office. There is moderate traffic on Highway 183."
Voice Quality Tips
For Best Recognition
- Speak clearly at a moderate pace
- Minimize background noise (car, wind)
- Use a headset if available
- Wait for Norns to finish before speaking
If Misunderstood
- Rephrase your request
- Spell out unusual names
- Use simpler language
Technical Details
Cloud Services Used
| Service | Purpose | Latency |
|---|---|---|
| Twilio | PSTN to WebSocket | ~100ms |
| Deepgram | Speech-to-text | ~200ms |
| GPT-4o-mini | Request routing | ~300ms |
| Norns/Bifrost | Tool execution | ~500ms |
| ElevenLabs | Text-to-speech | ~200ms |
Total round-trip: ~1.3 seconds typical
Why Cloud STT/TTS?
Phone audio quality (8kHz) works better with cloud services optimized for telephony. The web interface uses local Whisper/Piper for lower latency.
Troubleshooting
Call Does Not Connect
- Verify phone number: +1 (737) 214-3330
- Check Twilio account status
- Verify telephony container is running
No Audio Response
# Check telephony service
docker logs telephony --tail=50
# Verify ElevenLabs API key
docker exec telephony env | grep ELEVENLABS
Wrong User Context
Verify phone number is registered:
SELECT user_id, display_name, phone_number
FROM users
WHERE phone_number = +1XXXXXXXXXX;
See Also
- [[Voice-Task-Management]] - Task commands
- [[Voice-Calendar]] - Calendar commands
- [[../Voice-Platform/Telephony]] - Technical setup