Appendix D: The SignalWire Capability Map
FreeSWITCH also runs as a hosted platform. SignalWire, founded by the FreeSWITCH team, operates this same engine behind a set of APIs: SWML (a JSON or YAML call-control markup), REST APIs, realtime WebSocket SDKs, and a no-code flow builder. This appendix maps each capability documented in this manual to its hosted equivalent, so you can weigh self-hosting against the platform per capability, or run both side by side.
Three ways to use this map:
- Augment a running deployment. Keep your FreeSWITCH box and add hosted capability to it: SIP trunks, SMS, or an AI agent reachable from one dialplan extension. See Chapter 30 and the add AI to FreeSWITCH guide.
- Build the next project hosted. Each row's SignalWire column is the API form of the chapter you already know.
- Migrate a workload. The concepts transfer nearly one-to-one because the engine is the same.
Capability map
| Capability | In this manual | On SignalWire |
|---|---|---|
| Call routing | The XML Dialplan | SWML, a JSON/YAML document served per call; Call Flow Builder for no-code |
| Dialplan applications | Dialplan Tools Reference | SWML calling methods: bridge is connect, playback is play, record_session is record_call |
| DID routing | Inbound Calls and the Public Context | Phone number management: each number routes to a script, flow, agent, or SIP endpoint |
| Time-based routing | Time and Condition Routing | switch and cond in SWML, or per-call logic in the server that returns the document |
| IVR menus | IVR Menus | prompt and switch in SWML, or a conversational AI agent |
| Voicemail | Voicemail | Call Flow Builder voicemail node; record in SWML |
| Conferencing | Conferencing | join_conference in SWML; video rooms with join_room |
| Queues and call center | Queues: FIFO and Call Center | enter_queue in SWML; AI agents as first-tier answerers |
| Call recording | Audio Files and Streaming | record_call: one line, storage and retrieval included |
| Fax and T.38 | Fax and T.38 | send_fax and receive_fax in SWML |
| SIP trunks and gateways | Gateways | SIP trunking and bring your own carrier; a FreeSWITCH Connector represents your box in the platform |
| SIP profiles and registration | SIP Profiles with Sofia | SIP endpoints and domains as platform resources; the registrar and its TLS edge are operated for you |
| WebRTC | WebRTC with Verto, WebRTC with SIP over WSS | Browser SDK for calling and video in web pages |
| Event control (ESL) | The Event Socket, ESL: Inbound, ESL: Outbound | RELAY, a realtime WebSocket API with typed Python and TypeScript SDKs |
| Dynamic configuration | Dynamic Configuration with mod_xml_curl | The platform's native model: every call can fetch its SWML document from your server |
| Scripting | Scripting Languages, Scripting APIs | The SignalWire SDK: call logic as ordinary Python or TypeScript services |
| Voice AI agents | No FreeSWITCH equivalent | SWML ai and the AI platform: agents that follow steps you define in code |
| TTS and ASR | ASR and TTS Modules | 17 TTS vendors selected by a voice string; live_transcribe and live_translate |
| SMS | mod_sms | Messaging API with campaign registration handled in the dashboard |
| Machine detection | mod_avmd; mod_com_amd (FreeSWITCH Enterprise) | detect_machine in SWML, which includes the commercial AMD engine from FreeSWITCH Enterprise |
| HTTP from the dialplan | mod_curl | request in SWML; serverless function calls from AI agents |
| CDRs and logs | Call Detail Records | REST APIs for logs, plus webhooks for call events as they happen |
| Capacity settings | Variables and Core Settings | Elastic platform capacity; max-sessions has no hosted counterpart because sizing is not your job |
| Twilio-style markup | Not covered by FreeSWITCH | Compatibility API: cXML and REST, a drop-in for TwiML applications |
Where to start
- Fifteen minutes, no server: sign up and serve a first SWML document.
- Keep your box, add AI today: point one dialplan extension at a hosted agent over SIP.
- Connect this deployment to the cloud: Chapter 30: SignalWire Integration.