Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vocobase.com/llms.txt

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

VoiceLink Setup

This guide walks you through connecting your VoiceLink account to Vocobase for outbound calling.
Configure VoiceLink with the Partner API (PUT /api/v2/config/telephony/voicelink). Once VoiceLink is configured, start calls programmatically using POST /calls/start with "provider": "voicelink".

Prerequisites

  • A VoiceLink account with a panel username and password
  • At least one VoiceLink DID (phone number) provisioned for outbound voice
  • An approved Vocobase partner account with "voicelink" present in allowed_telephony_providers (check GET /config)
If "voicelink" is not yet listed in your partner config’s allowed_telephony_providers, contact your Vocobase account manager to enable it.
1

Find your VoiceLink panel sign-in

Use the same username and password you use to sign in to the VoiceLink panel. Vocobase logs in with these to obtain a short-lived access token when it calls the VoiceLink API on your behalf — your password is stored encrypted and never sent back to you.
These credentials grant full access to your VoiceLink account. Treat them like any other production secret.
2

Identify the DID you will call from

Copy the VoiceLink number you plan to use as the caller ID.The number must be in E.164 format (e.g., +918011223344) and must be enabled for outbound voice.
Send the credentials through the Partner API. username, password, and from_number are required; base_url is optional and defaults to the VoiceLink API host.
curl -X PUT https://api.vocobase.com/api/v2/config/telephony/voicelink \
  -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "acme-voice",
    "password": "your-voicelink-password",
    "from_number": "+918011223344"
  }'
A successful response confirms credentials were stored:
{
  "success": true,
  "data": {
    "username": "acme-voice",
    "from_number": "+918011223344",
    "base_url": null,
    "message": "VoiceLink credentials updated successfully."
  }
}
Your password is encrypted at rest and never returned in API responses.

Optional: custom base URL

If VoiceLink gave you a dedicated API host, pass it as base_url. Omit the field to use the default host.
curl -X PUT https://api.vocobase.com/api/v2/config/telephony/voicelink \
  -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "acme-voice",
    "password": "your-voicelink-password",
    "from_number": "+918011223344",
    "base_url": "https://app.voicelink.co.in"
  }'
Fetch your partner configuration — the response should now include VoiceLink in allowed_telephony_providers:
curl -X GET https://api.vocobase.com/api/v2/config \
  -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012"
{
  "success": true,
  "data": {
    "name": "acme-corp",
    "allowed_telephony_providers": ["twilio", "voicelink"],
    "telephony": {
      "twilio": { "configured": true, "account_sid": "conf****ured", "from_number": "+14155551111" },
      "voicelink": { "configured": true, "allowed": true, "username": "acme-voice", "base_url": null, "from_number": "+918011223344" }
    },
    "...": "..."
  }
}
telephony.voicelink.configured: true confirms the credentials and from-number landed. Presence in allowed_telephony_providers is what gates your ability to start a VoiceLink call — if VoiceLink isn’t in that list, contact your Vocobase account manager to enable it.

Step 4: Make a test call

Start an outbound call with "provider": "voicelink":
curl -X POST https://api.vocobase.com/api/v2/calls/start \
  -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "to_number": "+919876543210",
    "provider": "voicelink"
  }'
{
  "success": true,
  "data": {
    "call_id": "c1234567-abcd-1234-abcd-123456789012",
    "session_id": "s1234567-abcd-1234-abcd-123456789012",
    "status": "pending",
    "provider": "voicelink",
    "from_number": "+918011223344",
    "to_number": "+919876543210",
    "agent_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}
VoiceLink uses a Generic WebSocket media model. Vocobase manages the media path; partners only need to configure credentials and pass "provider": "voicelink" when starting calls.
Inbound calling and call transfer are not yet supported for VoiceLink. Outbound is the supported path today.

Managing DIDs

The from_number you send is stored as the default outbound DID. To manage multiple VoiceLink DIDs and assign a specific agent to each, use the Telephony settings in your Vocobase dashboard — add your VoiceLink numbers and pick the agent that should use each one.

Troubleshooting

  • Confirm "voicelink" is in allowed_telephony_providers from GET /config. If it is not, contact your Vocobase account manager.
  • Confirm username, password, and a from_number were saved (telephony.voicelink.configured: true).
  • Re-check the credentials against the VoiceLink panel sign-in. Re-send PUT /config/telephony/voicelink with the correct values.

Calls ring but drop immediately

  • Confirm the destination number is reachable from your VoiceLink account.
  • Check the VoiceLink panel call logs for the exact drop reason.

Caller ID shows the wrong number

  • The from_number saved on your Vocobase VoiceLink connection must match a number VoiceLink has provisioned for your account, in E.164 format. Update it via PUT /config/telephony/voicelink if it does not.

Updating credentials

Changed your VoiceLink password? Re-send PUT /api/v2/config/telephony/voicelink with the new password. This endpoint always requires username, password, and from_number together, so include all three (plus base_url if you use a custom host) whenever you update.

Next steps

Bring Your Own Phone

Overview of all supported BYOP providers.

Quick Start

Create an agent and make your first call.