Skip to main content

MCube Setup

This guide walks you through connecting your MCube account to Vocobase for outbound and inbound calling. MCube is a popular telephony provider in India with support for local and toll-free numbers.

Prerequisites

  • An MCube account with API access enabled
  • Your MCube JWT authentication token
  • Your MCube executive number
  • Every inbound DID in E.164 format
  • An approved Vocobase partner account with an API key

Step 1: Get your MCube credentials

1

Log in to MCube

Sign in to your MCube dashboard or contact your MCube account manager.
2

Get your JWT token

MCube uses JWT tokens for API authentication. You can find your token in the MCube dashboard under API Settings, or request it from MCube support.
Keep your JWT token secret. It provides full access to your MCube calling capabilities.
3

Get your executive number

The executive number is the agent/extension number assigned to your MCube account. It acts as the caller ID for outbound calls.Format: 4-15 digits, with an optional + prefix (e.g., +919876543210).

Step 2: Configure MCube in Vocobase

MCube is a first-class BYOP provider on the telephony connections model. Create a named connection (recommended — every connection gets a stable connection_id you can pass to POST /calls/start):
The exenumber is stored as the connection’s default phone number (national format is fine — no + required) and is used as the line your outbound calls are placed from.
The executive number identifies the MCube account; it is not the inbound DID list. Each dialed DID must be added separately before inbound calls can route to an agent.
Alternatively, the provider config shortcut below remains supported and creates or updates your default MCube connection:
A successful response confirms your credentials were saved:
Your JWT token is encrypted at rest and never returned in API responses.

Step 3: Add and assign inbound DIDs

MCube does not expose a DID inventory endpoint that Vocobase pulls. Add the DIDs manually to the selected connection with POST /api/v2/phone-numbers/sync. Use E.164 format even if MCube sends the webhook DID without +91; Vocobase handles national-format suffix matching during inbound routing.
The request is idempotent. DIDs already present on this connection and duplicate values in the same request are skipped:
List the connection’s numbers to obtain each DID row ID:
Assign the DID to an agent and enable inbound routing:
A DID may exist on more than one connection for outbound use, but only one active row for that DID can have inbound_enabled: true. This keeps inbound routing deterministic.
To remove a manually added DID, use its row ID. The default exeNumber cannot be deleted through this endpoint.

Step 4: Make a test call

Start an outbound call using the mcube provider:
If you omit the provider field in the call request, MCube is used by default.
If you have multiple MCube connections, pass connection_id to select one (omitting it with multiple active connections returns CONNECTION_AMBIGUOUS):

Troubleshooting

”MCube not configured” error

You will receive a 400 error if you try to make a call with "provider": "mcube" before configuring credentials. Run PUT /config/telephony/mcube with valid credentials.

”Invalid MCube credentials” error

  • Verify your JWT token has not expired — MCube tokens may have an expiration date
  • Confirm the executive number is correctly formatted (4-15 digits, optional + prefix)
  • Contact MCube support to verify your API access is active

Calls not connecting

  • Ensure the destination number is reachable from your MCube account
  • Check that your MCube account has sufficient balance
  • Verify that API-initiated calls are enabled on your MCube plan

Inbound call returns unknown_number

  • Confirm the dialed DID was added to the same MCube connection_id selected by the webhook’s exeNumber
  • Store the DID in E.164 format, for example +918071844607
  • Confirm the DID row has an owned agent_id and inbound_enabled: true
  • Use GET /api/v2/phone-numbers?provider=MCUBE&connection_id=... to inspect the current mapping

JWT token expired

MCube JWT tokens may have an expiration date. If calls start failing after a period of time, generate a new JWT token from MCube and update your configuration:

Updating credentials

To update your MCube credentials, call PUT /config/telephony/mcube again with the new values. Both fields (jwt_token, exe_number) are required each time. This updates your default MCube connection; additional named connections are managed through the connections API.

Next steps

Twilio Setup

Configure Twilio as an alternative telephony provider.

Quick Start

Create an agent and make your first call.