CallPal

Connect Twilio to CallPal

Create a Twilio Elastic SIP Trunk with a Credential List, allow the countries you call and connect it to CallPal as a trunk — about twenty minutes on a paid Twilio account.

Before you start

  • A CallPal account. The 14-day trial is enough — no card required.
  • In CallPal, permission to manage SIP trunks. Owners and admins have it by default.
  • A paid Twilio account. SIP trunking is not available on a Twilio trial — upgrade from the Trial banner in the console first.
  • Owner or Administrator access to that Twilio account: only those roles can change which countries it may call.
  1. Buy the number your calls will come from

    In the Twilio console, go to Phone Numbers → Manage → Buy a number and buy one local to the people you call. Twilio only lets a call show a number that is on your account.

  2. Create an Elastic SIP Trunk

    Go to Elastic SIP Trunking → Manage → Trunks and press Create new trunk. Give it a name you will recognise, such as CallPal.

  3. Give it a Termination SIP URI and a Credential List

    Open the trunk’s Termination section and choose a Termination SIP URI — letters, digits and dashes, ending in .pstn.twilio.com. This is the host CallPal dials.

    Under Authentication, press Create Credential List and add a username and a strong password. Leave IP Access Control Lists empty: CallPal signs in with the credentials instead.

    acme-callpal.pstn.twilio.com
  4. Allow the countries you call

    Go to Voice → Settings → Geo permissions, tick each country your team calls, and save. Twilio refuses a call to a country that is not ticked, however correct the trunk is.

  5. Add the trunk in CallPal

    In CallPal, open Settings → SIP Trunks and press Add Trunk. Give it a Name you will recognise in the call log — "Twilio" is usually the right one.

    Pick Twilio as the Provider template. It selects Credentials (no registration) as the authentication method for you: Twilio does not accept a registration on a trunk, and instead asks for the username and password on each call.

    Replace the placeholder in SIP server host with your own Termination SIP URI from step 3, then enter the Credential List Username and Password. Your password is written to a secrets manager, never to the trunk record.

  6. Add your number as the caller ID

    Under Phone numbers (DIDs), enter the number from step 1 in E.164 format — a plus sign, the country code, then the number. Calls placed through this trunk present it.

    A number that is not on your Twilio account will be rejected by Twilio, not by CallPal.

    +14155550123
  7. Test the trunk, then activate it

    A trunk you have just added reads Pending, with Health Unknown. That is expected, not a fault.

    Press Test to probe Twilio immediately. When the probe succeeds, Health reports Up. Then press Activate to enable the trunk — Status moves to Active straight away and your team can call.

    If Status settles on Failed or Health reads Down, the host or the credentials are wrong — check the Termination SIP URI and the Credential List against what you entered.

What you configure

Provider template
Twilio. Fills in the port and audio settings Twilio documents and a placeholder host; you can still change any of them.
SIP server host
Your trunk’s own Termination SIP URI, ending in .pstn.twilio.com. The template’s placeholder must be replaced with it.
Authentication method
Credentials (no registration), selected by the template. Twilio challenges each call and CallPal answers with the Credential List login.
Username and Password
The pair you added to the trunk’s Credential List. The password is stored in a secrets manager, not on the trunk record.
Phone numbers (DIDs)
The Twilio number your calls present as caller ID, in E.164 format. It must be on the same Twilio account.

What it does not do

Worth reading before you roll this out to a team — some of these are how CallPal works, others are the carrier’s own rules.

  • CallPal is outbound only. No inbound routing, no IVR, no predictive dialing.
  • You pay Twilio directly for numbers and minutes, at Twilio’s rate. CallPal does not resell phone service, so nothing about calling cost passes through your CallPal plan.
  • A Twilio trial account cannot be used — Twilio does not offer SIP trunking until the account is upgraded.
  • The caller ID must be a number on your Twilio account. Twilio rejects any other.
  • CallPal connects to Twilio with a Credential List only, not an IP Access Control List. Every CallPal workspace calls from the same address, so an address-only trunk could not tell your calls from anyone else’s.
  • A new Twilio account without an approved Business Profile has a low limit on simultaneous calls, which caps how many reps can dial at once.

Questions

What does calling cost?

Whatever Twilio charges you — there is no CallPal markup, because CallPal never bills minutes. Twilio bills your account directly; your CallPal plan is the same however much you dial.

I can only run a few calls at once.

A new Twilio account without an approved Business Profile has a low limit on simultaneous calls. Complete the Business Profile in the Twilio console to raise it.

The trunk tests fine but every call fails.

Check the Geo permissions from step 4, and that the caller ID is a number on your Twilio account.

Can I use a number I already have on Twilio?

Yes. Skip buying one and enter your existing Twilio number as the caller ID in CallPal. Twilio only lets a call show a number that is on your account, so a number held elsewhere will not work.

Should I use an address like acme.pstn.ashburn.twilio.com?

Only if you want calls pinned to one Twilio location. The plain .pstn.twilio.com address lets Twilio pick, which is the simpler choice.

Still stuck?

Write to [email protected] with your account name and what you saw. A person answers.