Skip to main content

Overview

Vonage (formerly Nexmo) is a cloud communications platform that provides global voice, messaging, and video capabilities. Dograh AI’s Vonage integration enables high-quality voice interactions with your agents using Vonage’s robust infrastructure.

Prerequisites

Before setting up Vonage integration, you’ll need:
  • A Vonage account
  • Vonage Application with Voice capability enabled
  • Application ID and Private Key from your Vonage Dashboard
  • At least one Vonage phone number
  • Dograh AI instance running and accessible

Video Tutorial

Watch this step-by-step guide to set up Vonage with Dograh AI:

Configuration

Step 1: Create Vonage Application

  1. Log in to your Vonage Dashboard
  2. Navigate to ApplicationsCreate a new application
  3. Enable Voice capability
  4. Generate a private key (save this securely - you’ll need it)
  5. Note your Application ID

Step 2: Get API Credentials

  1. Find your API Key and API Secret in the dashboard under API Settings
  2. Navigate to NumbersYour Numbers
  3. Copy your phone number(s)
  4. Link your numbers to your application

Step 3: Configure in Dograh AI

  1. Navigate to WorkflowPhone CallConfigure Telephony
  2. Watch the Vonage setup video tutorial above for detailed guidance
  3. Select Vonage as your provider
  4. Enter your credentials:
    • Application ID
    • Private Key (entire key including BEGIN/END lines)
    • API Key (Optional - for some operations)
    • API Secret (Optional - for webhook verification)
    • From Phone Number (without ’+’ prefix, e.g., 14155551234)
  5. Click Save Configuration

Step 4: Test Your Configuration

  1. Create a test workflow
  2. Click “Test Call” to verify connection
  3. Check call logs for successful connection

How It Works

Technical Details

Vonage integration differs from other providers in key ways:
  • Audio Format: Uses 16kHz Linear PCM (vs Twilio’s 8kHz μ-law)
  • Protocol: NCCO (Nexmo Call Control Objects) instead of TwiML
  • Authentication: JWT-based authentication using private keys
  • WebSocket: Binary audio frames instead of base64-encoded

Call Flow

  1. Dograh AI generates a JWT token using your private key
  2. Call is initiated via Vonage Voice API
  3. Vonage requests NCCO instructions at the webhook URL
  4. Dograh returns WebSocket connection details
  5. Audio streams as 16kHz PCM over WebSocket
  6. Real-time voice interaction occurs with your agent

NCCO Response Example

[
  {
    "action": "connect",
    "endpoint": [{
      "type": "websocket",
      "uri": "wss://your-domain/api/v1/telephony/ws/123/456/789",
      "content-type": "audio/l16;rate=16000",
      "headers": {}
    }]
  }
]

Campaign Features

When using Vonage with campaigns:
  • Global Reach: Excellent international call quality and coverage
  • Number Pool Management: Automatic rotation of configured numbers
  • Call Analytics: Detailed metrics via Vonage Dashboard
  • Cost Tracking: Per-call cost calculation for billing

Audio Quality Optimization

Vonage uses higher quality audio (16kHz) which provides:
  • Clearer voice reproduction
  • Better speech recognition accuracy
  • More natural-sounding TTS output
  • Reduced transcription errors

Troubleshooting

  • Ensure “Voice” is enabled in your Vonage application
  • Verify the application ID matches your configuration
  • Check that your phone numbers are linked to the application
  • Verify your private key is complete (including BEGIN/END lines)
  • Check the Application ID is correct
  • Ensure the private key hasn’t been regenerated in Vonage Dashboard
  • Remove the ’+’ prefix for Vonage (use 14155551234 not +14155551234)
  • Ensure numbers are in E.164 format without the ’+’
  • Verify numbers are active in your Vonage account
  • Verify WebSocket connection is established
  • Check audio pipeline is configured for 16kHz PCM
  • Monitor WebSocket for binary audio frames
  • Review VAD (Voice Activity Detection) settings
  • Check WebSocket heartbeat/ping-pong frames
  • Verify no timeout in load balancer/proxy
  • Monitor for audio pipeline errors
  • Review max call duration settings

Best Practices

  • Security: Private keys are stored securely in the database
  • Testing: Use Vonage Voice Inspector for debugging call issues
  • Numbers: Configure multiple numbers for redundancy
  • Monitoring: Set up alerts in Vonage Dashboard for failures
  • Cost Management: Monitor usage to control costs

Cost Considerations

Vonage pricing includes:
  • Per-minute charges for calls
  • Phone number rental fees
  • Optional features (recording, transcription)
Check Vonage pricing for current rates.

Advanced Configuration

Custom Headers

Add custom headers to WebSocket connections:
# In your webhook response
"headers": {
    "X-Custom-Header": "value",
    "Authorization": "Bearer token"
}

Call Recording

Enable call recording via NCCO:
{
  "action": "record",
  "eventUrl": ["https://your-domain/recording-webhook"],
  "format": "mp3"
}

API Differences from Twilio

FeatureTwilioVonage
Audio Format8kHz μ-law16kHz Linear PCM
Control FormatTwiML (XML)NCCO (JSON)
AuthenticationBasic AuthJWT
WebSocket DataBase64 textBinary frames
Phone FormatWith ’+‘Without ’+‘

Next Steps

  • Test your Vonage integration with a simple workflow
  • Configure VAD settings for optimal voice detection
  • Set up monitoring and alerts
  • Explore advanced features like call recording