Skip to main content

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."


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

ServicePurposeLatency
TwilioPSTN to WebSocket~100ms
DeepgramSpeech-to-text~200ms
GPT-4o-miniRequest routing~300ms
Norns/BifrostTool execution~500ms
ElevenLabsText-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