Documentation menu

Calls

Phone lines

Callers dial your number, pick their language and talk to your agents in theirs. Twilio numbers, SIP trunks and outbound calls.

A phone can take either side of a call. Callers need no app and no link: they dial, choose a language, and talk.

Connect Twilio#

  1. In Spiiksi, open API & integrations → Connectors → Twilio. Enter your Twilio Account SID, Auth Token and number, your agents' language, and the languages callers may choose (up to nine, in menu order). Connect.
  2. Spiiksi shows a voice webhook URL. In the Twilio console, open the number and under Voice configuration → A call comes in choose Webhook, paste the URL, method HTTP POST. Save.
  3. Call the number.

What a caller hears#

A menu with each language in its own words, for example:

For English, press 1. Para español, pulse 2. Українською — натисніть 3.

With one language there is no menu. After the key press the caller hears "One moment, connecting you to our support" in their language and joins a new call as its customer side. Your agents see it under Calls in Spiiksi, and your systems get `call.created` with the caller's number in metadata.from and Twilio's call sid as external_id. An agent presses Join and they talk, each in their own language.

Every request from Twilio is checked against your Auth Token (X-Twilio-Signature), so nobody else can start calls through your connector.

Ring a customer#

Start a call, then dial a phone into a side of it:

Shell
CALL_ID=$(curl -s https://api.spiiksi.fi/v1/calls \
  -H "Authorization: Bearer $SPIIKSI_KEY" -H "Content-Type: application/json" \
  -d '{"agent_language": "fi", "customer_language": "uk"}' | jq -r .id)

curl https://api.spiiksi.fi/v1/calls/$CALL_ID/dial \
  -H "Authorization: Bearer $SPIIKSI_KEY" -H "Content-Type: application/json" \
  -d '{"to": "+358401234567", "side": "customer"}'

The phone rings from your Twilio number; when it's answered, the line plays that side. The side's language must be set first. Dialling needs the Twilio connector and a live key.

SIP trunks and PBXs through Twilio#

Anything that reaches Twilio over SIP arrives like a call to your number:

  • Elastic SIP Trunking: point the trunk's origination at your Twilio number.
  • SIP Domain: create a domain in Twilio, set its A call comes in webhook to the same voice URL, and route calls from your PBX to sip:support@<domain>.sip.twilio.com.

Contact-center platforms (Genesys Cloud BYOC, Avaya, Cisco, Asterisk, 3CX…) can transfer or route a call to that number or SIP address. To connect an Asterisk PBX directly, without Twilio, see SIP with AudioSocket.

Good to know#

  • The line carries 8 kHz audio; Spiiksi resamples it for the interpreter and back.
  • While the caller hears the interpretation, the line sends silence, so the handset doesn't carry it back into the call.
  • A phone call is billed like any call (per minute per side while it is interpreted), plus whatever Twilio charges you for the line.