The ability to send and receive SMS and MMS messages programmatically is great, but how do you ensure you’re sending messages to a phone that’s capable of receiving them? If a customer provides you with a phone number when they sign up for an account, is it possible to verify the phone number’s capabilities while you’re verifying they own the phone number?
With Twilio Lookup it is, and it’s easy to integrate this capability into your ASP.NET Core projects. One of the best ways you can use this resource is to use it to determine whether your application should be sending SMS messages or voice messages using the text-to-speech capabilities of the TwiML
<Say> verb and Answering Machine Detection. With these tools you can communicate with customers asynchronously using their phone’s capabilities regardless of whether it’s a mobile or landline phone.
In this post you’ll learn how to use …
Who’s calling? In the era of ubiquitous mobile phone use it’s almost impossible to identify the name associated with a phone number unless you’ve already made that connection in your smartphone’s contact list, an annoyance facilitating “New phone who dis?” memes.
But it’s still possible to get the caller name associated with a telephone number, and you can do it without waiting for a call. Twilio Lookup and the Twilio Helper Library for .NET make it easy to integrate real-time caller information retrieval into web applications built with ASP.NET Core.
Understanding “Caller ID” information
The history of “Caller ID,” as it’s commonly known, is surprisingly complex and has involved a number of standards, protocols, and technologies. While the various systems referred to as Caller ID make it possible to identify a calling number, a caller’s name is provided through a system known as Calling Name Presentation (CNAP) …
Data validation is an essential part of application design and development, and telephone numbers are as tricky to validate as they are ubiquitous. In many cases a phone number will be the primary way your organization communicates with its customers. Whether the communication will be by voice, SMS, or messaging app, having a correct phone number is a requirement.
Developers using .NET Core and the .NET Framework can do validation for a number of different data types, including phone numbers, with the System.ComponentModel.DataAnnotations namespace, but the PhoneAttribute class has its limitations. To learn more, see the .NET Data Validation section of the previous Twilio Blog post on this subject: Validating phone numbers effectively with C# and the .NET frameworks.
Fortunately, the libphonenumber-csharp open source library provides extensive resources for validating and manipulating phone numbers of all types and it’s conveniently available as a NuGet package. This post shows …
“Keep it secret. Keep it safe.” If you’ve worked in IT for any length of time you know those words apply to many things besides magic rings. Personally identifiable information (PII) and user secrets are at the top of the list of such items. When you’re developing .NET applications there are inevitably some magic strings, like API keys, you need to watch over in all the realms you pass through: development, testing, and production.
This post will show you how to use PowerShell and .NET Core 3.0 to store and use Twilio credentials securely as Windows 10 environment variables. It’s important to get this right, as these credentials control access to Twilio products like the Twilio API for WhatsApp and the Programmable Video service that cost money and connect to your customers.
It can be embarrassing and costly for developers to inadvertently disclose sensitive information like API keys. Developers sometimes …
If you’re ready to launch your Node.js learning mission, this post is for you: it’s a roundup of the essential information you need to get off the launchpad. The explanations below are valid for Windows, macOS, Linux, and AIX, but the instructions apply only to Windows 10. …
As the Labor Day weekend dwindles in the rear-view mirror we’re forced to confront reality: we’ll have to bid farewell to the felicities of summer and gear up for a new school year. It’s a bittersweet ritual of the season.
For .NET web developers there’s a significant new entry in the course catalog: Microsoft is moving ASP.NET Core 3.0 to general availability. The big announcement is set for September 23rd at .NET Conf 2019.
Haven’t bought your tickets yet?
No problem! .NET Conf is virtual this year, so everyone will be attending in the same class of service: no terrorizing cab rides, no standing in long lines, and no taking off your shoes unless you want to get comfortable.
If you feel the need to share the experience with your fellow techies in meatspace there are local events scheduled around the world. For UK developers, Twilio’s own Layla Porter …
Many of the posts here on the Twilio blog provide just-in-time learning to help you accomplish a specific software development task, like integrating Twilio Verify into ASP.NET Core Identity. These posts give you the information to get a task done quickly.
We also publish other posts that, taken collectively, help you make architectural decisions and build whole systems of software, not just individual modules. These related posts can rightfully be considered “long reads”. You’ll want to set aside time to get the most out of reading the posts and building their case study projects.
We’re introducing Deep Dive posts to make it easier for you to access these professional development resources. Sometimes a Deep Dive will be a series of posts by a single author. On other occasions we’ll curate a list of posts from a variety of internal and external sources. On every occasion they’ll provide an extensive …
Over the last month we've climbed out of numerous programming rabbit holes thanks to fellow .NET developers writing public tutorials for the community. We've rounded up some of our favorites in this post.
Each tutorial listed below is easy enough for beginner-level programmers to follow. More experienced developers should be able to breeze through the code while building a useful project or using these tutorials as convenient refreshers.
Enjoy these awesome tutorials!
Making complex authentication easier
Are you excited about authentication? If so, please tweet us, you are a delightfully special breed of developer. Here are a few great authentication tutorials for those folks that aren't as stoked about the topic and who just want to get the sign in page working.
Validating user input is important to the security and proper operation of any software application. This is particularly true of data like phone numbers, which are typically private data used to deliver both application functionality, such as messaging, and security features like 2-factor authentication.
Application development frameworks, including the .NET Framework and .NET Core provide data validation capabilities to make it easier to handle standard data types more robustly. While the .NET frameworks provide for validating phone numbers, the capabilities are limited, particularly with respect to internationalization (“i18n”).
Fortunately, there is a open source library,
libphonenumber-csharp, that provides extensive resources for validating and manipulating phone numbers of all types. It’s derived from an open source library created by Google. This post shows how you can implement
libphonenumber-csharp in your .NET projects and easily leverage this powerful functionality.
.NET Data Validation
A common design pattern in software built with C# …