CPaaS · Voice API
Open for SignalWire
Point a SignalWire SIP endpoint or LaML application at Open and the AI picks up — built on the same FreeSWITCH stack you already trust.
- Setup time
- Under 10 minutes
- Auth
- Digest credentials or IP allowlist
- Directions
- Inbound · Outbound · Call transfer
- Pricing
- Included with Open
01 — Overview
Can I use AI on my SignalWire phone setup?
Yes. SignalWire is built on FreeSWITCH and Open speaks plain SIP, so your SignalWire space, numbers, and LaML applications keep running unchanged while the AI takes the call leg.
SignalWire stays your voice provider. Numbers, billing, and LaML/Compatibility API logic continue to live in your SignalWire space. Open is a SIP endpoint your SignalWire instance routes to. When a call should be handled by AI, SignalWire forwards the SIP INVITE to Open, the AI picks up, and the conversation flows over the same SIP/RTP session your existing applications already use.
For inbound, the cleanest path is a LaML application that returns a <Dial><Sip> element targeting the Open SIP URI for the calls you want AI'd. If you'd rather route at the trunk level, you can also point a SignalWire SIP endpoint at Open and assign DIDs to it — same effect.
For outbound, Open opens a SIP session against your SignalWire SIP endpoint using digest credentials. Calls land in your SignalWire CDRs the same way as today, with whatever caller IDs you've verified on the SignalWire side. AI-driven outbound runs from Open while staying invoiced by SignalWire.
What the AI does on the call: it listens, reasons over your knowledge base and the tools you've connected, and acts — looking up an order, creating a ticket, scheduling a callback, sending a payment link, or warm-transferring to a human via SIP REFER with the live transcript and detected intent attached. Every call is recorded and trace-logged.
Billing stays predictable. SignalWire bills carrier minutes at their pricing; Open never marks them up. Open charges per resolved conversation, not per agent or per seat.
What stays the same on SignalWire
SignalWire numbers and billing
Your DIDs and SignalWire invoice don't move. No porting required.
LaML / Compatibility API logic
Existing applications keep working. Open plugs in as a `Dial → SIP` destination.
Approved caller IDs
Outbound presents SignalWire-verified caller IDs.
CDRs and call analytics
Every call leg still lands in your SignalWire space. Open adds AI-side reasoning traces.
What's new with Open
A SIP destination on SignalWire
Open's SIP URI becomes a `Dial` target in your LaML or a destination on a SignalWire SIP endpoint.
AI handles the conversation
The AI greets, listens, calls your tools, and replies in natural speech.
Transfers carry context
Human agents receive the live transcript and detected intent on SIP REFER.
Pricing model
You pay Open per resolved conversation. Carrier minutes stay invoiced by SignalWire.
02 — Why this works
The native SignalWire experience
FreeSWITCH-native
Open plays especially nicely with SignalWire because both ends speak clean, modern SIP — no compatibility quirks.
Bring your own numbers
Keep DIDs in your SignalWire space and map any number to a specific AI agent.
LaML + SIP endpoints, both work
Whether you use the Compatibility API or raw SIP endpoints, Open slots in either way.
Multi-region SIP endpoints
Pick US, EU, APAC, or global auto-route to keep call setup latency low.
03 — Setup guide
Wire up SignalWire in under 10 minutes
Two trunks — one inbound, one outbound. Both configurable from Settings → SIP in the Open dashboard.
- 1
Open Settings → SIP
Open the inbound trunk configuration in the OpenCX dashboard.
- 2
Pick a SIP region
Choose Global, US, EU, or APAC.
- 3
Copy the SIP credentials
Grab the SIP endpoint, username, and password from Open.
- 4
Return LaML with a Dial → Sip element
In your SignalWire LaML application, return `<Response><Dial><Sip>{{open-sip-uri}}</Sip></Dial></Response>` for the calls you want AI to answer. Pass auth via the `username`/`password` attributes.
- 5
Or add a SIP Endpoint route
In your SignalWire space, create a SIP Endpoint pointed at Open and assign your inbound numbers to it.
- 6
Add your numbers to Open
Under Phone Number (DID), register each SignalWire number that should route to this trunk.
- 7
Assign numbers to an AI agent
Channels → Phone → Agents → assign DIDs to the agent.
- 8
Place a test call
Dial a SignalWire number and confirm Open answers.
04 — Configuration
Settings → SIP, at a glance
A real inbound trunk for SignalWire looks something like this. Yours are generated when you open Settings → SIP.
Inbound trunk · SignalWire
Sample
- SIP endpoint
- sip.us.opencx.comUS region
- Transport
- TLSrecommended
- Username
- open_inbound_sw…
- Password
- ••••••••••••••••
- LaML element
- <Dial><Sip>…</Sip></Dial>
05 — Security
Encrypted, audited, refundable
SIP over TLS for signaling, SRTP for media. Every call is logged with full reasoning traces. SOC 2 Type II, GDPR-aligned, HIPAA- and PCI-ready. Backed by the Open $2M Refund Guarantee.
06 — FAQ