Comprehensive guide to telephony providers that integrate with Ultravox.
medium
that must be used when creating calls.
Provider | Call Medium | Streaming API |
---|---|---|
Twilio | "twilio": {} | Media Streams |
Telnyx | "telnyx": {} | Media Streaming |
Plivo | "plivo": {} | AudioStream |
Exotel | "exotel": {} | Voice Streaming |
Create an Ultravox Call
medium: { "twilio": {} }
, firstSpeakerSettings: { user: {} }
, and get a joinUrl
.Connect Ultravox to the Twilio Phone Call
joinUrl
with a Twilio <Stream>
:Create an Ultravox Call
medium: { "twilio": {} }
and firstSpeakerSettings
set to { agent: {} }
.Connect the Inbound Twilio Call to Ultravox
joinUrl
with a Twilio <Stream>
:Create an Ultravox Call
medium: { "telnyx": {} }
, firstSpeakerSettings: { user: {} }
, and get a joinUrl
.Connect Ultravox to the Telnyx Phone Call
joinUrl
with a TeXML <Stream>
:Create an Ultravox Call
medium: { "telnyx": {} }
and firstSpeakerSettings
set to { agent: {} }
.Connect the Inbound Telnyx Call to Ultravox
joinUrl
with a TeXML <Stream>
:codec
codec
and bidirectionalCodec
. The former controls user audio while the latter controls agent audio. When using with Ultravox, these must have the same value because Telnyx only tells us about one of them! If your users are mostly in Europe, you’ll likely want to set both to PCMA. Otherwise setting both to PCMU is preferred but leaving them both unset is fine to get started.Create an Ultravox Call
medium: { "plivo": {} }
, firstSpeakerSettings: { user: {} }
, and get a joinUrl
.Connect Ultravox to the Plivo Phone Call
joinUrl
with AudioStream:audio/x-l16;rate=16000
. However, any contentType supported by Plivo will work with Ultravox.Create an Ultravox Call
medium: { "plivo": {} }
and firstSpeakerSettings
set to { agent: {} }
.Connect the Inbound Twilio Call to Ultravox
joinUrl
with AudioStream:Add Your Carrier in jambonz
Add a Speech Provider in jambonz
Create a New jambonz Application
Add a Phone Number in jambonz
llm
verb in the jambonz docs.
phoneNumber
) and points to the jambonz application that defines how the call should be handled. Find the APPLICATION_SID
in the jambonz portal by clicking on the application you created during the setup process.