Fresh off the Wire, Sept 2022

Integrated Chat, Outbound Streaming, and new React Hooks


Programmable Video Conferences - Welcome to the Chat!

PVC with open Chat tray
PVC with open Chat tray

Early this month, we released our latest version of Programmable Video Conferences (PVC) with an integrated Chat feature. This is a big deal for a few reasons.

  1. This is our first pre-built chat service. We introduced Chat in our SDKs back in February, but developers needed to build a standalone application or integrate chat into their video application from scratch.

  2. We have previously shared guides for building a standalone chat application and even a more complex standalone React chat application, but this marks the first example of integration with a video room.

  3. As a bonus, this Chat integration with PVCs includes some new features: an unread message counter and toasts that display new messages when the chat tray is closed.

Chat toast with closed Chat tray
Chat toast with closed Chat tray

Chat is enabled by default, but it can be enabled or disabled from the PVC room settings in your Video Dashboard. It can also be set programmatically when you create a PVC with a call by setting the chat property to true or false. Note that the setting from the Space UI takes precedence over the JavaScript chat property. See all of the available settings and parameters on our Video Conferences page.

PVC chat settings
PVC chat settings

Stream Your Video Room to Social Media

We have also released outbound RTMP Streaming! This means that from a SignalWire Video Room, you can stream to any RTMP-enabled platform such as YouTube, Facebook, or Twitch. Imagine streaming an interactive event hosted on your application concurrently to your favorite social media accounts. We are streamlining streaming!


RTMP is available from our REST APIs, SDKs (Browser and Realtime), and Programmable Video Conferences. You can find details on how to set up Streaming in our brand new RTMP Streaming Guide.

PVC Streaming settings
PVC Streaming settings

Please note that usage limits depend on your account’s Platform Subscription: the number of concurrent streams is limited to 1 in the Free tier, 3 in the Business tier, and 5 in the Enterprise tier.

Account Admin Updates

Keeping up with the Campaign Registry

For those using our messaging services, changes to The Campaign Registry (TCR) come as no shock, but having one less fee just might be a pleasant surprise. To further encourage registration and sanctioned messaging, T-Mobile will discontinue the 10DLC Campaign Activation and Migration Fee of $50, effective immediately. This applies to new 10DLC campaigns that are activated or migrated. It is now even more critical that existing, unregistered, or new campaigns have proper and current registration in TCR. So, if you have run into Error 21717 (“number must belong to an active campaign”), now is a great time to register a Campaign. Visit our Messaging Campaigns Help Page if you would like the full walkthrough.

Toll-Free Messaging Verification Update

As we previously reported, unverified Toll-Free messaging traffic was set to be restricted by October 1, 2022. Due to an influx of pending verification registrations upstream, the toll-free verification process is currently taking up to 4-6 weeks. Therefore, a new grace period has been enacted, and Toll-Free numbers (TFNs) sending to US numbers will still be able to send unverified traffic after September 30th while verification requests are pending. However, TFNs sending to Canadian handsets after September 30th must be verified and can no longer send unverified messages. For US traffic, there are throughput limitations as follows:

  • Daily Limit: 2,000 messages per day per unverified TFN

  • Weekly Limit: 12,000 messages per week per unverified TFN

  • Monthly Limit: 25,000 messages per month per unverified TFN

Please note that this extended grace period is for TFNs that are pending verification. To send messaging traffic through TFNs, you do need to visit our Toll-Free Verification as this grace period can end on short notice from the carriers, and SignalWire will continue to require verification for all newly acquired Toll-Free numbers.

Upgrading Platform Subscription Plans

If you have checked out our Platform Subscription Plans and decided one of them will work for you, make sure your SignalWire account is out of Trial Mode first! Accounts can only upgrade to an advanced tier if they are currently in the Free Tier, but Trial Mode is outside of that ecosystem. Trial Mode is for our beginning users to take a look around and test out some services. If you are ready to start developing with SignalWire, the first step is getting out of Trial Mode. If you don’t know how to do that, visit the appropriate section in our guide on Trial Mode. After that, you can enjoy the wider range of our services, and you are free to upgrade your Subscription Plan at will!

Dev Corner

SDK Releases

Getting Metadata

Last month’s release included methods to manage metadata on Video Room sessions and the members in the session. This month, we added methods to retrieve that metadata.

  • roomSession.getMeta returns the metadata assigned to the current room session.

  • roomSession.getMemberMeta returns the metadata assigned to a specified member. If a member id is not passed, this method will return the metadata for the current member.


You can read the full release notes for client and server-side SDKs on our GitHub Releases page.

New to the React Community Library

Late in September, we released a major update to our community library for React and React Native. With the React Hooks made available in this version, it becomes so much easier to build SignalWire applications for the web and for mobile. For example, getting a dynamically updated list of members is now as easy as using const { members } = useMembers(roomSession);. This library is a thin layer over our great Browser SDK. It makes writing React apps a first-class developer experience, and reduces the surface area for mistakes.

Several hooks to constantly track changes within React Video rooms are already included:

  • useMembers

  • useLayouts

  • usePermissions

  • useScreenShare

  • useStatus

  • useWebRTC

And more hooks will come in time. This is a community-supported library, so if you wish to contribute, head over to the GitHub repository, read our contribution guidelines, and start developing!


For more information on using the hooks in this library, see our new guide to Using the Video APIs with React which includes a full-featured demo. Install the npm package to start using these awesome tools.

And Soon…

We are getting very close to the comprehensive launch of broadcast functionality, also known as Interactive Live Streaming! Keep an eye out for it in the next Fresh off the Wire.

We are still focused on Call Fabric development. We have many groundbreaking ideas in development and look forward to sharing them soon!

We’ll be back around Halloween for the October Product Update! Same Bat Channel. Different Bat Time.