SignalWire Guide Showcase
Quickly and precisely filter all SignalWire Guides using the Product, SDK, and Language tags below.
Switch the toggle to AND to narrow down the resources that match all of your selected criteria for focused results. Set it to OR to expand your search and explore resources that meet any combination of your chosen tags.
Filters
145 guidesProduct
SDKs
Languages
Our Favorites
When designing an AI Agent with SignalWire, it's crucial to achieve a harmonious balance between clarity, efficiency, and adaptability. The following guide offers a detailed overview of best practices to make sure your SignalWire Agent operates effectively and offers a user-friendly experience.
Learn how to add an AI agent to your FreeSWITCH instance to handle your calls.
A guide that shows you how to perform a Call Whisper using SWML.
In this tutorial, we will demonstrate how to build a Simple IVR (Interactive Voice Response) using SWML (SignalWire Markup Language). SWML enables you to create RELAY applications using a descriptive format without the need for additional infrastructure like your own server.
functions allow you to execute from within itself. This allows you to create a function that can be used to execute a specific SWML block, that lives outside the AI language model. The benefit of this is you can get more granular control over the execution of what happens next after the function is triggered while also getting the additional benefits of SignalWire's APIs.
import CodeBlock from '@theme/CodeBlock'; import Admonition from '@theme/Admonition';
In this example, we will demonstrate how to use to shift the focus of the conversation. The AI agent will switch between a and context. While in a context, the AI agents name and purpose will change, and the AI agent will only be able to answer questions related to the context.
In this example, we demonstrate how to use to store information to reference later. The AI agent, will store a user's name and then look up any additional stored information.
AI
SWML
When designing an AI Agent with SignalWire, it's crucial to achieve a harmonious balance between clarity, efficiency, and adaptability. The following guide offers a detailed overview of best practices to make sure your SignalWire Agent operates effectively and offers a user-friendly experience.
SignalWire AI Gateway or SWAIG enables functions that allow the virtual agent to perform actions by seamlessly integrating the virtual AI agent with backend databases or CRM. The integrations empower virtual agents with real-time access to relevant data, enabling them to handle customer queries more efficiently and deliver high-quality personalized interactions; for example, send SMS messages, access customer information, and resolve a support ticket.
functions allow you to execute from within itself. This allows you to create a function that can be used to execute a specific SWML block, that lives outside the AI language model. The benefit of this is you can get more granular control over the execution of what happens next after the function is triggered while also getting the additional benefits of SignalWire's APIs.
In this example, we will demonstrate how to use to shift the focus of the conversation. The AI agent will switch between a and context. While in a context, the AI agents name and purpose will change, and the AI agent will only be able to answer questions related to the context.
In this example, we demonstrate how to use to store information to reference later. The AI agent, will store a user's name and then look up any additional stored information.
The Santa AI we'll build together communicates with users over the phone in spoken natural language, powered by OpenAI and Eleven Labs' Text-To-Speech engine, to determine what they want for Christmas. Santa then uses the Real-Time Amazon Data API to search for the top three gifts based on their wishes. Once the user chooses their favorite gift, the Santa AI sends an SMS to the user with a link to the chosen gift.
Learn how to use `data_map` in SWML SWAIG functions to process, transform, and utilize incoming data effectively.
In this example, the function is toggled off from the start. The AI agent will toggle this function on after the function is called and will also toggle the function off. This creates a scenario where a user can only be transferred after hearing a joke from the AI, and can only request one joke. The AI agent will then match the transfer destination based on the user's input, with the table serving as a directory for the transfer destinations. If no match is found, the AI agent will fall back to the expression, which will inform the user that the transfer was unsuccessful and requires a valid input.
Voice
This guide will show how you can create a sip endpoint and register it to a SignalWire phone number for handling incoming calls or dial it via an cXML application.
This application will generate a one-time password sent to the recipient's phone number via SMS. Application developers can enable two-factor authentication for their users with ease and without making any changes to the existing application logic or database structure!
SIP trunking is a popular option for customers who have an existing PBX phone system and would like to route SIP traffic through SignalWire without taking advantage of our application-level features. Customers can create SIP endpoints programmatically or in their SignalWire Space and route traffic to those endpoints in the SignalWire network. These endpoints could be many things, such as PBXs / Business Phone Systems, IP Phones, Softphones, Mobile Applications, and IoT devices, just to name a few. The SIP trunk will allow any of these endpoints to connect with other external SIP endpoints or the Public Switched Telephone Network (PSTN).
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!
SignalWire supports industry-standard WebRTC SIP over WebSockets! This means that you can use off-the-shelf JavaScript libraries with SIP to connect to SignalWire services.
A deep dive into Real-Time Communication
SWML
A guide that shows you how to perform a Call Whisper using SWML.
In this tutorial, we will demonstrate how to build a Simple IVR (Interactive Voice Response) using SWML (SignalWire Markup Language). SWML enables you to create RELAY applications using a descriptive format without the need for additional infrastructure like your own server.
In Making and Receiving Phone Calls we learned how to use SWML Scripts to handle incoming calls serverlessly.
Relay Realtime SDK (v3)
This introductory guide will show you how to make and receive calls from your own Node.js application.
This guide will show how to record voicemails from your callers when you are unable to take the call.
This code sample is a simple weather phone IVR application that uses the SignalWire Realtime API to provide current weather report to the caller in Washington DC either as a phone call or text.
Relay SDK (v2)
This guide will show you how to use Coaching and Recording features. Quickly learn how to implement conference controls that are the foundation of many call center dial flows.
This guide will give a basic demonstration of how SignalWire's Communication API can be used to create a simple relay that will use speech and dtmf input to retrieve a user's data, provide that data over text-to-speech, and follow up with an offer to text the data over SMS.
Compatibility-API
Answering Machine Detection (AMD) is an integral feature in any phone system. It is used to screen outbound calls to determine whether a human or machine (such as an IVR or voicemail system) answers the call. If a human answers, the call can be connected to a human agent. If a machine is detected, your system may want to end the call or leave a voicemail message.
Use answering machine detection on outbound calls with Node.js.
This guide utilizes the Answering Machine Detection feature to determine whether a human or voicemail machine has answered the call. This allows your program to determine whether to dial a number to connect someone to the human or leave a message for the voicemail box.
This application demonstrates how easy it is to place a call, accepting both DTMF and text input, and using SignalWire's advanced TTS capabilities to speak dates and times in the correct way. If the user changes their appointment to one of the slots we offer, we will also send them a reminder SMS.
A call whisper allows the callee (receiver of the call) to receive an audio message before the call is connected and allows the callee to accept or reject the incoming call. The audio message can contain information such as the source or purpose of the call.
This guide will show you how to cancel a stream using the SignalWire Rest API.
This guide will use `` and websockets to receive base64 audio, which can be written to an audio file for storage, playback, or further manipulation such as transcription services. This guide will focus on taking inbound and outbound audio tracks from a call and saving them to a Wave file.
This application will prompt the caller for a phone number via speech input and connect to the phone number recognized using ASR providing an additional level of accessibility to your users.
This code will show you how you can use a JSON-defined menu in order to easily create an IVR Phone System with Python & Flask. We will be using the SignalWire Team as an example, but you can easily change the verbiage to fit your company's needs instead. Once you have modified this script to fit your company and point to the correct agents/departments, you only need to expose the script to the public and attach it as a webhook for handling inbound calls to one of your SignalWire DIDs.
Using time intervals to perform a specific action depending on business hours.
Have you ever wanted to gather Voice API usage data, but struggled to visualize your data while sorting through your call logs? Let's dive into a few statistical methods to help analyze the activity within your SignalWire Voice Space.
This guide will show how you can easily take a voicemail message from incoming callers, transcribe the recording, and email the transcription. We will use the SignalWire Python SDK to record a voicemail and transcribe it along with the MailGun API to send an email.
This guide demonstrates how to use SignalWire APIs to create a completely functional call center where the features are controlled by the JSON configuration file making it exceedingly easy to enable/disable features in minutes! The dynamic setup of the JSON menus adds a greater level of customizability to your IVR and makes modifying the structure on the fly a breeze.
In Gathering User Input we showed how to set up an XML bin to collect input from users. The approach we showed had a limitation: we couldn't take choices based on the user's input.
This snippet will show how you can utilize the List Calls Endpoint to pull detailed call reports within a specific date range! The results will include some helpful summary stats about total calls, inbound vs outbound, total cost, and total duration. We will also export further detail on a per-call record basis to a CSV for record-keeping or extra review.
In Making and Receiving Phone Calls we learned how to use Compatibility XML bins to control outbound and inbound calls. In particular, we showed how to play a simple audio message.
This advanced example builds an application that implements a simple phone tree IVR with a few interesting features, including:
This application will allow customers to check balance as well as obtain the due date for credit card payments via both voice and SMS.
"This call may be recorded for quality assurance and training purposes". We've all heard it a million times! Call recording is one of the most common use cases in call centers, customer service lines, and even in your average small business. This guide will show how you can record both inbound and outbound calls with ease in a variety of different ways to suit your needs!
In a past blog, we talked about the importance of having a concise phone menu so that customers don't have to wait through your IVR in order to resolve an issue. But what happens if a lot of customers call at once, making long hold and wait times that may make your customers aggravated as they stay on the line for extended periods of time? Have your customers keep their sanity while avoiding long hold times by offering a callback option. Using the SignalWire Python SDK, customers can call and request a call back by pressing a digit, or they can text message the number and request a call back when the next agent is available.
In a telecommunication world as abundant as the one we are living in, it is simply not practical to answer every call that lands in your system. That is why we have created a simple solution to redirect calls based upon the caller's input to a given question.
This guide implements a call screening system based on the concept of a blocklist containing offending numbers. When a call comes in, the From number will be cross-checked with the block list to see if it is one of the blocked numbers. If so, the call will hang up. If the number is not in the block list, the call flow moves on to the next segment.
A telephone survey can be used to obtain useful information from users or customers, like a medical questionnaire for example. With SignalWire's NodeJS SDK, an application can be created to send an outbound call survey to English or Spanish speakers.
This guide will show you how to easily identify the sentiment and emotion of a call. This is good for POST analysis or with some simple modification, it can be used in real-time to route the caller actively.
Having voicemail available is an important part of any phone system, and calls to SIP endpoints are no exception. There are a couple different ways to handle voicemails for SIP. You could use a Domain Application set up with two cXML application webhooks. The first would dial your SIP endpoint with a timeout parameter. The second would record a voicemail if the call was not answered within the timeout time.
Set up Voicemail for your SIP endpoint.
You can learn more about voice status callbacks, all of the possible parameters you can use, and how to set them up in our status callback mega guide!
In this snippet, we will show you how to use SignalWire's List Calls API to gain valuable insight into your usage of voice on SignalWire's platform. After running this script, you gain both itemized and bird's eye views on all of the details of your voice usage, including:
This code will show you how you can use the very simple google sheets API instead of a database to store the results of a phone survey designed in Python. In this demo, we will show how it could be used to create a COVID19 health survey that will gather and append the call SID, from number, to number, and the answers to each question to our google sheet. Before we review and explain the code needed for this task, we first need to set up our Google Sheet as well as the Google Cloud Platform. Don't worry, it's easier than you think!
SignalWire allows you to easily integrate with your existing providers via SIP as a Bring Your Own Carrier (BYOC). thinQ is a voice API platform that can be integrated with SignalWire as BYOC. Follow the steps below to have inbound calls from thinQ routed to SignalWire as well as outbound calls from SignalWire routed to thinQ.
By adding 2FA to your application, you can provide your users effective protection against many security threats that target user passwords and accounts. It will generate a One-Time Password to their phone number via voice call. Application developers can enable two-factor authentication for their users with ease and without making any changes to the already existing application logic or database structure! This guide uses the Python SignalWire SDK to show an example of how that can be done!
When managing conference calls using SignalWire, it's sometimes necessary to pause and resume call recordings dynamically. This guide offers an in-depth look into how to update active conference recordings utilizing the SignalWire REST Client Python SDK as well as SignalWire's REST endpoints.
Another very common use case with our voice APIs is creating/dialing conferences! This guide will show how you can dial into simple conferences using XML bins or create a more complex conferencing application using our SignalWire SDKs.
Messaging
This script will let you assign numbers to your campaign all in one go requiring only some simple Python, our Campaign Registry APIs, and a CSV of your numbers! If you need help getting a CSV of the numbers you want to add, you could try listing your account numbers to csv or purchasing new numbers in bulk.
This snippet will show how you can easily use our Delete Phone Number Assignments Endpoint to remove all of the phone number assignments in one of your messaging campaigns! This frees up the numbers to be used in any other campaigns or for use cases other than 10DLC messaging.
This snippet will show how you can easily use our Delete Phone Number Assignments Endpoint to remove all of the phone number assignments from multiple campaigns. This frees up the numbers to be used in any other campaigns or for use cases other than 10DLC messaging. You only need a CSV with multiple campaign SIDs to get started!
This snippet will show how you can easily use our Delete Phone Number Assignments Endpoint to remove specific phone number assignments from a campaign. This frees up the numbers to be used in any other campaigns or for use cases other than 10DLC messaging. You only need a CSV with numbers to remove in order to get started!
When you have hundreds or even thousands of numbers in your project, it can be painstaking to try and find out which ones are registered and which are not. However, this process is essential to ensure your messages are not blocked for coming from unregistered numbers. This script makes it easy to compare all the numbers in your project with a CSV of registered numbers. If you don't have a CSV of your registered numbers, this snippet can help you accomplish that!
This guide will show you how you can handle incoming text messages and forward them to an email address. We will do that by building a server that receives network requests from SignalWire whenever an SMS is received, and then sends an email.
Using SignalWire's Campaign Registry APIs, this snippet will find all of your phone number assignments, format a data table, and compile details to help you manage all of your numbers.
If you have a lot of campaigns, it's important to keep track of what phone numbers belong to each campaign. You can always compare this list to your account numbers to get an accurate idea of which numbers are registered and which aren't! To list all of your account numbers, check out this guide!
In the phone numbers section of your Dashboard, you will find a tab to manage number groups, but what are they and why are they so useful? Number groups allow you to create a collection of numbers that will act as one entity rather than needing to specify multiple From/To numbers or implement a round-robin communication system on your side. If you often use a pool of numbers to handle one use case, such as dialing a department of agents or sending customer care updates to the same people, number groups are the perfect tool.
Once you purchase a phone number, you still will need to assign a webhook to handle inbound messages and assign it to a campaign before it can be used for messaging. This script will combine all of those tasks into one and let you knock them all out at the same time!
To send your first SMS, you needed a phone number, API credentials, and a REST API call.
Stop sending messages to landlines! This snippet will use a Phone Number Lookup including carrier details for all numbers in your recipient list, and removes any numbers that are not sms-enabled.
This guide will use the SignalWire Python SDK to get a list of owned DIDs, and compare inbound and outbound messages to provide statistics on reply rate.
Do you store your customer’s information in an Excel or Google Sheets spreadsheet? Wouldn’t it be handy to be able to send SMS to your customers directly from Google Sheets? With this guide we’ll show you how to integrate SignalWire API with Google Sheets API to track and contact customers regarding payments that are due. We’ll be using Google’s version of Javascript which is called Apps Script. You can modify this code however you need to fit your particular use case.
Test SignalWire's messaging APIs before registering with The Campaign Registry.
A great alternative to using a Short Code or a 10DLC (local area code) number is a Toll-Free number. Toll-Free US numbers can be used for business messaging to all major US carriers, as well as most major mobile Canadian carriers.
Relay Realtime SDK (v3)
This guide will show you how to write a webhook to handle incoming text messages to a SignalWire phone number and forward them to an email address.
A guide to using transcription status callbacks to message the transcript of call recordings via SMS.
Take the first steps to use the SignalWire messaging services by sending and receiving messages.
This guide will use SignalWire's Messaging API to create a simple web application that can send SMS through the browser.
A guide to implementing a simple two-factor authentication system from scratch using SignalWire services
Compatibility-API
This guide will show you how to create a bi-directional mask of participants' phone numbers for voice and text messages using SignalWire and Python.
Forwarding incoming messages to a different number is not much different than whan we have seen for receiving your first SMS. In fact, we are going to apply just a minor variation to the XML bin used, so make sure to follow that guide first.
In Receiving your first SMS we learned how to use Compatibility XML bins to handle incoming messages. In particular, we showed how to reply with a static message to any incoming SMS.
With this code snippet you can get the total cost of messaging in a specific date range.
Using Python or Node.js to monitor SignalWire Messaging Activity
Multi-factor authentication (MFA) is used to authenticate users of an application through the use of a secret token that is sent to them over SMS text or a voice call. It is commonly used for logging in to secure systems, but it is also gaining popularity as an one-time password (OTP) mechanism to authorize transactions or to sign documents and contracts.
This guide will show you two ways to approach redacting sensitive information from your outbound messages using the SignalWire API and Python or Node.js.
This guide will use Flask to create a simple web application that can send sms through the browser.
Let's get you started by sending your first SMS. In this guide we are going to use Compatibility APIs: if you are migrating from a different provider, these APIs will likely be very similar. In case you need more advanced features, check out our Realtime APIs.
This script utilizes SMS status callbacks to show a simple delivery status tracker that could begin running before a message campaign goes out and end when a message campaign ends. This tracker will log every message status event to the console and keep a record of any message failures. When the message campaign is complete and the app is ended, all the failures along with relevant information will be downloaded to CSV for later investigation.
This guide will show you how to create a phrase-based subscription service using SignalWire and Python. The application will demonstrate how you can easily create and maintain multiple campaigns as well as their associated subscribers. The list administrator can broadcast to specific campaigns and is notified of new subscribers and removal requests via email. If you reply with stop or unsubscribe, the number will be placed on a black list.
When building an application with SignalWire services, you are very likely to use webhooks to exchange information with SignalWire. A webhook is an HTTP(S) request sent to your web application when a key event has occurred, such as an inbound call, inbound message, or a status change. This allows SignalWire to query your web application in order for instructions on what to do next. For example, you might use a webhook to handle an inbound call by reading the instructions in your webhook to play an IVR, route the customer to the right department, and connect them with an agent. You could also use a webhook as a status callback where each status change of a call or message is sent to your web application which might store some instructions for handling emergent errors.
Chat
SMS Marketing is one of the most effective ways to reach consumers in a format they prefer, but every character counts when it comes to messaging. A common solution is to use a public URL shortener like bit.ly, cutt.ly, or tiny.cc. The problem with these public URL shorteners is that the carriers typically flag messages containing their URLs as spam since it is disallowed content!
Relay Realtime SDK (v3)
In this guide, we will explore a simple IVR chat application that offers the user an option to send an SMS message or make a voice call directly from the browser by making use of our Browser SDK and our RELAY Realtime Server SDK.
Relay Browser SDK (v3)
When building a frontend communication application, you have probably had to deal with a plethora of complicated details like setting up or renting your own communication infrastructure, making sense of the ever-elusive WebRTC specs and implementations, making sure everything is scalable, supports all major browsers, and so much more. In this guide, we will walk through how to use SignalWire Chat JS SDK integrated with React, a popular frontend framework, to create a robust IP message Chat application.
Quickly implement a full-fledged chat into your web application.
In this guide we will explore a simple chat application built using the SignalWire SDK.
Video
This code snippet shows how you can easily use the List Room Sessions endpoint of SignalWire's Video API to pull all of the activity sessions within each room.
This code snippet shows how you can use the List Room Sessions endpoint of SignalWire's Video API to pull all of the activity sessions within each room, and then use the List a Room Session's Members endpoint to get user data.
In our guide to Creating a Video Room, we explained how to create and customize video rooms in your SignalWire Space. If you prefer to create and manage your video rooms programmatically, you can use SignalWire's REST APIs. API calls require a few pieces of authorization information found in your SignalWire Space: your project ID, Space URL, and an API token which gives access to SignalWire APIs.
Relay Browser SDK (v3)
Using the SignalWire Video SDK, you can get information on who of the participants is currently speaking. You can use this information, for example, to highlight the participant in your user interface.
In case of large events, scalability is key. If you need to broadcast your live video event to a large audience, we have a couple of solutions.
Our Video APIs can do more than video! In this guide, we will build an audio-only application inspired by the popular Clubhouse. Here is what we are going to build:
If you are using SignalWire to conduct your video conferences, it is quite simple to record the video feed and access them later at your convenience. Depending on how you are using SignalWire Video, there are several ways you might go about controlling your recordings.
SignalWire Video API allows you to host real-time video calls and conferences on your website. In this guide, we'll learn to add screen sharing ability in your video call interface.
Add high-quality, high-performance video to your application or website
In this guide, we will show how to stream a video room to external services like YouTube. We are going to use the Streaming APIs, which represent the simplest way to set up a stream, and the Browser SDK.
SignalWire Video API allows you to host real-time video calls and conferences on your website. In this guide, we'll learn to allow users to change the camera and microphone that's being used in the call.
SignalWire Video Conferences offer a wide set of layouts to display the members in a room. To learn how to use layouts, check out the guides for Setting the Video Call Layout and Using Layout Positions.
SignalWire renders the video of your room in the cloud. This means that everyone sees the same content, and you could have a virtually unlimited number of connected users: the network link between your computer and SignalWire's server will only need to carry a single video stream, no matter what.
Fax
Compatibility-API
The SignalWire Fax API allows you to have full event monitoring through the usage of status callbacks. The below example will demonstrate how to configure your SIgnalWire phone number through XML bins to receive a fax and alert your own server of fax events that are occurring in your SignalWire Space.
This short and simple guide will show how you can use the SignalWire Python SDK and the MailGun API in order to forward your incoming SignalWire faxes to email. You can easily bridge this older technology by allowing faxes to be delivered to your inbox with only a few lines of code.
Example application that sends Faxes, and retries if it fails
After you have acquired a number, or in case you have one already, open its settings by clicking on "Edit Settings". Scroll down until you reach "Voice and Fax Settings", as shown in the next figure, and configure it to:
Numbers
An introduction to saving parameters as mustache variables through XML webhooks.
Enjoy this user-friendly approach to adding API search parameters through queries in your console. Whether you want to buy local or purchase toll-free, this guide can help find all the numbers that suit your needs and seamlessly add them to your project.
SignalWire allows for a variety of different types of callbacks that allow you to keep an eye on your traffic and perform actions based on incoming events.
Use Python or Node.js to Update Webhooks on Bulk Amount of Numbers
An introduction to what E164 format is.
Compatibility-API
List all of the numbers in your SignalWire Project and export them to CSV
This code snippet will filter all numbers by a certain area code or sequence and then return all the numbers that match. Once you review the numbers that it prints out, you can uncomment the delete line and run it again to release the numbers all at once.
The Python script example below will delete numbers from your SignalWire Space based on a CSV file of the intended numbers to be deleted.
The SignalWire Compatibility APIs allow you to easily send/receive HTTP requests from/to the SignalWire servers. For example, you can easily make an HTTP request to SignalWire in order to Create a Call or Send a Message. However, if you are using SignalWire to handle inbound calls or inbound messages, you will need to use a webhook!
XML bins, sometimes referred to as LaML bins, create a URL endpoint that responds with a set of instructions that can be executed to handle calls, SMS, or fax.
SignalWire Space
This guide will show the steps to set up auto top up and how to resolve common credit card rejection errors.
Currently, SignalWire’s infrastructure is unable to allow for the changing of URLs. All Space attributes are tied to the Space URL. However, if you must change a SignalWire Space URL, please create a new Space on our website and open a support ticket. SignalWire's Support Team will navigate through the process of releasing and/or transferring phone numbers from a previous Space and delete the old Space when the release/transfer is complete.
This guide presents the steps needed for how a customer can close their account by contacting us through a ticket.
The first step on your SignalWire journey is to create a Space and your first project.
A guide to creating subprojects in SignalWire Space.
The new Multi-Factor Authentication setting can be enabled via your SignalWire Space Dashboard. It can be enabled at the User level.
SignalWire provides a way to download logs in CSV format from your SignalWire Space. This is useful for when you are troubleshooting an issue, looking at the volume of your traffic, investigate billing, or just want to see what's going on in your Space.
Step by step guide for how to enable International Outbound Dialing & SMS on a SignalWire Space
Learn about how to manage your SignalWire Resources.
A detailed guide on how to Navigate your SignalWire Space.
Use this process to request an increase to a Space's Daily Top-up, Projects per Space, numbers per Project, Verified IDs per Project, Call backlog, or Message backlog
Why a SignalWire Space is suspended and process for reactivating.
Every SignalWire account, when it is first created, is in trial mode. That means there are some limitations, to protect our services from potential abuse, and our new users from causing extensive issues.
Adding new users for access to your SignalWire Space is quick and easy through your SignalWire Space. There are two permission roles that you can make any given account:
Learn about a SignalWire ID below!
Learn about Call Fabric, SignalWire's innovative solution designed to unify various communication technologies under one umbrella.
FreeSWITCH
Learn which FreeSWITCH repository is right for you between the Public and Advantage repositories.
Learn how to install FreeSWITCH or FreeSWITCH Advantage on your system.
Learn how to add an AI agent to your FreeSWITCH instance to handle your calls.
The first command you need is to install some needed tools for gdb to do the backtracing, curl to upload the backtrace log, and debug symbols for FreeSWITCH. You may need to install other debug symbols if you have any custom libraries in use.
When using FreeSWITCH modsignalwire, these commands can be used to unload modsignalwire, discard current Connector configs, and obtain a new Token.
Customers who are subscribed to FreeSWITCH Advantage may request access to an alternate repository that contains special FreeSWITCH packages with memory address and pool sanitation built-in. These special packages may help flush out otherwise difficult-to-find memory corruption issues, more commonly discovered while using advanced ESL techniques. Contact your sales manager for access inquiries. You will not be able to access this repository without proper permission.
In order to send an SMS from a FreeSWITCH dialplan extension, we need to do a few things:
Other Guides
import CodeBlock from '@theme/CodeBlock'; import Admonition from '@theme/Admonition';