SignalWire logo

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. 1

    Open Settings → SIP

    Open the inbound trunk configuration in the OpenCX dashboard.

  2. 2

    Pick a SIP region

    Choose Global, US, EU, or APAC.

  3. 3

    Copy the SIP credentials

    Grab the SIP endpoint, username, and password from Open.

  4. 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. 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. 6

    Add your numbers to Open

    Under Phone Number (DID), register each SignalWire number that should route to this trunk.

  7. 7

    Assign numbers to an AI agent

    Channels → Phone → Agents → assign DIDs to the agent.

  8. 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

SignalWire questions, answered