Sessions vs Calls
In Kallglot, Sessions and Calls represent different layers of abstraction. Understanding this distinction helps you build more flexible integrations.What is a Session?
A Session is Kallglot’s core unit of work. It represents a real-time voice processing connection that handles:- Audio streaming
- Speech-to-text transcription
- Real-time translation
- Text-to-speech synthesis
- Recording
- AI processing
- A Twilio phone call
- A Telnyx phone call
- A WebRTC browser connection
- A SIP endpoint
- Direct audio streaming via WebSocket
What is a Call?
A Call is a telephony connection managed by a provider (Twilio, Telnyx, or SIP). Calls handle:- Phone number dialing
- PSTN connectivity
- Call routing
- Telephony features (hold, transfer, etc.)
- Incoming call from a customer
- Outgoing call to an agent
- Conference call with multiple participants
Session-Centric Design
Kallglot uses a session-centric API design:- Create a Session - This sets up the processing pipeline
- Connect Audio - Attach one or more audio sources (calls, WebRTC, etc.)
- Process in Real-time - Transcription, translation, AI
- End Session - Finalize recording and transcripts
Example: Inbound Call
Example: WebRTC Session
Billing Model
Billing is based on session duration, not call duration:| What’s Billed | Description |
|---|---|
| Active session time | Time from first audio received to session end |
| Translation minutes | Minutes where translation was active |
| AI agent minutes | Minutes where AI agent was processing |
- A 5-minute call with a 5-minute session = 5 minutes billed
- A 5-minute call with a 10-minute session (including hold) = 10 minutes billed
- Two 3-minute calls in one session = 6 minutes billed total
Session Lifecycle
Status Descriptions
| Status | Description |
|---|---|
created | Session created, waiting for audio connection |
connecting | Audio source connecting |
active | Processing audio in real-time |
ending | Finalizing recording and transcript |
ended | Session complete, resources available |
Multiple Participants
A single session can handle multiple audio sources:Best Practices
Create sessions early
Create sessions early
Create the session before the call connects. This ensures the processing pipeline is ready when audio starts flowing.
End sessions promptly
End sessions promptly
End sessions as soon as the conversation is complete. This stops billing and triggers recording/transcript finalization.
Use session metadata
Use session metadata
Attach custom metadata to sessions for easy correlation with your internal systems:
Handle session reconnection
Handle session reconnection
If a call disconnects but may reconnect, keep the session active. You can reconnect new audio to the same session within 5 minutes.