Setup: Vonage
Vonage (formerly Nexmo) offers strong international coverage and competitive pricing. It uses a different API model than Twilio — Vonage Applications group your number, webhooks, and credentials together.
Prerequisites
- A Vonage account (free credit available)
- Your Llamenos instance deployed and accessible via a public URL
1. Create a Vonage account
Sign up at the Vonage API Dashboard. Verify your account and note your API Key and API Secret from the dashboard home page.
2. Buy a phone number
- Go to Numbers > Buy numbers in the Vonage Dashboard
- Select your country and choose a number with Voice capability
- Purchase the number
3. Create a Vonage Application
Vonage groups configuration into “Applications”:
- Go to Applications > Create a new application
- Enter a name (e.g., “Llamenos Hotline”)
- Under Voice, toggle it on and set:
- Answer URL:
https://your-domain.com/api/telephony/incoming(POST) - Event URL:
https://your-domain.com/api/telephony/status(POST)
- Answer URL:
- Click Generate new application
- Save the Application ID shown on the confirmation page
- Download the private key file — you will need its contents for configuration
4. Link the phone number
- Go to Numbers > Your numbers
- Click the gear icon next to your hotline number
- Under Voice, select the Application you created in step 3
- Click Save
5. Configure in Llamenos
- Log in as admin
- Go to Settings > Telephony Provider
- Select Vonage from the provider dropdown
- Enter:
- API Key: from the Vonage Dashboard home page
- API Secret: from the Vonage Dashboard home page
- Application ID: from step 3
- Phone Number: the number you bought (E.164 format)
- Click Save
6. Test the setup
Call your hotline number. You should hear the language selection menu. Verify that calls route to on-shift volunteers.
WebRTC setup (optional)
Vonage WebRTC uses the Application credentials you already created:
- In Llamenos, go to Settings > Telephony Provider
- Toggle WebRTC Calling on
- Enter the Private Key contents (the full PEM text from the file you downloaded)
- Click Save
The Application ID is already configured. Vonage generates RS256 JWTs using the private key for browser authentication.
Vonage-specific notes
- NCCO vs TwiML: Vonage uses NCCO (Nexmo Call Control Objects) in JSON format instead of XML markup. The Llamenos adapter generates the correct format automatically.
- Answer URL format: Vonage expects the answer URL to return JSON (NCCO), not XML. This is handled by the adapter.
- Event URL: Vonage sends call events (ringing, answered, completed) to the event URL as JSON POST requests.
- Private key security: The private key is stored encrypted. It never leaves the server — it is only used to generate short-lived JWT tokens.
Troubleshooting
- “Application not found”: Verify the Application ID matches exactly. You can find it under Applications in the Vonage Dashboard.
- No incoming calls: Make sure the phone number is linked to the correct Application (step 4).
- Private key errors: Paste the full PEM content including the
-----BEGIN PRIVATE KEY-----and-----END PRIVATE KEY-----lines. - International number formatting: Vonage requires E.164 format. Include the
+and country code.