Skip to main content

Sessions vs Calls

You always begin with a Session (POST /v1/sessions): it returns sess_…, stream URL/token, and the resolved routing that lets Kallglot process audio for translation, transcript, recordings, etc.

What is a Session?

A session is simply the identifier you correlate with every API call thereafter (GET session, transcripts, recordings, wss stream, webhook handlers). Plug in telephony whichever way fits your deployment:

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.)
A single session can involve multiple calls:
  • Incoming call from a customer
  • Outgoing call to an agent
  • Conference call with multiple participants

Practical flow

  1. Call POST /v1/sessions with mode, optional languages, routing (or defaults from the Developer Portal).
  2. Send media on the stream WebSocket (audio.input), or attach telephony streams per vendor guide (/guides/twilio, /guides/telnyx, /guides/sip).
  3. Tear down with POST /v1/sessions/{id}/end once your call leg finishes.

Example: Inbound call (pseudo-code)

When your HTTP webhook fires for inbound telephony:

Example: WebRTC Session

Billing Model

Billing is based on session duration, not call duration: This means:
  • 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

Multiple Participants

A single session can handle multiple audio sources:

Best Practices

Create the session before the call connects. This ensures the processing pipeline is ready when audio starts flowing.
End sessions as soon as the conversation is complete. This stops billing and triggers recording/transcript finalization.
Attach custom metadata to sessions for easy correlation with your CRM, ticketing, or routing systems:
If a call disconnects but may reconnect, keep the session active. You can reconnect new audio to the same session within 5 minutes.