"And SMS is also frustratingly non-universal. After years of having cell service with one of the large providers"
..
"Each SMS shortcode is only supported on a provider-by-provider basis."
Yes, each provider does support their own short codes, but this is not a great example of SMS being "non-universal"
A short code is just "dialling sugar" for {country_code} + {network_code} + {short_code}.
Think about it this way: It would be kind of like trying to access the following url: http://news.ycombinator
Do you need it on .com? .co.za? .io?
So in other words, if you are roaming and you want to use a short code. Just prefix with {country_code} + {network_code}.
The routing should work correctly, the switch (msc) routing tables will have the country code + network code, and route the message correctly to your network. If your network has been configured correctly, it will be able to respond.
There is nothing inherently in SMS that prevents it working. Though carriers can choose to block short codes to other networks (usually to avoid fraud). Your carrier would then need to include request the roaming partner white list a set of allowed short codes.
This isn't really correct. Short codes are hardcoded routing rules specific to each operator, not just syntactic sugar. They don't map to regular phone numbers (MSISDN) and are generally not available from other networks or overseas, unless the service provider (not the operator) makes an effort to replicate the code across operators and provide it internationally. Some countries have regulatory coordination to prevent the same number from routing to different services across different operators, but that's about it.
Source: used to work with SMS gateways for a living.
That said, short codes are rapidly becoming obsolete since data has become ubiquitous and everything is online now. The only one I ever use is voicemail.
I wish. With the prevalence of using SMS for 2FA, short codes are very much in use. When you've got a provider that doesn't work with most short codes, you run into a frighteningly large number of difficult situations. Some providers will give you a "I didn't receive the text, call me" option. Some (grr...Venmo) don't. But it's one of those features you don't realize how often it's used until it doesn't work for you.
Yes they are hard coded on the home operator/carrier. Though this does not mean it will not route.
What country are you in?
The way I have seen them configured is they work from off-net if you prefix with correct codes.
Remember the foreign switch,smsc or ussd gateway is going to route the message if it has the correct prefix. The Routing (b number analysis) is looking up a prefix, to send it off.
It is up to your home operator to correctly handle this.
Yes, each provider does support their own short codes, but this is not a great example of SMS being "non-universal"
A short code is just "dialling sugar" for {country_code} + {network_code} + {short_code}.
Think about it this way: It would be kind of like trying to access the following url: http://news.ycombinator
Do you need it on .com? .co.za? .io?
So in other words, if you are roaming and you want to use a short code. Just prefix with {country_code} + {network_code}.
The routing should work correctly, the switch (msc) routing tables will have the country code + network code, and route the message correctly to your network. If your network has been configured correctly, it will be able to respond.
There is nothing inherently in SMS that prevents it working. Though carriers can choose to block short codes to other networks (usually to avoid fraud). Your carrier would then need to include request the roaming partner white list a set of allowed short codes.