We have three cases here which should be handled in a different way:
When you are registered in a network with the same MCC and MNC code, this is your network. Your local tarif will apply.
If you are registered in a network with the same MCC and a different MNC code, this is national roaming. This is the case when national roaming between e-plus (sometimes displayed as o2.de+) and o2.de applies. In Germany national roaming does not imply extra costs, but in other countries the agreements between the companies could provide extra charges when national roaming is used.
In Germany o2 and e-plus allow roaming only for the 3G network, not for 2G network. Even when the card thinks it may access the 2G network of the other company, it is refused.
If you are registered in a network with different MCC code, this is international roaming, regardless the MNC code.
Within the European Union the extra costs for roaming are limited by law, but when roaming in a non-EU network with a EU sim card (which can happen near the European border), roaming costs are not limited by law and can be quite expensive.
Thus it would be desirable to have something like a combination of Blacklist and Whitelist and priorities for networks for each sim card.
For example in the tri-border area between Germany, Austria and Switzerland you might have the following scenarios:
With an O2-Card:
1) o2.de is the card's home network
2) e-plus (o2.de+) is the national roaming network which could be preferred like the home network as there are no extra costs and the same functionality.
3) Any network from Austria is an international roaming network, but the EU tariff applies which limits the costs. When 1 or 2 are not available, this is the best choice
4) Any network from Switzerland is an international roaming network, roaming is more expensive than in the EU and should be avoided when possible. Should be chosen only when 1 - 3 are not available. (I admit that this is not correct for O2 anymore as they count Switzerland as if it was a member of the EU, but for other German card providers, Swiss roaming can be really expensive)
Instead of just allowing or blocking roaming, I would suggest a versatile configuration functionality to choose the network in a more configurable way with automatic network search:
A card preference for general roaming setting:
* Allow any network (international Roaming) with that card
* Allow only national roaming with that card
* Limit to home network (Roaming disabled for that card)
A card preference for data usage (With the valid values as above) to specify when data may be used.
A card preference rule setting for a specific network could specify
* HOME: Prefer like card's home network - No attempt is made to search for the home network, as long as this network is available. When both, this network and the home network are available, the stronger one is chosen.
* (+n) Preferred when home network is not available. Chosen when the home network or an equal network is not available. When multiple networks with this priority are available, the stronger one is used.
* (0) Default (not set): When no preferred network is available, this is chosen.
* (-n) Avoid: Chosen only when no Preferred or Default network is available
* FORBIDDEN: Never ever try to logon to this network. This setting is useful to avoid expensive networks, but it might also be useful to avoid wasting battery power for unsuccessful logons.
n stands for a number specifying the priority: The higher n is, the more the network is preferred (+n) or avoided (-n). n=0 is the default for a network when no rule applies.
A card preference rule could specify as condition
* The MCC (country) - required
* The MNC (network within the country) - optional
* The network type (2G, 3G, 4G) - optional
When an optional parameter is omitted, all will match
A network preference setting of that O2 card example could be:
262/Germany, 03 (e-plus), <null> : HOME
228/Schweiz, <null>, <null>: (Prio: -2)
There could also be a setting that allows that the mobile phone chooses a lower priority network when the signal strength justifies it.
The preference could be named: Priority points für network strength.
So a strong network with prio -1 might be chosen when a weak network with +1 is available, but an even stronger network with prio -124 would not be chosen.
This settings might be important for business men which prefer to be reachable more than to have always the cheapest net while for example on vacation the cheapest network is more important than being always reachable.
It is important that these settings are stored per card, as in a Dual-SIM telephone, you might have one SIM card for business and one for your free time, so that the two SIM cards require different settings.
We have three cases here which should be handled in a different way:
When you are registered in a network with the same MCC and MNC code, this is your network. Your local tarif will apply.
If you are registered in a network with the same MCC and a different MNC code, this is national roaming. This is the case when national roaming between e-plus (sometimes displayed as o2.de+) and o2.de applies. In Germany national roaming does not imply extra costs, but in other countries the agreements between the companies could provide extra charges when national roaming is used.
In Germany o2 and e-plus allow roaming only for the 3G network, not for 2G network. Even when the card thinks it may access the 2G network of the other company, it is refused.
If you are registered in a network with different MCC code, this is international roaming, regardless the MNC code.
Within the European Union the extra costs for roaming are limited by law, but when roaming in a non-EU network with a EU sim card (which can happen near the European border), roaming costs are not limited by law and can be quite expensive.
Thus it would be desirable to have something like a combination of Blacklist and Whitelist and priorities for networks for each sim card.
For example in the tri-border area between Germany, Austria and Switzerland you might have the following scenarios:
With an O2-Card:
1) o2.de is the card's home network
2) e-plus (o2.de+) is the national roaming network which could be preferred like the home network as there are no extra costs and the same functionality.
3) Any network from Austria is an international roaming network, but the EU tariff applies which limits the costs. When 1 or 2 are not available, this is the best choice
4) Any network from Switzerland is an international roaming network, roaming is more expensive than in the EU and should be avoided when possible. Should be chosen only when 1 - 3 are not available. (I admit that this is not correct for O2 anymore as they count Switzerland as if it was a member of the EU, but for other German card providers, Swiss roaming can be really expensive)
Instead of just allowing or blocking roaming, I would suggest a versatile configuration functionality to choose the network in a more configurable way with automatic network search:
A card preference for general roaming setting:
* Allow any network (international Roaming) with that card
* Allow only national roaming with that card
* Limit to home network (Roaming disabled for that card)
A card preference for data usage (With the valid values as above) to specify when data may be used.
A card preference rule setting for a specific network could specify
* HOME: Prefer like card's home network - No attempt is made to search for the home network, as long as this network is available. When both, this network and the home network are available, the stronger one is chosen.
* (+n) Preferred when home network is not available. Chosen when the home network or an equal network is not available. When multiple networks with this priority are available, the stronger one is used.
* (0) Default (not set): When no preferred network is available, this is chosen.
* (-n) Avoid: Chosen only when no Preferred or Default network is available
* FORBIDDEN: Never ever try to logon to this network. This setting is useful to avoid expensive networks, but it might also be useful to avoid wasting battery power for unsuccessful logons.
n stands for a number specifying the priority: The higher n is, the more the network is preferred (+n) or avoided (-n). n=0 is the default for a network when no rule applies.
A card preference rule could specify as condition
* The MCC (country) - required
* The MNC (network within the country) - optional
* The network type (2G, 3G, 4G) - optional
When an optional parameter is omitted, all will match
A network preference setting of that O2 card example could be:
262/Germany, 03 (e-plus), <null> : HOME
228/Schweiz, <null>, <null>: (Prio: -2)
There could also be a setting that allows that the mobile phone chooses a lower priority network when the signal strength justifies it.
The preference could be named: Priority points für network strength.
So a strong network with prio -1 might be chosen when a weak network with +1 is available, but an even stronger network with prio -124 would not be chosen.
This settings might be important for business men which prefer to be reachable more than to have always the cheapest net while for example on vacation the cheapest network is more important than being always reachable.
It is important that these settings are stored per card, as in a Dual-SIM telephone, you might have one SIM card for business and one for your free time, so that the two SIM cards require different settings.