Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.kallglot.com/llms.txt

Use this file to discover all available pages before exploring further.

Telephony Providers

Request vs response naming: In POST /v1/sessions, you only set telephony on the routing object. The session response may include a read-only string provider (twilio, telnyx, sip, …) showing which carrier was resolved—do not send that as a nested provider object in the request body. Webhooks such as session.provider.connected describe telephony lifecycle events, not JSON fields for session creation.
Kallglot supports three telephony integration paths:
  • Kallglot-managed numbers
  • External routing connections
  • SIP / PBX
This concept page explains how those paths map to the routing object in POST /v1/sessions.

Kallglot-managed numbers

Kallglot provisions and manages the underlying phone number for your organization. Use a managed number when:
  • your organization owns an active Kallglot number
  • you want to route a session through that number directly
  • you do not want to configure an external routing connection
Example:
{
  "routing": {
    "phone_number": "+19788006140"
  }
}
If that number belongs to your organization and is active, Kallglot automatically resolves the provider (Twilio or Telnyx) from the number configuration.

External routing connections

External routing connections represent telephony accounts your organization connected in the Developer Portal. Use an external routing connection when:
  • you already run telephony in your own Twilio or Telnyx account
  • you want Kallglot to operate on top of that account
  • you want explicit routing to a particular routing configuration
Example:
{
  "routing": {
    "connection_id": "pcon_01HXYZ",
    "direction": "inbound"
  }
}
If you have multiple external routing connections, pass routing.connection_id explicitly.

SIP / PBX

SIP mode is for PBX-first or contact-center integrations that speak standard SIP toward Kallglot. Use SIP when:
  • your calls live inside a PBX or contact center platform
  • you want to create a session first, then bridge the call to Kallglot
  • you do not need a routing connection record
Example:
{
  "routing": {
    "type": "sip"
  }
}
After session creation, bridge the call to:
sip:<session_id>@sip.kallglot.com

Telephony Resolution Order

Kallglot resolves telephony in this order:
  1. routing.connection_id, if provided
  2. SIP mode when routing.type is sip
  3. active Kallglot-managed number when routing.phone_number matches an organization-owned number
  4. default active external routing connection, if configured
  5. a setup error if no valid route exists

Routing Fields

FieldMeaning
routing.phone_numberKallglot-managed phone number in E.164 format
routing.connection_idExternal provider connection ID (pcon_xxx)
routing.typeRouting type: sip or webrtc. Only required for SIP/WebRTC modes
routing.directionCall direction: inbound or outbound
routing.sipSIP-specific configuration (when type is sip)

Developer Portal Configuration

All telephony options are configured in Developer Portal > Telephony:
SectionDescription
Kallglot-managed numbersBuy and manage phone numbers directly through Kallglot
External routing connectionsConnect your own Twilio or Telnyx accounts
SIP / PBXEnable SIP access for PBX integration
Set a default routing connection to simplify API requests. When you omit routing.connection_id, Kallglot uses your default connection automatically.

Common Patterns

Managed number

{
  "mode": "bidirectional_translation",
  "source_language": "de",
  "target_language": "en",
  "routing": {
    "phone_number": "+19788006140"
  }
}

Bring your own provider

{
  "mode": "bidirectional_translation",
  "source_language": "de",
  "target_language": "en",
  "routing": {
    "connection_id": "pcon_01HXYZ",
    "direction": "inbound"
  }
}

SIP / PBX

{
  "mode": "bidirectional_translation",
  "source_language": "de",
  "target_language": "en",
  "routing": {
    "type": "sip"
  }
}