> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # Platform ## Docs - [Get started](https://signalwire.com/docs/platform/getting-started.md): Set up your SignalWire Space, pick the right way to build, and launch your first application. - [Changelog](https://signalwire.com/docs/platform/changelog.md): New capabilities, changed defaults, and deprecations across the SignalWire platform, newest first. - [Changelog (all entries)](https://signalwire.com/docs/platform/changelog/llms.txt) - [Create an account](https://signalwire.com/docs/platform/signing-up-for-a-space.md): Open a new Space, or user account, on the SignalWire platform. - [API credentials](https://signalwire.com/docs/platform/your-signalwire-api-space.md): Learn how to access your SignalWire API Space. - [Auto Top-Up](https://signalwire.com/docs/platform/auto-top-up.md): How Auto Top-Up funds your SignalWire balance and when your card is charged. - [Port phone numbers to SignalWire](https://signalwire.com/docs/platform/porting-into-signalwire.md) - [Trial mode](https://signalwire.com/docs/platform/trial-mode.md): Understand the restrictions on new SignalWire accounts and how to remove them. - [Projects](https://signalwire.com/docs/platform/projects.md): Projects group the phone numbers, Resources, and credentials in your Space, and Subprojects nest one level beneath a root Project with their own Project ID and Resources. - [Resources](https://signalwire.com/docs/platform/resources.md): Learn about Resources on the SignalWire platform - what they are, how they work, and how to manage them in the Dashboard. - [Addresses](https://signalwire.com/docs/platform/addresses.md) - [Subscribers](https://signalwire.com/docs/platform/subscribers.md): Comprehensive overview of SignalWire Subscribers - the building blocks of Programmable Unified Communications for user management and onboarding. - [Webhooks](https://signalwire.com/docs/platform/webhooks.md): An introduction to using webhooks to receive information and events about calls and messages. - [Allow SignalWire IPs through your firewall](https://signalwire.com/docs/platform/allow-signalwire-ips-through-your-firewall.md) - [Rate limits](https://signalwire.com/docs/platform/rate-limits.md): Platform basics - [Glossary](https://signalwire.com/docs/platform/glossary.md): One canonical definition per SignalWire term, with the aliases and historical names each one answers to. - [International support](https://signalwire.com/docs/platform/how-to-enable-international-services.md): Step by step guide for how to enable International Outbound Dialing & SMS on a SignalWire Space - [Media URL protection](https://signalwire.com/docs/platform/media-protection.md): Configure Media URL Protection to secure media files generated by your SignalWire services at the project level. - [Segment IDs](https://signalwire.com/docs/platform/what-is-a-sid.md): Learn about Segment IDs and how to retrieve them from your SignalWire Dashboard - [Phone numbers](https://signalwire.com/docs/platform/phone-numbers.md): Manage your SignalWire phone numbers - [E911](https://signalwire.com/docs/platform/e911.md): Register an emergency address and enable E911 service for your SignalWire phone numbers. - [What is E.164?](https://signalwire.com/docs/platform/what-is-e164.md): An introduction to what E.164 format is. - [Adding AI capabilities to FreeSWITCH](https://signalwire.com/docs/platform/freeswitch/add-ai-to-freeswitch.md): Learn how to add an AI agent to your FreeSWITCH instance to handle your calls. - [Clean and reconfigure with mod_signalwire](https://signalwire.com/docs/platform/freeswitch/mod-signalwire.md) - [Installing FreeSWITCH or FreeSWITCH Enterprise](https://signalwire.com/docs/platform/freeswitch/installing-freeswitch.md): Learn how to install FreeSWITCH or FreeSWITCH Enterprise on your system. - [Sending an SMS from FreeSWITCH XML dialplan](https://signalwire.com/docs/platform/freeswitch/sending-an-sms.md) - [FreePBX](https://signalwire.com/docs/platform/freepbx.md) - [FusionPBX](https://signalwire.com/docs/platform/fusionpbx.md) - [Compliance](https://signalwire.com/docs/platform/compliance.md): Technical guidance for building compliant communications and voice AI applications on SignalWire. - [HIPAA](https://signalwire.com/docs/platform/compliance/hipaa.md): Guidelines for building HIPAA-compliant communications and voice AI applications on SignalWire. - [TCPA](https://signalwire.com/docs/platform/compliance/tcpa.md): Guidelines for building TCPA-compliant outbound voice AI applications on SignalWire. - [Calling](https://signalwire.com/docs/platform/calling.md): Voice, video, fax, and AI on a single platform - [Voice](https://signalwire.com/docs/platform/voice.md): Build next-generation calling applications with integrated AI, plug-and-play compatibility with other providers, and infinite scalability - [SIP](https://signalwire.com/docs/platform/voice/sip.md) - [Bring your own carrier](https://signalwire.com/docs/platform/voice/sip/bring-your-own-carrier.md): Bring Your Own Carrier (BYOC) allows SignalWire users to retain their own carriers for connectivity instead of the vendors that we partner with. This allows you to use any carrier you want while still utilizing the **powerful programmatic control** for SIP from SignalWire! - [SIP credentials](https://signalwire.com/docs/platform/voice/sip/sip-credentials.md): Use SIP Credentials and per-resource SIP Addresses to register SIP devices, route inbound SIP to your SignalWire resources, and control outbound calls. - [SIP trunking](https://signalwire.com/docs/platform/voice/sip/trunking.md) - [Voices and languages](https://signalwire.com/docs/platform/voice/tts.md): Detailed list of all the TTS providers and voices SignalWire supports. - [Amazon Polly](https://signalwire.com/docs/platform/voice/tts/amazon-polly.md): Learn how to use Polly TTS voices on the SignalWire platform. - [Azure](https://signalwire.com/docs/platform/voice/tts/azure.md): Learn how to use Azure TTS voices on the SignalWire platform. - [Cartesia](https://signalwire.com/docs/platform/voice/tts/cartesia.md): Learn how to use Cartesia TTS voices on the SignalWire platform. - [Deepgram](https://signalwire.com/docs/platform/voice/tts/deepgram.md): Learn how to use Deepgram TTS voices on the SignalWire platform. - [ElevenLabs](https://signalwire.com/docs/platform/voice/tts/elevenlabs.md): Learn how to use ElevenLabs TTS voices on the SignalWire platform. - [Fish Audio](https://signalwire.com/docs/platform/voice/tts/fish.md): Learn how to use Fish Audio's marketplace and cloned TTS voices with SignalWire AI Voice applications. - [Google Cloud](https://signalwire.com/docs/platform/voice/tts/gcloud.md): Learn how to use Google Cloud TTS voices on the SignalWire platform. - [Grok](https://signalwire.com/docs/platform/voice/tts/grok.md): Learn how to use xAI's Grok TTS voices with SignalWire AI Voice applications. - [Groq](https://signalwire.com/docs/platform/voice/tts/groq-tts.md): Learn how to use Groq-hosted Orpheus TTS voices with SignalWire AI Voice applications. - [Inworld](https://signalwire.com/docs/platform/voice/tts/inworld.md): Learn how to use Inworld's expressive, multilingual TTS models with SignalWire AI Voice applications. - [Mistral](https://signalwire.com/docs/platform/voice/tts/mistral.md): Learn how to use Mistral's Voxtral TTS voices with SignalWire AI Voice applications. - [OpenAI](https://signalwire.com/docs/platform/voice/tts/openai.md): Learn how to use OpenAI TTS voices on the SignalWire platform. - [Rime](https://signalwire.com/docs/platform/voice/tts/rime.md): Learn how to use Rime's Coda and Mist v2 TTS models with SignalWire AI Voice applications. - [Smallest.ai](https://signalwire.com/docs/platform/voice/tts/smallest.md): Learn how to use Smallest.ai's Waves Lightning TTS voices with SignalWire AI Voice applications. - [Caller ID & CNAM](https://signalwire.com/docs/platform/voice/how-to-set-caller-id-or-cnam.md) - [Detect machines](https://signalwire.com/docs/platform/voice/machine-detection.md): Detect people, voicemail, and fax machines, then act on the result with SWML, Relay, or REST. - [Make and receive calls](https://signalwire.com/docs/platform/voice/make-and-receive-calls.md): Pick SWML, Relay, or the Browser SDK, then use it to call your own phone, answer a call to your SignalWire number, and track each call's progress. - [Record calls](https://signalwire.com/docs/platform/voice/record-calls.md): Record a whole call in the background with SWML, Relay, the REST Calling API, or Call Flow Builder, then stop, pause, capture a single message or a conference, and manage the files with the Recordings API. - [Resolving spam labels](https://signalwire.com/docs/platform/voice/resolving-spam-labels.md): Fix SignalWire numbers labeled as spam or scam by requesting STIR/SHAKEN A attestation, updating CNAM, and correcting caller reputation with Hiya, First Orion, and TNS. - [STIR/SHAKEN](https://signalwire.com/docs/platform/voice/stir-shaken.md): Since its inception, spammers, spoofers, and supervillains have attacked the telephony industry. STIR/SHAKEN is a protocol that aims to solve this problem through caller verification. Read along to find out what STIR/SHAKEN is and SignalWire's part in this all. - [Stream call audio](https://signalwire.com/docs/platform/voice/call-streaming.md): Stream a live call to your own WebSocket server with SWML, Relay, or REST, then save or process the audio as it arrives, and play audio back into the call on a bidirectional stream. - [STUN vs. TURN vs. ICE](https://signalwire.com/docs/platform/voice/stun-vs-turn-vs-ice.md) - [WebRTC](https://signalwire.com/docs/platform/voice/what-is-webrtc.md): What WebRTC is and how SignalWire uses it for real-time communication. - [Video](https://signalwire.com/docs/platform/video.md): Programmable, lightweight, scalable video conferencing - [First steps with fax](https://signalwire.com/docs/platform/fax.md): Learn how to send and receive your first fax using SignalWire's APIs - [Common fax errors](https://signalwire.com/docs/platform/fax/common-errors.md): Our guide to understanding and troubleshooting the most common fax error messages. - [WhatsApp calling](https://signalwire.com/docs/platform/voice/whatsapp.md): Receive WhatsApp calls on a Meta-verified business number and route them to an AI Agent, Call Flow, SWML Script, Relay Application, or Video Room. - [Connect a WhatsApp business number](https://signalwire.com/docs/platform/voice/whatsapp/onboarding.md): Connect a Meta-verified WhatsApp business number to your SignalWire Space so it can take calls from WhatsApp. - [Enable voice on a WhatsApp number](https://signalwire.com/docs/platform/voice/whatsapp/enable-voice.md): Turn on calling for a connected WhatsApp business number from the SignalWire Dashboard and confirm it took effect. - [Receive WhatsApp calls](https://signalwire.com/docs/platform/voice/whatsapp/receive-calls.md): Answer your first WhatsApp call with a hosted SWML Script, then assign the number from the Dashboard or the REST API, answer from your own code with Relay, read the caller's number in an AI Agent, and find the calls in your logs. - [System-directed AI](https://signalwire.com/docs/platform/ai.md): SignalWire AI runs voice and text conversations while your code supplies current data, enforces business rules, and directs agent actions. - [Quickstart](https://signalwire.com/docs/platform/ai/quickstart.md): Build one SignalWire AI agent with a Server SDK or SWML, then reach it over voice and through the AI Chat API. - [Tool calling](https://signalwire.com/docs/platform/ai/tool-calling.md): Connect your AI agent to your backend with tool calls, so that your code owns business logic, live data, and decisions. - [Best practices for creating a SignalWire AI agent](https://signalwire.com/docs/platform/ai/best-practices.md): Best practices for designing SignalWire AI agents that are consistent, responsive, and production-ready. - [Conversation analytics](https://signalwire.com/docs/platform/ai/analytics.md): Use final post-prompt reports to analyze SignalWire AI conversations and live debug webhooks to troubleshoot voice calls. - [Handling sensitive content](https://signalwire.com/docs/platform/ai/content-redaction.md): Keep card numbers, account numbers, and other sensitive values out of your AI agent's context and records, using payment collection, dual-tone multi-frequency (DTMF) prompts, scoped state, and content redaction. - [Route inbound calls to LiveKit](https://signalwire.com/docs/platform/ai/livekit/inbound.md): Route calls to LiveKit via SIP and SWML's Connect method. - [Send outbound calls from LiveKit](https://signalwire.com/docs/platform/ai/livekit/outbound.md): Route LiveKit Calls onto the PSTN with SignalWire. - [VAPI integration](https://signalwire.com/docs/platform/ai/vapi.md): Connect VAPI AI assistants to SignalWire phone numbers over SIP trunking, for inbound calls to an assistant and outbound calls from it. - [Prompt engineering](https://signalwire.com/docs/platform/ai/prompt-engineering.md): Learn where to place AI agent instructions, how to structure an effective prompt, and when to enforce behavior in code instead. - [Messaging](https://signalwire.com/docs/platform/messaging.md): Integrate powerful, programmable, high-throughput SMS and MMS with SignalWire APIs, SDKs, and no-code application builders - [Character limits](https://signalwire.com/docs/platform/messaging/character-limits.md): An overview of how message segments are measured and priced. - [Hosted messaging](https://signalwire.com/docs/platform/messaging/hosted-messaging.md): Learn about porting Messaging services only to the SignalWire platform. - [MIME types](https://signalwire.com/docs/platform/messaging/mime-types.md) - [Optimize delivery rates](https://signalwire.com/docs/platform/messaging/sms-best-practices.md) - [Platform Free Trial](https://signalwire.com/docs/platform/messaging/platform-free-trial.md): Test SignalWire's messaging APIs before registering with The Campaign Registry. - [The Campaign Registry](https://signalwire.com/docs/platform/messaging/campaign-registry.md): Learn all about The Campaign Registry and its implications for building messaging applications. - [Registration](https://signalwire.com/docs/platform/messaging/campaign-registry/registration.md): The Campaign Registry - [Campaign Service Providers](https://signalwire.com/docs/platform/messaging/campaign-registry/campaign-service-providers.md): Learn more about how to register your 10 DLC Messaging traffic by working with The Campaign Registry directly. - [Toll-free verification](https://signalwire.com/docs/platform/messaging/toll-free-numbers.md): Overview of Toll-Free number verification process. - [WhatsApp messaging](https://signalwire.com/docs/platform/messaging/whatsapp.md): Send and receive WhatsApp messages from a Meta-verified business number through SignalWire. - [Connect a WhatsApp business number](https://signalwire.com/docs/platform/messaging/whatsapp/onboarding.md): Connect a Meta-verified WhatsApp business number to your SignalWire Space from the Dashboard. - [Receive WhatsApp messages](https://signalwire.com/docs/platform/messaging/whatsapp/receive-messages.md): View inbound WhatsApp messages and track delivery status through the SignalWire Messaging API. - [Send WhatsApp messages](https://signalwire.com/docs/platform/messaging/whatsapp/send-messages.md): Send text, media, interactive, and template WhatsApp messages through the SignalWire Messaging API. - [WhatsApp message templates](https://signalwire.com/docs/platform/messaging/whatsapp/message-templates.md): Create and manage the Meta-approved templates required to start WhatsApp conversations. - [Chat](https://signalwire.com/docs/platform/chat.md): Programmable, integrated, low-latency Chat APIs and SDKs