Glossary

Definitions of key terms, abbreviations, and EnableX-specific concepts used across the documentation. Terms are grouped by domain.


Platform concepts

APP_ID

A unique identifier for your EnableX project, used as the username component in HTTP Basic authentication. Every API call must include your APP_ID paired with your APP_KEY. Found in the Portal under My Projects → Settings → API Keys.

APP_KEY

The secret key paired with your APP_ID. Treat it as a password — never expose it in client-side (browser or mobile) code. Use environment variables or a secrets manager to store it server-side.

Webhook

An HTTP POST request that EnableX sends to a URL you configure, in response to an event (call answered, recording ready, message delivered). Your server must respond with HTTP 200 within 5 seconds; longer processing should be done asynchronously. Webhooks are the primary integration mechanism for Voice and real-time messaging flows.

App Server

Your backend application that holds API credentials, creates EnableX resources (rooms, tokens, calls), handles webhooks, and enforces business logic. The App Server is the only component that should communicate directly with the EnableX API; clients (browsers, mobile apps) interact with EnableX through client SDKs using short-lived tokens issued by the App Server.

E.164

The international phone number format used by all EnableX APIs: a + sign followed by country code and subscriber number, with no spaces or dashes. Example: +919876543210 (India), +6531234567 (Singapore), +12125550123 (USA). Numbers not in E.164 format will fail with INVALID_RECIPIENT.

job_id

EnableX's universal tracking identifier returned for every messaging send operation. Use it to poll delivery status and to correlate webhook events back to the original send. Formats are channel-prefixed: sms_j_*, wa_j_*, rcs_j_*.

reference

A client-supplied identifier you include in messaging send requests to correlate EnableX events with your own records (order IDs, session IDs, campaign tags). EnableX echoes reference in all delivery webhook events. It does not affect routing or billing.


Voice concepts

DID (Direct Inward Dial)

A virtual phone number provisioned by EnableX that routes inbound calls to your webhook URL. DIDs are also used as caller IDs for outbound calls. Provision DIDs in the Portal under My Projects → Voice → Phone Numbers.

DTMF (Dual-Tone Multi-Frequency)

