AI Voice Agent
Real-time telephony AI
AI Voice Agent
Picks up. Listens. Books.
- Role
- Software Engineering Intern, DemiraySoft
- Year
- 2026
- Platform
- Business phone lines
- Built with
- Python
- SIP/RTP
- Deepgram
- Gemini
- DeepSeek
- ElevenLabs
- Next.js
- TypeScript
- Firebase
The problem
Small businesses miss calls while they work, and every missed call is a missed booking. The agent had to answer a real phone number, understand a caller speaking naturally, and write a confirmed appointment, with no human in the loop.
The idea
Treat the call as a stream, not a sequence of requests. Audio flows in over RTP, is transcribed while the caller is still speaking, and the reply is synthesized and streamed back as it is generated. Every stage can be cancelled the moment the caller starts talking again.
DemiraySoft internship, 2026
The call.
An AI agent that answers a business phone line and books the appointment by itself. Scroll to listen in.
Business line
Connected
- Agent: Hi, you’ve reached the salon. How can I help?
- Caller: I’d like a haircut tomorrow afternoon.
- check_availability(tomorrow, afternoon)
- Agent: Tomorrow I have three o’clock or half past five. Which one would you
- Caller: Three is perfect.
- book_appointment(tomorrow 15:00, haircut)
- Agent: Done. You’re booked for tomorrow at three. See you then.
- Appointment confirmed
- Phone lineCaller
- SIP / RTPTelephony
- Speech to textDeepgram
- LLMGemini, DeepSeek
- Text to speechElevenLabs
A reconstruction of a typical call, drawn from the real pipeline.
How it’s built
Telephony layer
I implemented the SIP signalling and RTP media handling that connect a real phone line to the pipeline, so the agent receives and sends raw call audio.
Streaming chain
Deepgram transcribes in real time, Gemini or DeepSeek decides what to say and which booking action to take, ElevenLabs turns the answer back into speech.
Barge-in
When the caller interrupts, playback stops mid-sentence and the new speech becomes the next turn. This one mechanism is what makes the conversation feel natural instead of robotic.
WhatsApp panel
In the same internship I built a messaging panel on the Meta WhatsApp Cloud API: CSV-based bulk messaging, a live inbox and customer tracking.
Where it is now
A working agent that takes a business call from greeting to confirmed appointment on its own, with interruptions handled the way a person would handle them.