Twilio Changelog

Additions and changes to the Twilio platform

Filter by:Clear all
Programmable Voice

Outbound Call Queue Insights in Programmable Voice REST API GA

Outbound calls made using the REST API are throttled and queued to never exceed the Calls Per Second (CPS) threshold value that is set up on the Account. This throttling may create undesirable behavior as call establishment may be delayed. With this release, a new attribute "QueueTime " is available to monitor the call queue time. Prior to this change, there was no indication into whether the outbound calls were being queued and delayed, which made it difficult to know when to update the CPS to an appropriate value. This change returns QueueTime with the value of the estimated call queuing time in milliseconds. This can be used to detect when CPS updates are needed.


This release of Flex UI introduces an Initial Audio Device Check which allows you to perform an audio device availability check when Flex starts up to make sure you are ready to receive voice calls. Read more about it here

Initial Audio Device Check is currently available as a Pilot feature. To enable it, go to Pre-Release Features Page.

For a full changelog, visit the Flex UI release notes.


Programmable Voice

US/CA Unassigned Calling Number Blocking GA

Twilio is now blocking outgoing calls that use unassigned calling numbers for Programmable Voice and Elastic SIP Trunking. Unassigned numbers are numbers not in service. This change will protect you and the platform from unlawful From number overrides. 

You can see calls blocked by inspecting Error notifications, 13247, 21212, 32206


Flex

Hold Time Metric in Flex Insights Beta

Flex Insights Historical Reporting now has out of the box metrics for reporting on holds in calls. You can now build reports that identify calls where agents put customers on hold and how long the holds in calls are. Users can find agents, queues and teams that may need attention as they have too many or too long holds in their calls. See Hold Time documentation article for more details.


Phone Numbers

Regulatory Compliance - Public Beta Regulations API Beta

The Regulations API is moving to Public Beta. The Regulations API resource allows users to programmatically fetch the Regulations for a given phone number’s country, type, and the end-user type. The Regulations API is in sync with the Regulatory Guidelines webpage and is continually updated.

For additional details:


Programmable Voice

Voice Client JS 1.10 - loglevel Logger Integration GA

This release introduces loglevellogger integration to enable flexibility in handling log messages by allowing integration with other loggers and dynamic log level setting. Prior to this release, Voice Client JS logging could only be configured during Device.setup. With this release, Voice Client JS exposes a loglevel based logger which allows for runtime logging configuration that includes setting the log level to “trace”, “debug”, “info”, “warn”, and “error”. Loglevel is a versatile logger library that includes level-based logging and filtering, and provides a plugin API to enable functionality such as sending the log messages to a log server.

For example, to enable logging:

import { getLogger } from 'loglevel';
const logger = getLogger(Device.packageName);
// Set log level on subsequent page loads and refreshes
logger.setLevel('DEBUG');

The latest Twilio PHP helper library v6.0 is now available on GitHub. This latest version has full support for many of the features in PHP 7 such as scalar and return type declarations and of course the illustrious spaceship operator <=>. For PHP applications running PHP 7.2 and later, we recommend upgrading to this latest version to take advantage of the new PHP features and continue getting Twilio updates.

Note that with this release, we are officially ending support for PHP versions that are already end-of-life, including PHP 5.5, 7.0, and 7.1. If your application requires PHP versions 7.1 or below, you can continue using older versions of the Twilio helper libraries, but they will not receive updates.

You can download the latest PHP library from Packagist or source code on GitHub.


Programmable Voice

Async Answering Machine Detection now Generally Available GA

Answering Machine Detection (AMD) introduces several seconds in silence for the callee since the call is not connected until AMD detection has executed. This behavior leads to undesirable user experience and often leads to hung up calls. With the release of async AMD, machine detection can be executed asynchronously. When Async mode is enabled, the callee is connected immediately and AMD is executed in the background, improving the callee experience.

Learn how to enable async AMD in the Twilio AMD documentation.


Twilio Interconnect has been expanded with a new Interconnect Exchange Installation in Sydney, Australia.

The new exchange provides customers with connectivity via cross connect, VPN, Bring-Your-Own-MPLS, and the Equinix Cloud Exchange with initial product support for Elastic SIP Trunking, SIP Interface and Voice WebRTC.

Twilio now has three Interconnect Exchanges in the APAC region, one in Singapore, another in Tokyo and this new one in Sydney, Australia. This allows APAC customers to set up redundant interconnects from their networks to Twilio adding an additional layer of resiliency while benefiting from the security and consistency of a dedicated interconnect.


Click here for information about Twilio Interconnect and here for documentation.


Phone Numbers

Regulated Number Bundle Provisioning Requirement GA

Provisioning new phone numbers with identity regulations through the Twilio /IncomingPhoneNumbers API now requires an approved BundleSid. End-users will be required to include the proper documentation for regulated phone numbers, which are most phone numbers outside the US and Canada. API calls to provision regulated phone numbers that do not include a compliant BundleSID that is valid for the phone number will fail with error code 21649.

For additional details:


