BXML 2.0 Release Notes

We’re pumped about the release of BXML 2.0— a simplified development language used for our voice and messaging APIs. This major technical refresh will simplify our overall infrastructure and paves the way for many new features and functionalities in the future. Here’s the full scope of what’s changing, and some FAQ’s to get you up to speed on how it all works.

What is changing for 2.0?:

  • Support of rarely used <Call>, <Conference>, and <Message> verbs have been temporarily removed, and will be part of a future release.
  • We’ve also revised the process for calls to timeout after 30 seconds once the BXML call flow has finished. This prevents unexpected long duration calls, a problem we see frequently today.  <Hangup> can still be invoked to disconnect a call immediately without the 30 second timeout. 
  • Relative URLs will no longer be supported.
  • BXML will no longer be supported for all RequestURLs.

Frequently Asked Questions & BXML Verbs

Where can I find developer documentation?
You can access all of the developer docs at this link.


Do I need to recode anything?
You likely won’t have to change any of your code. Our changes were focused on aligning with expected behavior and to fix existing gaps in our logic.

How will it work?
On the date agreed upon, we will upgrade you to BXML 2.0. Please note this will be applied to your entire account so it cannot be turned on for specific applications. As long as all goes well we will leave it on and you are set going forward. If it doesn’t, we can switch you back as quickly as we switched you on.

What if you don’t opt in to the limited availability release?
Nothing in the immediate term. However, we are confident this new BXML will provide greater benefits so we will be working to get everyone migrated over once we have completed our limited availability launch. More communication to come as we near a cutover from 1.0 to 2.0

How do you get signed up?
To signup contact your CSA or our product team at signup@bandwidth.com.

Why aren’t you supporting <Call>, <Conference>, and <Message> verbs?
These verbs were rarely used. We have some additional improvements we would like to make to these feature, and look forward to bringing them back (and better than ever) in a future release.  

What happens after the final BXML statement is executed?
After the BXML call flow has finished, the active call will timeout after 30 seconds. This prevents issues with long duration calls never being hung up (a problem we see frequently today). A <Hangup> can still be invoked to disconnect the call immediately.

Can I return a new BXML file in the RequestUrl?
BXML will no longer be supported for all RequestUrls (see details below).

What happens if invalid BXML is received?
Calls are terminated immediately when invalid BXML is received. This prevents calls from being handled incorrectly.