Set up a Bandwidth SMS Channel
A Bandwidth SMS (Short Message Service) channel links a Bandwidth phone number to your Cloud Voice system, letting agents handle inbound texts and reply to customers straight from the Cloud Voice App. This page walks you through connecting the two platforms end to end: pulling a webhook from Cloud Voice, wiring the number up in Bandwidth, and then building and configuring the channel on Cloud Voice.
Requirements
Section titled “Requirements”Before you start, confirm that your PBX (Private Branch Exchange, the phone system) meets the following:
- Firmware: Version 84.23.0.123 or later.
- Domain name: The PBX domain name must not contain underscore characters. The messaging platform rejects underscores, which leads to authentication failures or a channel that cannot receive messages.
- Domain certificate: A valid domain certificate must be installed. If your Cloud PBX uses a custom root domain rather than a standard Cloud Voice-provided domain, install the certificate before you create the channel. Without it, the channel fails authentication or cannot receive messages.
Supported message types and limits
Section titled “Supported message types and limits”The Bandwidth channel carries both plain text (SMS) and multimedia (MMS, Multimedia Messaging Service) messages. Which MMS file types are accepted is set by Bandwidth, see Bandwidth’s supported MMS file types.
The following limits apply:
- File size: 100 MB maximum.
- File retention period: 72 hours.
Prerequisites
Section titled “Prerequisites”Complete these in Bandwidth first:
-
Create a sub-account and associate it with your location. Make sure the Allow user credentials to authenticate API option is turned on for the account.

-
Purchase the phone number(s) you plan to use for messaging.
Step 1: Get the webhook URL from Cloud Voice
Section titled “Step 1: Get the webhook URL from Cloud Voice”Bandwidth needs a callback address to deliver inbound messages to, so grab the PBX webhook URL first.
-
Sign in to the PBX web portal and go to Messaging > Message Channel.
-
Click Add and choose SMS.
-
Open the ITSP (Internet Telephony Service Provider) drop-down, select Bandwidth, then copy the Webhook URL.

Step 2: Set up the number for SMS in Bandwidth
Section titled “Step 2: Set up the number for SMS in Bandwidth”Sign in to the Bandwidth portal and work through the following:
-
Create an application under your sub-account and set its callback to the webhook URL you copied from the PBX.

-
On the new application’s details page, associate it with your location.

-
Enable HTTP SMS and MMS messaging for both the location and the application it’s associated with.

-
Find the number you want to use for messaging and move it into your sub-account.

-
Record the Application ID and Account ID: you’ll enter both on the PBX.

-
Create your API credentials and record them for the PBX integration.

Step 3: Create and configure the channel on Cloud Voice
Section titled “Step 3: Create and configure the channel on Cloud Voice”Now build the channel on the PBX and fill it with the credentials and number you gathered from Bandwidth.
-
Sign in to the PBX web portal and go to Messaging > Message Channel.
-
Click Add and choose SMS.
-
On the Authentication tab, enter your Bandwidth details:

- Name: A label that helps you recognize the channel.
- ITSP: Select Bandwidth.
- Application ID: Paste the Application ID from Step 2.
- Account ID: Enter your Bandwidth Account ID from Step 2.
- Client ID: Enter the Client ID from your Bandwidth API credentials.
- Client Secret: Enter the Client Secret from your Bandwidth API credentials.
-
Switch to the Messaging Settings tab and configure the channel:
-
In Message Sending Rate, set how many messages per second the PBX may send.
-
Set the session options as needed:
Setting What it does Close Session Automatically Select the checkbox to have the system close sessions that have gone idle for a set time, then enter that period in the Session Timeout (Days) field. Allow the Creation of Duplicate Active Sessions Select the checkbox to let a new session start even when an active session already exists between the same sender and receiver. When this is on and an agent tries to open such a session in the Cloud Voice App, a prompt appears; if they continue, the existing session leaves the previous handler’s list and moves to the new agent, carrying the full chat history. 
-
In the Number section, click Add to create a message routing rule.

-
Number: Enter the purchased number or an Alphanumeric Sender ID.
-
Destination for Inbound Messaging: Choose where incoming messages to this number go:
Option What happens Extension Pick an extension from the Extension drop-down. Only that user receives inbound messages from the number. Message Queue Pick a queue from the Message Queue drop-down. Every agent in the queue sees inbound messages for new sessions, but once an agent picks up a session, only they receive its follow-up messages. Third-Party Message Analytics Platform (Transmitted via API) Inbound messages are forwarded automatically to a third-party analytics platform via API (Application Programming Interface) for further processing. This requires your PBX to already be integrated with that platform over the API. Once selected, the PBX transmits inbound messages there, and you can track them through the New Message Notification API event (30031). A full Message API suite is available for richer interaction with the connected platform. -
Extensions allowed to create messaging sessions: Select the extensions permitted to start a conversation with a customer.
-
-
Click Save.
-
-
Click Save.
Result
Section titled “Result”-
The channel is created and appears in the Message Channel list with a green Status indicator showing it’s active.

-
The PBX tracks how many messages the channel sends and receives. The Total column counts every message sent, both successful and failed.

What to do next
Section titled “What to do next”Send a text to the number and confirm the assigned agent receives it in the Cloud Voice App.