The E.212 mobile network codes (MNC) are well established and assigned by ITU. They are the codes used by mobile phone operators to uniquely identify their networks world wide. Unfortunately, official ITU document access cost money so no direct link is available on www.itu.int https://en.wikipedia.org/wiki/Mobile_country_code
Coming back to the IP range/AS assignment:
IMHO there must and shall not be such a correspondence. An AS is used to group one or more subnets into an well, Autonomous System (AS), and it should support, based on network architecture and layout, a possible migration of subnets from/to a specific AS, without any changes in the peering structure. e.g. If there is a subnet with access via AS 1 it should be there. But if later this subnet will be reorganized, and lets say will be accessed via AS 2, it should be possible to move it to AS 2 without any change in the BGP peering. This is not possible using AS numbers generated from IPs.
And another issue. An subnet or user does not need a individual AS number as long as it/he does not have more than 1 gateway. The subnet is part of an AS at a higher level. In this case, having MNC codes 310 to 316 assigned to the US, this will give 16000 possible AS numbers, which I think are more then enough:
42 310 xx xxx United Stated of America 42 311 xx xxx United Stated of America 42 312 xx xxx United Stated of America 42 313 xx xxx United Stated of America 42 314 xx xxx United Stated of America 42 315 xx xxx United Stated of America 42 316 xx xxx United Stated of America
Regarding peering with subnets that are already part of an extant public AS, there are no problems, they just use their public AS and that's it. If they like, they can just accept the needed private AS peers, and just discard them in their upper layer peering by a simple filter.
The fact that BGP subnets can be aggregated (confederated) simplifies peering even more. A group of AS' can be grouped together to appear as a single AS to its peer (in this case, the AS/IP naming hinders this even more).
Let's look at this example (myself): 42 226 00 000 BGP Conferderation Romania 42 226 2x xxx YO2, YP2, YQ2, YR2 42 226 20 001 YO2LOJ
Internaly in my network I have 2 AMPR subnets and 4 private IP subnets. I use 42 226 20 001 (spaces for easy reading) as my AS. Other networks in my area use 42 226 20 nnn as their AS. The connectivity between us would be ensured, so from a national POV the YO2 space will be agregated int a single AS, 42 226 20 000. The same can happen for other AS groups, so any peering between them can use 42 226 [2-9]0 000 In international peerings, since we can ensure our internal links, they may be one or more external peerings using all the agregated AS 42 226 00 000. And this will ensure redundancy for all subnets inside this space.
Marius, YO2LOJ