A PRL is a preferred roaming list, an encoded file used by CDMA mobile phones to determine preferential order of use for systems other than their home system.

In general, any cellular carrier will have its system segmented into regions that can be uniquely identified by a numeric SID, or system ID. (IIRC, my old nTelos phone was on 4217 in western Virginia, but nTelos's eastern VA network was 4468.) While you are within the coverage area of that system, your phone will connect to it; you should get all your nifty features like voice-mail notification, text-messaging, data services, etc. Things get a little more interesting when you can't get to a home system, though. Your phone, if not told otherwise, would simply refuse to work off-system; your display would show "No service," and you'd be out of luck.

In the early days of analog car phone service, users had to carry around a phone book-sized list of access codes in order to get any outbound roaming service, and had to pass along dial-in numbers to systems you thought you might encounter to anyone who might wish to call you. (I remember, as a kid, dialing my dad's car phone once while he was in North Carolina; it took at least 21 digits, and probably closer to 30.) Obviously, that idea wasn't destined for mass market success (and neither were the PC-sized, trunk-mounted transceivers that supported the phone handset near the driver's seat).

So phone makers allowed a few roaming systems to be programmed directly into the phone. That was better; my dad could now go down to Suffolk and call my grandma with only seven digits as we got close to town, and she could reach us on the way with only eight (1+7 long distance within an area code -- remember that?). It still wasn't good enough for the upcoming world of truly mobile phones, though. Once the phone was freed from the attached car, people would start to expect to be able to get on a plane in Washington, arrive in Los Angeles and still have their phone work without having to put the aforementioned phone book in their carry-on. Mass production was also starting to drive the price of phones down by this time.

On the carrier side, this expansion of the cellular market also meant that roaming became seen as a huge potential revenue generator instead of merely a low-grade headache. But once lots of users could roam independently, the complexity of roaming charges and compensation could explode; carriers needed a system to (1) make sure users stayed on their own networks as much as possible, and (2) keep roaming to competitors that charged them lower rates, allowing the home carrier to keep most of the truly obscene roaming fees charged to the end user. Something had to be done, and the PRL is what was done.

A PRL is essentially a set of ordered lists, broken down by region, of system preferences and how the phone should indicate the chosen system. For example, let's take a completely hypothetical example of the regional list concept for my old phone, homed on the nTelos Western Virginia network.


SID     Type    Carrier
4468    HM      nTelos -- Richmond/Hampton Roads, VA
1234    FR      Alltel -- Richmond, VA
5678    RM      Verizon Wireless -- Richmond/Hampton Roads, VA
9876    RM      Sprint -- Richmond/Williamsburg, VA
In this case, when my phone came to Richmond, the first thing it would look for would be the nTelos local network. HM indicates that this network should be treated as a home network; the standard system name would be displayed on the phone, all data services would be available, etc. If it couldn't get that, next look for Alltel -- a FR ("flashing roam" or "friendly roam") system that would show up differently on my phone, nTelos might have to pay them less for roaming calls made on their system, allowing nTelos to keep more of my 60c/min roaming fee, and I might be able to get some of my data services. As a last resort, the phone could look for Verizon or Sprint towers -- RM indicates that these guys provide nothing special, just straight roaming voice service.

A PRL consists of a set of lists like this (as a binary file without the descriptive "Carrier" text I showed above, of course). PRLs are different for different rate plans, partially for the user's benefit (different information displayed on the phone's screen), partially for the carrier's benefit (directing traffic to preferred roaming partners). One word of caution: many carriers treat PRLs as trade secrets; see Verizon Wireless for one reason why this could happen, and http://www.sewireless.info/ for consequences of publicizing this information.