How it works
In the dashboard, a carrier connection is a trunk with its own address, a name under sip.vorelai.com. Your carrier sends your number’s calls to that address, and the agent answers. Carriers share their addresses with all their customers, so the address is what tells us the calls are yours: keep it to yourself, like a password. If it ever leaks, make a new one on Phone system and give that to your carrier.
Your carrier keeps billing your number and its minutes as before. Our part of a call is shown separately; see What a call costs.
Twilio or Telnyx: connect with a key
In setup’s Connect step, or under Phone system → Add a trunk, pick Twilio or Telnyx and paste a key from your account. We list the numbers in it, you tick the ones the agent should answer (up to 20), and we set the rest up there:
- one trunk (Twilio) or SIP connection (Telnyx) named “Vorelai: ” and your trunk’s name, pointed at your trunk’s address (on Telnyx, with wideband audio first);
- the numbers you ticked, moved onto it;
- on Twilio, transfers to the phone network switched on, so the agent’s transfers and your fallback work.
Switch on Encrypt calls before connecting and the calls come over TLS with SRTP audio, so nobody between your carrier and us can listen in.
Nothing else in your account is changed, and nothing is bought. The key is used once and not kept: delete it at your carrier as soon as the numbers show as connected. A new trunk takes up to a minute to reach our phone server, then call your number to try it.
Which Twilio key
- A Standard API key, from Twilio Console → Settings → Account settings → API keys & auth tokens. Restricted keys can’t make SIP trunks. Your Account SID (it starts with AC) is on the Console’s home page.
- Using subaccounts? Make the key in the one that holds the number, so it reaches nothing else. A subaccount just for Vorelai is the tidiest way.
- No API key? The Auth Token works too: leave the key SID empty and put the token in the secret.
Which Telnyx key
Any key from Mission Control → API Keys. A Telnyx key reaches your whole account, so delete it once this is done. On Telnyx, the agent’s transfers need one more step for now: add an Outbound Voice Profile to the connection we made, one that allows the countries you transfer to.
Disconnecting
A trunk connected this way has Disconnect in its settings. It asks for a key again, removes the trunk or connection we made at your carrier, puts your numbers back as they were, and deletes the trunk here.
Set it up by hand
For any other carrier, or if you’d rather click through it yourself. The dashboard shows your trunk’s address on its card; the steps below call it “the address from the card”.
Twilio
- In the Twilio Console, open Elastic SIP Trunking → Trunks → Create new SIP Trunk. Call it Vorelai.
- Origination → Add new Origination URI: the address from the card, with priority 10 and weight 10.
- Numbers → Add an Existing Number: the number your callers dial. Its calls now come to the agent.
- General → Call Transfer (SIP REFER): switch it on, allow transfers to the phone network, and keep the caller ID of the transferee. The agent’s transfers and your fallback need it.
- Termination → Termination SIP URI: pick one, like yourbusiness.pstn.twilio.com, and enter it as the transfer host. Twilio places transferred calls through it.
To encrypt calls: Switch on Secure Trunking under General, and add ;transport=tls to the end of the origination URI.
Menus differ between versions. If yours doesn’t match, Twilio: Elastic SIP Trunking has the vendor’s own steps.
Telnyx
- In the Mission Control Portal, open Voice → SIP Trunking → Create SIP Connection. Type: FQDN. Call it Vorelai.
- Inbound → Add FQDN: the address from the card without sip:, record type A, port 5060.
- Inbound settings: number format +E.164. Codecs: G.722 first, then G.711U and G.711A.
- Outbound: give the connection an Outbound Voice Profile that allows your fallback’s country. Telnyx places transferred calls with it. The transfer host is sip.telnyx.com, filled in for you.
- Numbers: assign the number your callers dial to this connection. Its calls now come to the agent.
To encrypt calls: In the connection’s inbound settings, set the transport protocol to TLS, port 5061, and encrypted media to SRTP.
Menus differ between versions. If yours doesn’t match, Telnyx: SIP connection settings has the vendor’s own steps.
Another carrier
- Find where your carrier sends a number’s calls to a SIP address. It may be called an origination URI, SIP URI forwarding or an FQDN trunk.
- Enter the address from the card, port 5060, UDP or TCP. Your carrier must send to that name, not to an IP address: the name is how we know the calls are yours.
- Send the number as dialled, in full with its country code (+12025550100). Allow G.722 first, then G.711 µ-law or A-law.
- For transfers, allow SIP REFER on the trunk, and enter the host your carrier wants transfers sent to as the transfer host.
- Assign the number your callers dial to this trunk.
To encrypt calls: If your carrier can, have it send over TLS to port 5061, with SRTP audio.
Some carriers only let a phone system sign in to them, and can’t send calls to an address. Those need a PBX in between; see Connect your PBX.
The transfer host
When the agent transfers a call, or a call goes to your fallback, we hand it back to your carrier to ring the number. The transfer host says where your carrier wants that sent: on Twilio, your trunk’s termination address (like yourbusiness.pstn.twilio.com); on Telnyx, sip.telnyx.com, filled in for you. Without one, transfers go back to the address the call came from, which many carriers refuse.
Several numbers, several agents
Every number on the trunk reaches the trunk’s default agent. To have a number answered by another agent, add it under Phone system → Numbers and pick the agent. Numbers must arrive in full with their country code, like +442079460000.
Keeping the number you have
If your callers know a mobile or landline number that stays where it is, forward it to your carrier number. Keep the number your callers know has the codes and the steps.