Twilio Client Quickstart App
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src/main Improve Logger Mar 30, 2017
pom.xml Improve Logger Mar 30, 2017

Twilio Client Quickstart for Java

This application should give you a ready-made starting point for writing your own voice apps with Twilio Client. Before we begin, we need to collect all the config values we need to run the application:

Config Value Description
Account SID Your primary Twilio account identifier - find this in the console here.
Auth Token Used to authenticate - just like the above, you'll find this here.
TwiML App SID The TwiML application with a voice URL configured to access your server running this app - create one in the console here. Also, you will need to configure the Voice "REQUEST URL" on the TwiML app once you've got your server up and running.
Twilio Phone # A Twilio phone number in E.164 format - you can get one here

Setting Up The Java Application

This application uses the lightweight Spark Framework, and requires Java 8 and Maven.

Mac & Linux

Begin by creating a configuration file for your application:

cp .env.example .env

Edit .env with the four configuration parameters we gathered from above. Export the configuration in this file as system environment variables like so on Unix based systems:

source .env

Windows (PowerShell)

Begin by creating a configuration file for your application:

cp .env.example.ps1 .env.ps1

Edit .env.ps1 with the four configuration parameters we gathered from above. "Dot-source" the file in PowerShell like so:

. .\.env.ps1

This assumes you will run the application in the same PowerShell session. If not, edit the .env.ps1 and uncomment the [Environment]::SetEnvironmentVariable calls. After re-running the script, the environment variables will be peramently set for your user account.

All Platforms

Next, we need to install our depenedencies from Maven and compile our application code:

mvn package

Run the application using the java -jar command.

java -jar target/client-quickstart-1.0-SNAPSHOT.jar

Your application should now be running at http://localhost:4567.

There's just a few more steps to get Twilio's voice infrastructure talking to your server.

  1. Download and install ngrok

  2. Run ngrok:

    ngrok http 4567
  3. When ngrok starts up, it will assign a unique URL to your tunnel. It might be something like Take note of this.

  4. Configure your TwiML app's Voice "REQUEST URL" to be your ngrok URL plus /voice. For example:

    screenshot of twiml app

You should now be ready to rock! Make some phone calls. Open it on another device and call yourself. Note that Twilio Client requires WebRTC enabled browsers, so Edge and Internet Explorer will not work for testing. We'd recommend Google Chrome or Mozilla Firefox instead.

screenshot of phone app