We have added new properties to the Task resources and the TaskQueue Statistics API in TaskRouter, to enhance TaskQueue insights in scenarios when tasks are transferred to another TaskQueue.

The TaskRouter Task resource now has a new property task_queue_entered_date, which captures the time when the task entered its current TaskQueue.

The TaskRouter TaskQueue Statistics API has three new properties, LongestRelativeTaskSidInQueue and LongestRelativeTaskAgeInQueue, which provide the task SID of the task waiting in the TaskQueue the longest and its relative age in the TaskQueue, respectively. 
WaitDurationInQueueUntilAccepted provides relative wait duration in the TaskQueue stats (avg, min, max, total) for tasks that were accepted while in this TaskQueue.

To learn more about the new Task field, please refer to our documentation on Task properties.
To learn more about the new TaskQueue Statistics API fields, please refer to our documentation on TaskQueue Real-time Statistics and TaskQueue Cumulative Statistics.


Marketing Campaigns

Segment-triggered Automations GA

Automation (available within the Advanced Marketing Campaigns plan) now supports a new entry criteria option to trigger an automation when a contact joins a segment. This also expands the functionality of the exit criteria, automatically removing contacts when they no longer match the entry criteria (i.e., they’re no longer in the segment). For more information, see the documentation in the Knowledge Center


Programmable Voice

Client Insights preview API shutdown Deprecated

The beta for Client Insights ended on August 5, 2019 and was superseded by the general availability of Voice Insights. The Client Insights Dashboard was removed from Console at that time, though we have continued to respond to requests made to the preview API. Twilio will cease responding to API requests to preview resources on May 1, 2020. Any HTTP requests to preview resources after this date will result in a 404 response from the API.

If your application is currently making requests to any of the preview API endpoints described below, you will need to migrate to the new Voice Insights API endpoints.

 Preview API Endpoint URI Superseded by
 Client Summary https://preview.twilio.com/insights/Calls/{call_sid}/SummarySummary API
 Client Events https://preview.twilio.com/insights/Calls/{call_sid}/EventsEvents API
 Client Metrics https://preview.twilio.com/insights/Calls/{call_sid}/MetricsMetrics API
 Client Reports https://preview.twilio.com/insights/Calls/Report N/A


For more information see https://www.twilio.com/docs/voice/insights/client-insights-preview-api-shutdown


Serverless

Twilio Functions now deploy to NodeJS version 10 Beta

Twilio Functions lets you deploy NodeJS code into Twilio's serverless environment to handle communications events in support of your applications. Functions can be deployed via API or UI. Previously, Functions deployed via the API used NodeJS version 10, but Functions deployed via UI used NodeJS version 8. NodeJS version 8 is now End Of Life. From today all Functions deployed, either via UI or API use NodeJS version 10. Click here for more information about the upgrade.


Twilio Authy now supports delivering time-based one-time passwords via email, this expands upon its existing set of SMS, Voice and Authy app authentication channels. Email delivery is achieved through an integration with Twilio Sendgrid.

You can read more here.


Twilio Verify adds Email to its existing SMS and Voice channels for one-time password delivery, leveraging an integration with Twilio Sendgrid. With this addition, you now have one API to verify all your users, even those without phone numbers.

You can read more here.


Programmable Voice

Voice Insights Dashboard now supports multidimensional queries GA

Voice Insights Dashboard in Console has added the ability to filter on multiple aspects of call data to return more precise results when investigating call issues. 

Previously users could filter results by one of the following: Phone Number, Carrier, Country Code, Number Prefix, Device Type, SIP Response, and Call State.

With the release of multidimensional queries, users can filter on multiple aspects, so instead of merely filtering calls to Norway, you can now filter on calls to Norway, that reached mobile phone destinations, within specific prefixes, that resulted in a particular SIP response code, etc.

For more information see the Voice Insights Dashboard docs


Verify

Automatic SMS Verification Support on Android GA

Verify v2 now supports passing an app_hash for Android developers using the SMS Retriever API. With this feature, you can perform SMS-based user verification in your Android app automatically, without requiring the user to manually type verification codes, and without requiring any extra app permissions. Support for this already exists in Verify v1 and has now been added to Verify v2. Please see the Verify v2 API docs for details on the verification request parameters.


Verify

Do Not Share Warning GA

To warn end-users against man-in-the-middle phishing attacks, we have added a feature to append a security warning to the end of your verification SMS body in Verify v2. This can be enabled by setting do_not_share_warning_enabled to true when creating your v2 Service via the API or in the Console on your Service settings page.


Programmable Voice

Pass TwiML with Call Initiation Requests GA


The Programmable Voice Calls REST API now accepts TwiML when making outbound calls. Prior to this change, you were required to provide an absolute URL that Twilio would use to retrieve TwiML from your application. This change allows you to provide TwiML instructions when initiating a call with the REST API so that when the call is answered, Twilio immediately starts executing the TwiML instructions. This reduces webhook related delays and provides a simplified call set up mechanism. For more details on passing TwiML when launching an outbound call, check out How To Make Outbound Phone Calls.


Show more