The tones generated when a phone keypad digit is pressed (0–9, *, #). IVR systems use DTMF to collect caller input — press 1 for sales, press 2 for support. EnableX delivers DTMF events via webhook and can also send DTMF tones on a live call programmatically.

IVR (Interactive Voice Response)

An automated phone system that interacts with callers through voice prompts and DTMF input. EnableX IVR is built using webhook actions: your server returns a talk action to play a prompt and an input action to collect digits, then routes the call based on the caller's selection.

WebRTC

A browser and mobile standard for real-time audio, video, and data communication without plugins. EnableX Video and Click to Call use WebRTC for browser-based communication. WebRTC requires HTTPS and microphone/camera permission from the user.

SIP (Session Initiation Protocol)

A standard signalling protocol for VoIP calls. EnableX supports SIP trunking — connecting your existing SIP PBX, contact centre, or softphone to the EnableX platform for routing, recording, and analytics.

Caller ID

The phone number displayed to the call recipient when you make an outbound call. Only EnableX-provisioned DID numbers can be used as caller IDs — you cannot spoof arbitrary numbers. Set via the from field in outbound call requests.

CDR (Call Detail Record)

A structured log entry for a completed call containing duration, call_id, from/to numbers, timestamps, disposition (answered/no-answer/busy), and recording reference. EnableX delivers CDRs via the call-complete webhook event and via the Portal's call history export.

Media Streaming

An EnableX feature that forwards live call audio to your server over a WebSocket connection in real time. Used to build voice bots, live transcription, sentiment analysis, and fraud detection pipelines. Enabled by returning a stream action from your webhook.

PCM16

Pulse Code Modulation, 16-bit linear encoding — a raw, uncompressed audio format used in Media Streaming. Each 20ms audio frame is 320 bytes at 8 kHz or 640 bytes at 16 kHz. PCM16 is the preferred format for feeding audio to modern STT engines (Google, Azure, OpenAI Realtime).

mulaw (G.711)

A compressed audio codec used in traditional telephony. Each 20ms frame is 160 bytes at 8 kHz. Available in Media Streaming for legacy telephony integration; use PCM16 for AI pipelines where audio quality matters.


Video concepts

Room

The fundamental unit of an EnableX video session. Participants join a room to communicate. Rooms are created via the API and can be permanent (long-lived), scheduled (with a time window), or ad hoc (deleted when all participants leave). Each room has a unique room_id.

Participant Token

A short-lived JWT (JSON Web Token) that grants a specific participant access to a specific room with defined permissions (role, capabilities, expiry). Generated by your App Server using your APP_KEY and passed to the client SDK. Never generate tokens client-side.

Moderator

A participant role with elevated permissions: locking/unlocking the room, muting or removing other participants, starting/stopping recording, and pinning video. A room must have at least one moderator token issued, though the moderator does not have to be present at all times.

Recording

A video session capture stored by EnableX. Recordings can be triggered automatically (auto-record setting) or on-demand via API. Available in grid, spotlight, or sidebar layout. Download URLs are valid for 90 days; download and re-host for permanent storage.


Messaging concepts

A2P (Application-to-Person)

Messages sent from a business application to an individual consumer — as opposed to P2P (Person-to-Person) messages between two individuals. All EnableX messaging is A2P. A2P SMS requires additional registration in many markets (10DLC in the USA, DLT in India, SSIR in Singapore).

DLT (Distributed Ledger Technology)

India's TRAI-mandated A2P SMS registration framework. Businesses must register their entity, sender IDs, and message templates on an approved DLT portal before sending commercial SMS in India. All three IDs must be included in every API request for traffic to reach recipients.

10DLC

Ten-Digit Long Code — the US carrier programme for registering A2P SMS traffic on standard 10-digit phone numbers. Unregistered 10DLC traffic is filtered by AT&T, Verizon, and T-Mobile. Register your brand and campaign via the EnableX Portal.

WABA (WhatsApp Business Account)

The Meta-managed account that links your WhatsApp Business phone number to the Cloud API. A WABA is required to send WhatsApp messages via the API. Each WABA has messaging tier limits (1,000 / 10,000 / 100,000 conversations per day) based on account quality and verification status.

Template Message

A WhatsApp message format pre-approved by Meta, used for outbound business-initiated notifications at any time (outside the 24-hour session window). Templates use numbered placeholders ({{1}}, {{2}}) filled at send time via the components array.

Session Window (WhatsApp)

The 24-hour period following a customer's last inbound WhatsApp message, during which you can send free-form session messages. Outside this window, only template messages can be sent. The timer resets with each new inbound message.

RCS Agent

A verified business identity registered with Google's RCS platform, required before sending RCS messages. The agent profile (brand name, verified logo, website, contact details) is displayed to recipients on their device. Unverified RCS traffic is blocked by the Google RCS platform.

fallback_sms

A top-level string field in RCS message requests. When the recipient's device does not support RCS, EnableX automatically sends this text as a standard SMS instead. Ensures your message reaches all recipients regardless of RCS capability. A fallback.triggered webhook event is posted when fallback is used.

postback_data

The machine-readable value delivered to your webhook when a user taps a reply suggestion in an RCS message. Set to any string identifier — the user sees only the text label on the button. Delivered via an inbound message-received event with type: "suggestion_response".

Cascade

An EnableX Unified Messaging feature that automatically falls back to the next channel if delivery on the first channel fails. Define the priority order in the channels array of POST /messaging/v1/send. A channel-fallback webhook event is posted at each transition.


AI concepts

STT (Speech to Text)

Automatic Speech Recognition — converts audio (call recordings or live streams) into text transcripts. EnableX STT supports multiple languages and speaker diarization. Used for post-call transcription, live agent assist, compliance recording, and voice bot input.

TTS (Text to Speech)

Neural voice synthesis — converts written text into natural-sounding speech. EnableX TTS uses WaveNet-based neural voices and supports SSML for fine-grained control over pronunciation, pace, and emphasis. Delivered via the talk webhook action or POST /voice/v1/tts/synthesize.

SSML (Speech Synthesis Markup Language)

An XML-based markup language for controlling TTS output. Supported tags include <break> for pauses, <say-as> for reading dates, numbers, and characters, <emphasis> for stress, and <prosody> for rate and pitch control. Wrap SSML in <speak> tags.

Speaker Diarization

The process of identifying and segmenting audio by speaker — "who spoke when." EnableX Meeting Summarization uses diarization to attribute transcript segments to individual participants. Accuracy depends on audio quality and the acoustic distinctiveness of participants' voices.

WaveNet

A deep neural network-based voice synthesis architecture developed by Google DeepMind, producing natural-sounding speech that closely approximates human prosody and intonation. EnableX TTS uses WaveNet voices for all supported languages. WaveNet voices are labelled *-Wavenet-* in the voice catalogue, as opposed to lower-quality Standard voices.

# Adhoc Room

An adhoc room is instantly created. It is only available for a single call.

# Dedicated Number

Subscribers can purchase dedicated phone numbers from the EnableX portal or order them for their specified countries. Once a phone number is allocated to a subscriber, the default system IVR is not necessary as the calls are directly handed over to the voice service application.

# Permanent Room

A permanent room is room is always available for use once it is created.

# Scheduled Room

A scheduled room is only available for a particular period of time, which must be specified with a scheduled time and duration.

# Shared Number

A shared number allows users to instantly purchase a valid phone number for Caller Line Identification (CLI). Users can use this number as an inbound PSTN for calling into an EnableX room.

# Virtual Number

Virtual numbers are PSTN numbers, which are displayed as CLI on an end user's phone when the voice service application performs a voice call. Virtual numbers are also the dial-in phone numbers that an end-user calls to join a voice conference.

API Authentication

To use the EnableX service, you need to use the Server API, which is a REST API service. The Server API uses the HTTP Basic authentication protocol for authentication. To pass through the authentication process, use `APP ID` and `APP KEY` of your application generated through the EnableX portal as a

APP ID

The APP ID is a unique identifier assigned to each project within EnableX Service Administration (CPaaS). It serves as an identification code that distinguishes one project from another. The APP ID is required when making API calls to ensure that the request is associated with the correct project.

APP KEY

The APP KEY is a secret key or a token associated with a project. It is used as a security measure to authenticate and authorize API requests made on behalf of the project. The APP KEY acts as a shared secret between the project and the API, ensuring that only authorized requests from the project ar

Active Talker

Set of publishers who are speaking at a given point in time. In context of EnableX, endpoints receive a list of 6 Active-Talkers in a JSON Format with an event named `active-talkers-updated` whenever there is a change in the talkers list. This list helps in handling UI and to play audio/video stream

Adhoc Room

An adhoc room is a type of a room that is suited for hosting "On Demand" RTC sessions. Adhoc rooms are only used for single sessions and deleted once all participants leave the room.

Bridging

EnableX platform can bridge incoming PSTN calls with an outgoing PSTN call without an EnableX room. In this scenario, it combines two calls via the EnableX application or platform.

Client ID

All users who connect to a session hosted on the EnableX platform are individually assigned a unique Id, which is referred as Client ID. The EnableX server and the associated APIs use the Client ID of users to update their actions during an RTC Session.

Conference

An EnableX hosted session is also referred to as a conference.

Conference Number

An EnableX hosted session is also referred to as a conference. Each hosted conference is assigned and referred using a unique conference number. API responses refer the conference number as `conf-num`.

Endpoints

You can connect a call to a SIP endpoint in case your PABX supports the SIP interface.

Events

An event represents an action or occurrence originating asynchronously from client-side entities. Events can be classified as: - **Room Events:** Represent events related to room connection. - **Stream Events:** Represent events related to streams within a room.

Group Mode

The Group mode represents a type of a session that is suited for participant interaction. It provides finer-level control on every publisher and subscriber stream in a video room. All participants are allowed to publish their streams into the room and subscribe to all the available streams. Note tha

Lecture Mode

The Lecture mode is suited for hosting RTC sessions with a limited number of concurrent publishers `(less than 6)` and a large number of subscribers. A room configured in the Lecture mode includes a moderator who has the administrative rights for the room. The moderator administrative rights include

Long Code

Long code is also known as a phone number. The difference is that the long code phone number is not associated with a SIM card. You can use a long code phone number to send and receive SMS. A message received on this phone number is routed to the EnableX platform where it is posted to a webhook URL

Moderator

EnableX assigns role-based privileges for users connected to a session. A user with the Moderator role has extra privileges compared to the uses with the Participant role. A user with the Moderator role can record, mute and disconnect participants, mute all participants, and so on. You can define a

Owner Reference

Owner Reference or Owner Ref represent the reference data or ID of the owner of a room. EnableX does not maintain the data of the users joining the EnableX sessions. However, you might need to track the users owning a room or using a session. Usage reports (for example CDR) include Owner Ref, which

Participant

EnableX assigns role-based privileges for users connected to a session. A user with the Participant role has less privileges compared to a user with the Moderator role. You can define a role for a user while creating a token for the user who is looking for joining a session. To create a token, add t

Permanent Room

Its one type of room which can be used to carry out conference anytime you want. A permanent room is always avaiiable unless deleted explicitly using a Server API Call. During its lifetime, a permanent room can be used any number of times to carry out a conference. To define a permanent room, add th

Player

A player represents the customisable UI element that can be used to render the stream in the DOM or View handler in the browser or mobile SDK respectively.

Publishing

Publishing is the process of sending a local media stream, such as audio, video, or screen, to the EnableX Media server from a user's endpoint. Once the process is successfully completed, the stream is made available to others in the same room so that they can play it. Note that a connected user may

Recording

You can record an audio input from a PSTN caller or record the conversations of multiple callers in an EnableX room.

Room

To establish an RTC session or host a conference, you first need a room. A room can be created by using the Server API call. Users who want to talk to each other need a token and require to join the same room. You can create three different type of rooms: Permanent, Scheduled, and Adhoc.

Room ID

Every room that you create by using the Server API is asigned a Room ID. The Room ID contains a string of alphanumeric characters. It is received in the Server API response JSON as `{ room-id: 'String' }`. It is required to modify or delete a room; to get a token for a room; and also to get the post

Rooms

A virtual room is a shared space for online collaboration hosted by a cloud service. An EnableX room is one such virtual meeting space that can be created using EnableX APIs to host WebRTC sessions. EnableX supports the following types of rooms:

Sender-ID

An alphanumeric `Sender-ID` allows you to set your company name or brand as the `Sender-ID` or the originator phone number when sending one-way SMS messages to many countries. In some countries like India and Indonesia, `Sender-ID` must be pre-registered for messages to be successfully sent. Some co

Shared Number

EnableX shared number is a long code that allows users to instantly rent a valid phone number for sending and receiving SMS messages. With a shared long code shared number, the sender must provide a keyword in order to route the incoming messages to the correct application.

Shared Sender ID

EnableX allows users to rent pre-registered `Sender-ID` so that they can send SMS messages right away without waiting for approvals.

Short Code

A short code, as the name implies, is a shortened long code that usually comprises of 5 or 6 digits. As compared to long code, a short code can generally handle larger volume of messages per second. You can use a short code number to send and receive SMS. A message received on a short code phone num

Stream

A stream is a multi-media content flow that can be played locally in an audio video player or transferred (published) to a server or a peer. A stream may contain different types of media tracks. For example, audio, video, screen, and so on through the initialization process as: var streamConfig = {

Subscription

It is a process in which an endpoint requests the EnableX platform to send remote users media to it. When the endpoint is successfully subscribed to receive the user media, EnableX sends the subscribed streams to the endpoint. When a stream is received by the endpoint, the stream can be played in a

Text-to-Speech

EnableX provides its own Text-To-Speech engine that can be used to play machine-generated speech for your callers.

Token

To join an EnableX-hosted session, a user or an endpoint requires a token. A token is temporary in nature, for one-time use, with a life-span of 120 minutes. Endpoints must connect to a room using a token within its life-span. When the token is validated, the endpoint is connected to the room. For a

Virtual Numbers

Virtual numbers are PSTN numbers, which are displayed as CLI on an end user's phone when the voice service application performs a voice call. Virtual numbers are also the dial-in phone numbers that an end-user calls to join a voice conference or an EnableX room conference.

Webhooks

Webhooks are an extension of an API to allow EnableX servers to send data to you. The SMS API makes HTTP requests to your application web server so that you can act upon them. For example, inbound SMS and delivery receipts.