--- title: "Vonage Integration" description: "Configure Vonage (Nexmo) for voice communication in Dograh AI" --- ## 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](https://www.vonage.com/communications-apis/) - 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](https://dashboard.nexmo.com/) 2. Navigate to **Applications** → **Create 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 **Numbers** → **Your Numbers** 3. Copy your phone number(s) 4. Link your numbers to your application ### Step 3: Configure in Dograh AI 1. Navigate to **Workflow** → **Phone Call** → **Configure 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 ## Inbound Calling **Coming Soon**: Inbound calling support for Vonage is currently under development and will be available in a future release. For now, Vonage integration supports outbound calling only. Vonage integration currently supports outbound calling. Inbound calling functionality is being developed and will include: - Webhook configuration for incoming calls - NCCO response handling - Event tracking for call lifecycle management - WebSocket audio streaming for inbound calls For inbound calling needs, consider using [Twilio](/integrations/telephony/twilio), [Cloudonix](/integrations/telephony/cloudonix), or [Vobiz](/integrations/telephony/vobiz) which have full inbound support. ## 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 - Verify Answer URL is correctly configured in Vonage application - Ensure Answer URL is publicly accessible and returns valid NCCO - Check that phone numbers are linked to the correct application - Verify Event URL is configured for call tracking - Confirm NCCO response includes correct WebSocket endpoint - Check that organization_id in Event URL matches your setup - Verify voice agent workflow is properly configured - Review webhook logs for error responses ## 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](https://www.vonage.com/communications-apis/voice/pricing/) for current rates. ## Advanced Configuration ### Custom Headers Add custom headers to WebSocket connections: ```python # In your webhook response "headers": { "X-Custom-Header": "value", "Authorization": "Bearer token" } ``` ### Call Recording Enable call recording via NCCO: ```json { "action": "record", "eventUrl": ["https://your-domain/recording-webhook"], "format": "mp3" } ``` ## API Differences from Twilio | Feature | Twilio | Vonage | |---------|---------|---------| | Audio Format | 8kHz μ-law | 16kHz Linear PCM | | Control Format | TwiML (XML) | NCCO (JSON) | | Authentication | Basic Auth | JWT | | WebSocket Data | Base64 text | Binary frames | | Phone Format | With '+' | 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