Notice: Twilio is again postponing the scheduled Programmable Voice Mobile SDK 1.x shutdown until
December 15th, 2020. This new date represents a further 4.5-month delay from the original shutdown announcement date of July 31, 2020. The below article has been updated to reflect the new date.
Twilio’s Programmable Voice Mobile SDK 1.x for iOS and Android will officially shut down on December 15th, 2020. After this date, any iOS or Android Apps that use Voice Mobile SDK 1.x for placing and receiving VoIP calls will no longer be able to connect to Twilio.
For continuity of service, it is imperative that you upgrade your iOS App Store and Android Play Store apps to use the latest SDKs, and have your users update before December 15th, 2020.
This guide covers the following topics:
- Why is Twilio shutting down the Programmable Voice 1.x Mobile SDKs?
- What is TLS?
- Are SDKs versions 2.x or later affected?
- How do I upgrade my application? Which version should I use?
- How can I see if older version(s) of my app based on the 1.x SDK are in use?
- What are the minimum requirements for the latest SDKs?
- What new features will I get?
Why is Twilio shutting down the Programmable Voice 1.x Mobile SDKs?
Twilio Mobile Voice Client 1.x SDKs use TLS 1.0 and 1.1 to connect to Twilio. These versions of TLS exhibit well documented vulnerabilities, the most common being a Man-in-the-Middle attack. Twilio takes security very seriously, and since these TLS versions are no longer considered secure, we are ending our support for them.
What is TLS?
Transport Layer Security (TLS) is used to secure network communications. HTTPS is one example protocol that uses TLS to secure web browsing. Twilio SDKs use TLS to connect to Twilio servers to make and receive calls.
Are SDKs versions 2.x or later affected?
No, this change only affects the Programmable Voice 1.x SDKs for iOS and Android.
How do I upgrade my application? Which version should I use?
The 2.x (and later) versions of the API contain significant changes, so we recommend users refer to our Getting Started Guides for help adopting newer SDK versions:
- Getting Started with Twilio's Programmable Voice Android SDK (Twilio Docs)
- Getting Started with Twilio's Programmable Voice iOS SDK(Twilio Docs)
For full details about the changes between each version of the SDKs, see the following resources:
- Programmable Voice Android SDK Changelog (Twilio Docs)
- Programmable Voice iOS SDK Changelog (Twilio Docs)
How can I see if older version(s) of my app based on the 1.x SDK are in use?
You can use Voice insights to check the SDK types that are making or receiving calls:
- Access the Voice Insights page in Console.
- Select the following options:
- Click the Last 8 Hours drop-down menu, and then select the desired time frame.
- Click the Select a Filter drop-down menu, and then select
- Click the Select sdk type values… drop-down menu, and look for connections from older version of the SDK.
Any connections from
twilio-client-ios indicates a user connecting with an affected version of the SDK.
What are the minimum requirements for the latest SDKs?
Official system requirements for the Programmable Voice SDKs can be found on our documentation site:
What new features will I get?
SDK version 5.x (the latest version at the time of this writing) includes the following features:
- New WebRTC-based media stack
- Preferred codec API and Opus codec support
- Call ringing state
- Pass Custom Parameters to establish contextual calling
- Media statistics API to query call quality
- Custom Audio Device for creating advanced audio processing capabilities
- Auto reconnect when encountering transient network problems
- Max Average Bandwidth API to control how much bandwidth to assign for audio
- CallKit Support on iOS
- iOS 13 support
For more information about these features, please visit the following resources: