Add high-performance, fully programmable video to any application with the new SignalWire Video API

SignalWire 101

Introduction guide for the first-time SignalWire user

This guide marks the beginning of a series that will take us on a trip through all of SignalWire’s features and offerings with Luca Pradovera, lead solutions architect at SignalWire.

Today, we will be going through a crash course that will have us receiving your first phone call on your SignalWire account.

First of all, we will register for a new SignalWire account. Let’s go to the home page and click on Sign Up in the top right. Enter your email and we are off to the races!

You will receive an email with a confirmation link, and by clicking it you will end up on the account setup page. The first field to fill in is the Space name. What is a Space, you will ask? It is your personal SignalWire domain to which all services are tied.

The rest are just the usual sign up fields.

Bonus: When you register a SignalWire Space, you will be given $5 of starting credit. If you choose to add a payment method during the registration process, you will be given an additional $25 of credit!

Once we are signed up, we will find ourselves on the Dashboard, the command center of your SignalWire account.

Your first step will be setting up a Project. They are used to group up resources according to your preference, such as by customer account, by geographical region, or any other classification.

To set up an inbound phone call, we will need two elements: a phone number, and a LāML bin to handle the call. Let’s start from the LāML bin. Click on LāML, then pick the Bins entry from the menu, and hit New.

You might be wondering what LāML is. It is our XML-flavored markup language, and each document describes a behavior for your call. For example, in this tutorial we will be creating an “Hello World” document that will just say that phrase using text-to-speech.

Documentation on LāML is available on the SignalWire website.

The <Say> tag is the relevant part here. It has many options, and support for quite a few languages. We will stay with the defaults for now, but you can find more information here.

Here is how your bin contents should look like:

<?xml version="1.0" encoding="UTF-8"?>
  <Say>Hello World.</Say>

Save your LāML bin and one side of our call is set up.

Next, you will need a phone number. Click “Phone numbers”, hit “New”, and pick a number you like. We support searching by area code and specific strings of text. I recommend starting with a local number.

Now we have two more steps to go through: the first is pointing our new phone number to the LaML bin we created earlier, and after we do that we will need to verify another number to be able to dial in.

We will quickly go back to the LāML page and copy the bin’s URL, then set this as the handler for the number.

Click “Edit Settings” on the phone number detail page, set the handler as “LāML Webhooks, and put your URL in the “When a call comes in:” field, then hit Save.

Trial accounts are limited to interacting with verified phone numbers, both inbound and outbound. You can also add a credit card to your account and deposit some credit to exit trial mode.

Let’s quickly get a number verified by hitting “Phone Numbers” then picking “Verified”. Just add a new number, and put in your own cell phone. You will receive a phone call that will give you a six digit code, which you can simply enter in the form.

It is now time to test our setup: using the verified phone, place a call to the DID you bought. You will be greeted with the familiar words all developers like to hear, “Hello World!”.