How It Works
Return After 3rd Party Call) or by SigmaMind transferring into a Five9 inbound number. Both patterns are covered below.
On the SigmaMind side, only one inbound SIP call is ever visible — exactly as with VICIdial.
SigmaMind SIP Server Details
All calls from Five9 to SigmaMind are directed to the following SIP server:| Field | Value |
|---|---|
| SIP Server URI | 28y698lhv2f.sip.livekit.cloud |
| Full Dial Destination | +1XXXXXXXXXX@28y698lhv2f.sip.livekit.cloud |
| Transport | UDP, TCP, or TLS |
| Media Encryption | SRTP supported |
+1XXXXXXXXXX with the number Five9 will transfer the call to — the same number you register in SigmaMind under Phone Numbers → Connect via SIP Trunking, where:
- Phone Number = the number Five9 dials when it hands the call to SigmaMind
- Terminal URI = your carrier or trunk’s SIP termination URI (e.g.
f111.dialmake.com) — this points back to your telephony provider / trunk, not to SigmaMind
28y698lhv2f.sip.livekit.cloud) is what Five9 transfers into — it belongs in your Five9 routing only, not in this SigmaMind dashboard field.
Choose Your Connection Method
Because Five9 is a managed cloud platform, the call has to physically reach the SigmaMind SIP server through one of two paths. Pick the one that matches your deployment.Method A — Dedicated SIP trunk via Five9 Point of Presence (recommended for production)
SigmaMind connects to your Five9 environment over a dedicated SIP trunk peered with the Five9 Point of Presence (PoP) serving your account. This keeps call media on a single, direct SIP path — no third-party carrier hop in the middle — which gives the lowest latency, the cleanest audio for the AI, and a static, allowlistable connection that passes enterprise security review.- You are running production traffic at volume.
- Your security team requires static IP allowlisting for SIP.
- You want to avoid per-minute carrier charges on the AI leg.
Method B — SIP trunk via your own carrier (Twilio / Telnyx Elastic SIP)
You front SigmaMind with an Elastic SIP Trunk on a carrier that SigmaMind already supports (Twilio or Telnyx). Five9 transfers the call to a number on that trunk, and the trunk’s Origination URI forwards the call into the SigmaMind SIP server. This is the fastest way to get a working proof of concept and requires nothing special on the Five9 side beyond a standard transfer. Use this method when:- You are building a pilot or proof of concept.
- You do not yet need a dedicated PoP trunk.
- You already operate a Twilio or Telnyx SIP trunk.
sip:28y698lhv2f.sip.livekit.cloud so inbound calls reach SigmaMind, and enable SRTP. See the Twilio SIP Trunking guide or Telnyx SIP Trunking guide.Prerequisites
Before starting, confirm you have the following ready:- Admin access to your Five9 VCC Administrator (Campaigns, IVR Scripts, Skills, Connectors).
- A SigmaMind account with at least one AI agent configured and published.
- A connection method selected (Method A or Method B above), and the corresponding trunk provisioned:
- Method A — a dedicated PoP trunk arranged with SigmaMind support and your Five9 specialist.
- Method B — a Twilio or Telnyx Elastic SIP Trunk with its Origination URI pointed at
sip:28y698lhv2f.sip.livekit.cloudand SRTP enabled.
- The number Five9 will transfer to, registered in SigmaMind under Phone Numbers → Connect via SIP Trunking, with an AI agent mapped against it.
- The SigmaMind SIP server:
28y698lhv2f.sip.livekit.cloud. - Your Five9 Campaign type confirmed (Outbound: Predictive / Power / Progressive / Preview).
- A Five9 Skill / ACD queue for the human agents who will take qualified transfers.
Before You Begin: Register Your Number in SigmaMind
Before configuring Five9, register the number Five9 will transfer to in SigmaMind so that SigmaMind can receive the inbound SIP call and know which AI agent to connect.Go to Phone Numbers in SigmaMind
Select Connect via SIP Trunking
Fill in the SIP trunk details
| Field | Value |
|---|---|
| Phone Number | The number Five9 will transfer to (e.g. +13453453453) |
| Terminal URI | Your carrier or trunk’s SIP termination URI (e.g. f111.dialmake.com) — provided by your telephony carrier, not by SigmaMind |
| SIP Trunk User Name | Optional — enter only if your carrier requires SIP authentication |
| SIP Trunk Password | Optional — enter only if your carrier requires SIP authentication |
28y698lhv2f.sip.livekit.cloud) is what Five9 transfers into — it belongs in your Five9 configuration only.Step 1: Create the Inbound IVR Script in Five9
In Five9, the decision to send an answered customer to SigmaMind is made by an IVR Script bound to your campaign. The module that performs the handoff is the 3rd Party Transfer module.Open the IVR Script Designer
SigmaMind-FirstTouch).(Optional) Register the call with SigmaMind using a Query module
Add the 3rd Party Transfer module
- Method A (dedicated PoP trunk): set the 3rd party number to the SigmaMind number you registered. The number must be registered with Five9 so the call egresses over the dedicated SIP trunk (rather than the public PSTN).
- Method B (carrier trunk): set the 3rd party number to the DID on your Twilio/Telnyx trunk whose Origination URI forwards to
sip:28y698lhv2f.sip.livekit.cloud.
Enable Send Data to 3rd Party (to pass lead data)
X- prefix (e.g. X-first_name, X-city) so SigmaMind exposes them as dynamic variables — see Step 3.Enable Return After 3rd Party Call (for Five9-reclaim handoff)
Step 2: Bind the Campaign
Connect the IVR Script to the campaign that dials your customers.Open your outbound campaign
Route connected calls to the IVR Script
SigmaMind-FirstTouch IVR Script you created in Step 1.Confirm caller ID and pacing
Step 3: Pass Lead Data via SIP Headers (Optional but Recommended)
You can pass Five9 lead fields — customer name, city, state, phone number, account ID — to SigmaMind via custom SIP headers. SigmaMind reads these on the inbound SIP call and makes them available as dynamic variables your AI agent can use in its prompt. This is the same mechanism used in the VICIdial integration.How SigmaMind reads SIP headers
SigmaMind automatically processes any inbound SIP header that starts withX- or x-. It strips the prefix and exposes the remainder as a dynamic variable. For example:
| SIP Header | Variable in SigmaMind |
|---|---|
X-customer_name: John Doe | {{customer_name}} |
X-city: Denver | {{city}} |
X-account_id: 12345 | {{account_id}} |
Configuring SIP headers in Five9
Five9 sends custom SIP headers when Send Data to 3rd Party is enabled on the 3rd Party Transfer module (Step 1). The headers come from the KVList variable you select. Part A — Test with a static value first In your IVR Script, populate the KVList with a single static key whose name starts withX-:
city: Denver. If it appears, the pipeline is confirmed.
Part B — Pass dynamic lead field values
Once static headers work, replace the static values with Five9 lead/contact field variables in the KVList. Common fields you may want to pass:
X-. SigmaMind strips the X- prefix to create the variable name — so X-city becomes {{city}} in your agent prompt. Keep the KVList lean; pass a correlation ID and the few fields the agent needs, and fetch anything larger over the API. For full details see the SIP Custom Header guide.Step 4: Configure the AI Agent’s Conversation and Qualification
In SigmaMind, your AI agent handles the first-touch conversation: qualifying the lead, collecting information, answering questions, and deciding whether a human is needed.Define the qualification goal in the prompt
Decide how the agent ends its turn
- For Option A (Five9 reclaims the leg): the agent should end its own leg cleanly when finished (using the End Call voice action). This is what triggers Five9’s
Return After 3rd Party Callto resume. - For Option B (AI transfers to a Five9 agent): the agent should invoke the Transfer Call voice action toward your Five9 inbound number (see Step 5, Option B).
Step 5: Configure the Handoff Back to a Five9 Agent
When the AI qualifies the call, it needs to reach a live Five9 agent. There are two patterns. Choose one based on whether you want Five9 or SigmaMind to own the handoff.Option A — Return After 3rd Party Call (recommended)
Five9 keeps ownership of the customer the entire time and takes the call back after the AI finishes. This is the cleanest pattern: no second call leg is created, and it works natively within Five9’s routing.Confirm Return After 3rd Party Call is enabled
Fetch the AI outcome
Branch on the outcome
qualified vs not_qualified.Route qualified calls to a Skill
Option B — SigmaMind transfers to a Five9 inbound number
SigmaMind performs the transfer itself by dialing a Five9 inbound number (DNIS) that lands in a Five9 inbound campaign. Use this when you want a spoken, consultative (warm) handoff where the AI briefs the agent before connecting, or whenReturn After 3rd Party Call is not used.
Create a Five9 inbound campaign for the handoff
Configure the Transfer Call voice action in SigmaMind
- Cold transfer — the AI connects the customer to the queue and exits.
- Warm transfer — the AI connects the agent first, plays a whisper message summarizing the call, then bridges the customer.
Step 6: Test the Integration End-to-End
Place a test call
Confirm the AI agent speaks
Confirm dynamic variables
Confirm the handoff
- Option A: confirm the IVR resumes after the AI ends, the Case branch routes to the Skill, and an agent rings with the screen pop populated.
- Option B: confirm the AI transfers to the Five9 inbound number, the whisper plays to the agent (warm), and the customer is bridged.
Testing with a Softphone
If you are testing from a region where carrier-level geofencing prevents calls to or from US numbers, use a softphone registered to your trunk to dial the SigmaMind SIP server directly. This confirms SigmaMind picks up and the AI responds without needing a full Five9 campaign dial. Recommended softphone: Zoiper (free tier is sufficient for testing)Configure the SIP account
Troubleshooting
1. The transferred call does not reach SigmaMind
- Confirm the 3rd party number in the 3rd Party Transfer module matches the number registered in SigmaMind under Phone Numbers → Connect via SIP Trunking, and that an active, published AI agent is mapped against it.
- Method A: confirm the number is registered with Five9 so the call egresses over the dedicated SIP trunk, not the public PSTN.
- Method B: confirm the carrier trunk’s Origination URI is
sip:28y698lhv2f.sip.livekit.cloudand that SRTP is enabled. - Go to Conversations in SigmaMind — if the call appears there, the SIP connection is working and the issue is on the SigmaMind agent configuration side.
2. The customer hears ringing or silence before the AI speaks
- A brief delay can occur while Five9 establishes the transfer leg. Because Five9 confirms a live answer before running the IVR Script, the customer should not experience a long wait, but verify your campaign’s answer-detection settings.
- If silence persists, check codec and media settings on the trunk — prefer G.711 µ-law end to end to avoid transcoding.
3. Dynamic variables are not appearing in SigmaMind
- Test with a static header value first — if the static value does not appear in SigmaMind Dynamic Variables, the SIP header is not being sent from Five9. Confirm Send Data to 3rd Party is enabled and the correct KVList is selected.
- Confirm the header name starts with
X-— SigmaMind only processes headers with this prefix. - The variable name in SigmaMind is the header name with
X-stripped (e.g.X-citybecomes{{city}}). - Variables only appear in Conversations → Dynamic Variables if they are referenced in the agent prompt. Add
{{city}}to the agent prompt and re-test.
4. The AI finishes but Five9 does not route to an agent (Option A)
- Confirm Return After 3rd Party Call is checked on the 3rd Party Transfer module.
- Confirm the AI agent ends its own leg cleanly (using the End Call voice action) — this is what triggers the return.
- Confirm the Query module after the transfer successfully retrieves the outcome, and that the Case module branches to the Skill Transfer.
- Confirm the qualification outcome was committed by the agent before it ended (Step 4).
5. The agent receives no context on screen pop
- Confirm the outcome/summary was written back to SigmaMind before the AI ended or transferred.
- Confirm the Query module populates the Five9 call variables that your Agent Desktop screen pop is configured to display.
- Confirm the correlation reference matches on both sides.
6. Call completes but no record appears in SigmaMind Conversations
- Confirm the transferred-to number matches the number registered in SigmaMind under Phone Numbers → Connect via SIP Trunking.
- Confirm that number has an active, published AI agent mapped against it.
How Call Transfers Work
SigmaMind handles transfers natively. The behavior depends on which handoff option you configured:- Option A (Return After 3rd Party Call): the AI ends its leg, and Five9 — which kept ownership of the customer the whole time — resumes its IVR Script and routes the customer to a Skill/agent. No second call leg is created, and the customer experiences a seamless continuation.
- Option B (AI-initiated transfer): the AI dials your Five9 inbound number and connects the customer (cold), or briefs the agent and then bridges the customer (warm). Your existing caller ID and trunk remain in the path.
How Multiple Agents Work
To route different Five9 campaigns to different SigmaMind AI agents:- In SigmaMind, go to Phone Numbers → Connect via SIP Trunking and register a separate number for each campaign, entering the Terminal URI for each, and mapping each to the correct AI agent.
- In Five9, create a separate IVR Script (or a separate 3rd Party Transfer destination) per campaign, transferring to the corresponding registered number.
- Bind each IVR Script to the relevant campaign.
Architecture Reference
Component Map
| Component | Role |
|---|---|
| Five9 Campaign | Dials the customer list, manages pacing and answer detection |
| Five9 IVR Script | Decides routing; runs the 3rd Party Transfer to SigmaMind and the handoff-back logic |
| 3rd Party Transfer | Hands the answered customer to the SigmaMind SIP server; sends lead data via SIP headers |
| SigmaMind SIP Number | Inbound entry point — mapped to a specific AI agent |
| SigmaMind Agent | The AI voice agent that speaks with the customer and qualifies the lead |
| SIP Headers (X-) | Carry lead data from Five9 to SigmaMind as dynamic variables |
| Query / Case modules | Fetch the AI outcome and branch on it for the handoff-back |
| Skill Transfer | Routes a qualified customer into a Five9 Skill / ACD queue |
| Call Variables | Deliver the AI’s summary to the agent’s Agent Desktop screen pop |
Reference Values
| Value | Purpose |
|---|---|
28y698lhv2f.sip.livekit.cloud | SigmaMind SIP server hostname |
X- prefix | Marks a SIP header for exposure as a SigmaMind dynamic variable |
Connection Method Summary
| Method | Path | Best for |
|---|---|---|
| A — Dedicated PoP SIP trunk | Five9 PoP ⇄ SigmaMind (direct) | Production, security review, lowest latency |
| B — Carrier Elastic SIP | Five9 → Twilio/Telnyx → SigmaMind | Pilots, proofs of concept, existing trunks |
Call Recording
| Side | What is recorded | When recording starts |
|---|---|---|
| Five9 | Full call per your Five9 settings | When the campaign places the outbound call |
| SigmaMind | Agent conversation only | When the SigmaMind AI agent connects via SIP |