Skip to Content
SessionCloud PortalProvider SMS and MMSSet up VoIP Innovations / Sangoma
SessionCloud Portal

Set up VoIP Innovations / Sangoma messaging

Connect your VoIP Innovations / Sangoma Wholesale number directly to your SessionCloud BYO PBX app. As the project owner, you enter the carrier credentials, assign the number and copy the webhook URL in the portal. You do not need to send your password to SessionTalk support.

Availability. The Sangoma connection is available in the SessionCloud portal. Use an app build that includes VoIP Innovations / Sangoma mailbox support; earlier builds may not recognize this provider. Live carrier callback validation is still required. Keep your current incoming-message destination until your pilot is ready.

Before you start

Have the following ready:

  • Access to your SessionCloud BYO PBX project and Sangoma Back Office.
  • A messaging-enabled number and the exact SIP username and domain of the app account that will use it.
  • A Sangoma Wholesale API username and password from Add-Ons > API Users. These are separate from your SIP credentials and Back Office sign-in.
  • The SessionCloud outbound server IP addresses supplied for your deployment, to authorize in Sangoma’s API User settings.

Can I use a single API token?

This integration requires an API username and password. Sangoma Wholesale’s SMS API  uses a login and secret for outgoing messages. An API token from another Sangoma product does not replace these credentials.

SessionCloud generates a separate private credential for the incoming webhook. You do not create or enter that credential yourself.

Enter your credentials in the portal

  1. Open your project and go to Provisioning > Advanced > Messaging.
  2. Enable SMS and save the project settings.
  3. Under Incoming and outgoing SMS, choose VoIP Innovations / Sangoma from Messaging provider. Only the selected provider’s settings are shown.
  4. Enter API username and API password. Leave Enable this connection selected.
  5. Select Save VoIP Innovations / Sangoma.
  6. Copy the complete Webhook URL shown on the saved connection. Selecting the masked field selects its value for copying.

Saving stores the credentials and generates your URL; it does not prove that Sangoma has accepted the credentials or enabled messaging on the number. Confirm carrier access during the send-and-receive test below.

Saved connections appear as compact rows. Select Configure beside a connection to edit it. The API password is stored encrypted on the server and is not included in app provisioning. Leave the password blank to keep the saved value, or enter a replacement.

Assign the number

In Assign a number, choose the saved VoIP Innovations / Sangoma connection. Enter the Messaging number with + and country code, for example +12025550123, and the app account’s SIP username and SIP domain. Select Assign number.

Use the SIP account details from the app, including its domain. The carrier API username is not the SIP username. Each SIP account has one assigned messaging number.

Supply updated authenticated account provisioning through your existing external-provisioning or private QR workflow. Open the compatible app with the account enabled, then select App delivery > Refresh status in the portal. A registered device confirms a mailbox route; it does not by itself confirm message delivery. Public Provider ID branding alone does not supply this mailbox configuration, and Sangoma accounts do not use the automatic Telnyx SIP sign-in enrollment flow. Preserve the existing account and conversation history when updating its provisioning.

Set the incoming destination in Sangoma

Once your pilot is ready:

  1. In Sangoma Back Office, open Add-Ons > API Users and authorize the SessionCloud outbound server IP addresses for your API credentials.
  2. Open DIDs > Manage DIDs and edit the messaging number. Confirm messaging is active on it.
  3. Set its SMS destination to POST / API POST and paste the complete SessionCloud Webhook URL into SMS URL / the destination field.
  4. Retain the URL’s ?token=... value and save the carrier settings.

Copy the generated URL from your own portal connection. You do not need SessionTalk to create or email a separate URL. See Sangoma’s DID setup instructions .

If the number already forwards messages to another service, retain its current destination for rollback before replacing it. Changing this setting moves incoming traffic to SessionCloud. Earlier conversations are not imported.

Test the connection

Send a short SMS to the assigned number from another phone. Check App delivery > Last received SMS, then confirm the message appears on the intended app account. Reply from the app and confirm receipt on the other phone.

Next, leave the app using the Home gesture, lock the phone and send another message. Check the notification and tap it to open the conversation. Test offline catch-up by reconnecting and opening the app.

For MMS, the number must have Sangoma MMS service and the app must include this integration. Test an image in each direction, including an image without a caption. The outgoing limit is ten attachments and 600 KB total, including the caption. The service checks file limits; enabling the attachment control does not activate carrier MMS service. Multi-recipient group MMS is not supported.

Queued means the carrier accepted the submission, not that the recipient received it. Check delivery reports separately. If acceptance is unknown, check the carrier’s message record before sending again. Actual SMS, MMS and delivery-report callbacks must be validated during the pilot before moving normal traffic.

Change credentials or troubleshoot

Update API credentials on the saved portal connection when they change in Sangoma. Keep the Webhook URL private. If it is exposed, select Replace webhook credential, copy the new URL into Sangoma and retest. The previous URL stops working immediately; the carrier API password and app assignment remain in place.

The webhook credential grants access to the incoming listener. Keep full callback URLs, API passwords and provisioning codes out of screenshots and support messages. Share the callback response code, message ID and time of the test when requesting help.

If outgoing messages fail, check the API credentials, authorized server IPs and number’s messaging service. If replies are missing, check the complete POST URL and number assignment. If messages appear only after opening the app, check provisioning and push permissions. See Troubleshooting SMS.

Last updated on