One of the more interesting behind-the-scenes additions in Android 5.1 is a new carrier provisioning API that provides functionality which likely benefits carriers and customers alike. Any time you join a carrier, you get services along with your account, whether it's Play Store billing, visual voicemail, premium subscription services billed to your account, or any number of other things. For as long as Android has existed, the methods used to provision these services on a customer's account have varied widely from carrier to carrier, and there was no standard way of doing it.

While this normally wouldn't be an issue on carrier-branded phones or tablets, what happens when you bring an off-contract AT&T phone over to T-Mobile, or you buy a Nexus phone that doesn't have carrier-specific framework APKs installed? In a lot of these cases, you simply can't use the app or service you want because the back-end infrastructure isn't there to support it. Some good examples would be trying to use Verizon's visual voicemail app on a Nexus 6, or maybe some of T-Mobile's premium services on a Galaxy Note 4 that you brought over from AT&T. It's simply not going to work.

carrier-provisioning

Using this new, primarily SMS- and SIM-based API, apps can have a native way of provisioning services on an account. From the documentation, it appears that each individual carrier app would use this API to authenticate your account and make sure that the service you're requesting is available to you. Further, a provider could also use this API to allow you to subscribe to services on-demand should you so desire.

While this may seem like a fairly niche use case, something like this could well be setting carriers in places like the US, Canada, and Australia up for a future where people buy their devices elsewhere and pick the carrier later. As that happens, carriers will definitely need functionality like this to ensure that they can offer "value added" services to their customers regardless of what device they're using.