Skip to main content

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:

  1. 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.
  2. Build the next project hosted. Each row's SignalWire column is the API form of the chapter you already know.
  3. Migrate a workload. The concepts transfer nearly one-to-one because the engine is the same.

Capability map

CapabilityIn this manualOn SignalWire
Call routingThe XML DialplanSWML, a JSON/YAML document served per call; Call Flow Builder for no-code
Dialplan applicationsDialplan Tools ReferenceSWML calling methods: bridge is connect, playback is play, record_session is record_call
DID routingInbound Calls and the Public ContextPhone number management: each number routes to a script, flow, agent, or SIP endpoint
Time-based routingTime and Condition Routingswitch and cond in SWML, or per-call logic in the server that returns the document
IVR menusIVR Menusprompt and switch in SWML, or a conversational AI agent
VoicemailVoicemailCall Flow Builder voicemail node; record in SWML
ConferencingConferencingjoin_conference in SWML; video rooms with join_room
Queues and call centerQueues: FIFO and Call Centerenter_queue in SWML; AI agents as first-tier answerers
Call recordingAudio Files and Streamingrecord_call: one line, storage and retrieval included
Fax and T.38Fax and T.38send_fax and receive_fax in SWML
SIP trunks and gatewaysGatewaysSIP trunking and bring your own carrier; a FreeSWITCH Connector represents your box in the platform
SIP profiles and registrationSIP Profiles with SofiaSIP endpoints and domains as platform resources; the registrar and its TLS edge are operated for you
WebRTCWebRTC with Verto, WebRTC with SIP over WSSBrowser SDK for calling and video in web pages
Event control (ESL)The Event Socket, ESL: Inbound, ESL: OutboundRELAY, a realtime WebSocket API with typed Python and TypeScript SDKs
Dynamic configurationDynamic Configuration with mod_xml_curlThe platform's native model: every call can fetch its SWML document from your server
ScriptingScripting Languages, Scripting APIsThe SignalWire SDK: call logic as ordinary Python or TypeScript services
Voice AI agentsNo FreeSWITCH equivalentSWML ai and the AI platform: agents that follow steps you define in code
TTS and ASRASR and TTS Modules17 TTS vendors selected by a voice string; live_transcribe and live_translate
SMSmod_smsMessaging API with campaign registration handled in the dashboard
Machine detectionmod_avmd; mod_com_amd (FreeSWITCH Enterprise)detect_machine in SWML, which includes the commercial AMD engine from FreeSWITCH Enterprise
HTTP from the dialplanmod_curlrequest in SWML; serverless function calls from AI agents
CDRs and logsCall Detail RecordsREST APIs for logs, plus webhooks for call events as they happen
Capacity settingsVariables and Core SettingsElastic platform capacity; max-sessions has no hosted counterpart because sizing is not your job
Twilio-style markupNot covered by FreeSWITCHCompatibility API: cXML and REST, a drop-in for TwiML applications

Where to start