Provider integration
Connect Vonage
Vonage integration for Oduist Connect.
Vonage (formerly Nexmo) as a cloud backend for Connect: inbound and outbound calls controlled with NCCO, a browser phone on the Vonage Client SDK, IVR call flows, recordings with transcription, voicemail, and SMS through the Messages API.
Almost all of the Vonage-side setup is done by Odoo. One sync creates the application with the right capabilities and webhook URLs, provisions a Vonage user per Connect user, imports the numbers and seeds the caller IDs — after which call control lives in Odoo as connect.ncco records and call flows rather than in a dashboard.
Call control is deliberately open-ended: an NCCO can be static JSON when that is enough, a jinja2 template when it needs the call’s context, or Python and a model method when the logic belongs in your own code. Calls, messages and recordings land in the shared Connect ledger, so Vonage can run beside Twilio, Telnyx, Asterisk and the rest in one database.
What it offers
-
The whole application provisioned for you
SYNC VONAGE ACCOUNTcreates a Vonage application with voice, messages and RTC capabilities, signed callbacks enabled and every webhook URL already pointing at your instance, stores the application ID and private key, creates a Vonage user for each Connect user, imports your numbers and seeds the outgoing caller IDs from them. -
Browser phone on the Vonage Client SDK
The systray web phone logs into the Client SDK with a JWT minted by Odoo, so no separate credentials are handed to the browser. Enable it per user with
Web Phone Enabled; calls to that user ring the browser through the applicationappendpoint. -
NCCO applications in four flavours
A
connect.nccorecord can be static JSON, jinja2-templated JSON, Python, or amodel.methodcall, with syntax checking on save and its own answer URL. Point a number straight at it, or give it an extension when a call flow is not enough. -
IVR call flows with DTMF or speech
Call flows render NCCO on the fly with a gather step whose input type you choose, prompts and invalid-input messages, and a voicemail record action at the end of the tree.
-
Number routing in Odoo
Imported numbers appear under
Connect → Numbers, each linked to the application, with a Destination of a user, a call flow, or an NCCO application. Re-running the sync after a domain change re-points all the webhooks. -
Recordings and voicemail pulled into Odoo
Vonage recording files need JWT authentication, so Odoo downloads them itself — a two-minute cron retries failures — and stores them as attachments, transcribing after the download. Voicemail messages are stored as recordings with source
voicemail. -
SMS through the Messages API
Send and receive SMS from the shared Connect message ledger, with inbound messages and status updates arriving on the same signed webhooks as voice.
Scope of the current version
- The
vonagePython package must be available in the Odoo environment. - Odoo must be reachable over public HTTPS — Vonage webhooks and the signed-callback JWTs require it. Verify
connect.api_urlbefore running the sync. - Vonage returns the application private key only when the application is created; reusing an existing application means pasting its ID and private key in by hand before syncing.
- Ring groups ring users sequentially — the NCCO
connectaction takes a single endpoint — and simultaneous ring is not available. - WhatsApp and MMS sending are not available in the current version, and neither is call transfer.
- The Browser Client SDK is marked in the specification as requiring live validation.
Installs with full features free for 30 days; buy the license inside the module.