Fresh off the Wire, June 2022

Community Initiatives, Dashboard Updates, and More Fun with RELAY


Whatcha Workin On? Let’s Work Together

Over the last few months, we have released several new features and resources. This month, we shift our focus to how you, our users, employ those tools. So, we have introduced some initiatives you should check out.

Community Code Bounty

Did you catch the official announcement? Here's your reminder that we're giving $500 to every developer or team that submits a unique open-source application backed by SignalWire APIs! We want your help to build innovative and cool open-source applications using SignalWire. SignalWire offers developer tools that make communication easy to use in web and mobile applications. So, a key part of the submitted application needs to be communication (e.g. voice, video, dialing phone numbers and calling people or automated voice responses, or SMS/MMS). However, this does not mean that your application only has to deal with communication. We encourage integrations with third-party applications (like Slack, Salesforce, etc.).

Here’s the basic process:

  • Complete this form for presubmission.

  • We will check that your idea meets the prompt.

  • You will receive $50 in SW credit to develop the project.

  • SignalWire will pay out $500 (cash, not SW credit) if you submit a complete GitHub repo that meets the requirements and showcases something cool.

Revisit the official announcement for all of the details, and share this information with your dev friends because this is a reward, not an award: EVERY eligible project will win!

Not sure where to start? There’s a blog post on Starting Your SignalWire Journey for you! We have no deadlines on this bounty, so take your time and get as creative as you want to be.

Community-Supported Libraries

We have created an open-source community GitHub repository to host a set of libraries and packages which can be handy when building applications with SignalWire. Unlike our SDKs and other products, SignalWire will not be responsible for maintaining these packages. The community will be! In fact, you are encouraged to contribute with new components, features, fixes, and so on. That also means that SignalWire will not be able to answer support requests involving these community packages. Make an issue, consult Stack Overflow, code solutions, and put out PRs! This is your chance to share your SignalWire product expertise and learn from other SignalWire users.

There are already contributions being added by SignalWire developers. For example, a React component for Programmable Video Conferences that you can install from npm and easily use in your React app. More components will come–things that will be later included in official releases, or things that are a bit too specific to be part of our main libraries. You may even want to add your Code Bounty submissions.

Office Hours

This month, we started hosting SignalWire Office Hours! This monthly recurring time is for you to ask questions about implementation, best practices, how-tos, or anything else you may want to ask our team directly. There will be a specific topic for each event (the topic for June was Voice, for example), but any customer is welcome to attend regardless of which offerings you’re using, and we'll answer questions to the best of our ability.

FreeSWITCH office hours will be the first Tuesday of each month, 12 pm ET/9 am PT in our FreeSWITCH Community Room.

SignalWire office hours will be the third Wednesday of each month, 12 pm ET/9 am PT in our SignalWire Community Room.

That means that our next meetups will be on July 5th for FreeSWITCH and July 20th for SignalWire products. See you there!

Get What you Need from Your Dashboard

Beginning June 30, SignalWire will introduce Platform Subscription bundles. Customers can benefit from commonly used features without having to worry about every single detail. We are introducing three bundles - Free, Business, and Enterprise. New customers will start with the Free bundle and have the ability to gain access to an increased set of features and functionality by upgrading their account to either a Business or Enterprise bundle.

You can see your account’s current Subscription Plan in the top navigation of your SignalWire Space. Clicking the bundle name will take you to a new page detailing the available bundles with a button to request an upgrade. As you can see from the example above, current users are on the Legacy Subscription Plan. That means that your current setup–whether default or custom–will not change unless you choose to upgrade.

Billing API

We are also introducing a new feature related to the Subscription Bundles: Billing API endpoints. These new API endpoints provide information (including accrued costs) about all calls, messages, and video sessions, whether started from Compatibility XML or RELAY.

These APIs will return data for 7 days, 60 days, or 1 year depending on which Subscription Bundle you are subscribed to.

The API endpoints can be accessed at

  • https://<space name>.signalwire.com/api/messaging/logs

  • https://<space name>.signalwire.com/api/video/logs

  • https://<space name>.signalwire.com/api/voice/logs

  • https://<space name>.signalwire.com/api/fax/logs

Dev Corner

Releases

  • In last month’s Fresh off the Wire, we told you all about our new RELAY Realtime SDK, affectionately known as v3. This month, we completed that shift with a new version of our Compatibility SDK for Node.js. We are deprecating the @signalwire/node package in favor of @signalwire/compatibility-api.

    In practice, you will change this code:

const { RestClient } = require('@signalwire/node')

    To this:

const { RestClient } = require('@signalwire/compatibility-api')

    To ensure future support, you should upgrade if possible. If you have a project you would like to migrate from a competitor, definitely start out with the new @signalwire/compatibility-api SDK. This is just a logistical change, so it does not bring any new features, and nothing changes for users of the Compatibility SDK in other programming languages.

  • We have also updated our Realtime SDK to support retrieving in-progress RoomSessions. With the new getRoomSessions method, the server can reconnect to in-progress room sessions, if necessary, and makes it easier to spin up on-demand worker processes to perform actions on rooms. See more information in the documentation and all of the release changes in the release notes.

More New Guides!

We’ve been busy with the Realtime SDK and have lots of new guides to show for it.

  • Two-Factor Authorization via SMS generates a one-time password and then uses the RELAY Realtime SDK to send it 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 already existing application logic or database structure!

  • Using Chat to Send SMS and Make Calls describes how to create a Chatbot IVR to send SMS and make Voice calls.

  • Appointment Reminder IVR creates a service to send custom text-to-speech calls to any number and uses user input to confirm or deny appointments. You can then receive real-time information about their selection and redirect their call programmatically.

  • Weather Phone IVR is a simple weather phone IVR application that uses the SignalWire Realtime SDK to provide current weather reports to the caller in Washington DC by either a phone call or text.

  • Translating and Transcribing Voice Calls uses the Realtime SDK and the Google Cloud Speech and Translate APIs. Receives an incoming call then translates it and displays the incoming call number, a translation text of the audio, and an element to play the original call audio.

Roadmap: What’s Ahead?

  • We’re very close to some Programmable Video Conferences upgrades including
    • Integrated Chat

    • PSTN and SIP connectivity

    • RTMP outputs

  • We’ll be showcasing the power of SignalWire with the ability to broadcast video and audio to thousands of viewers at a time

These features are planned for the next 30 days, but release dates are subject to change, so keep an eye out for our next Product Summary to see what has moved from vision to reality!