For two reasons. First because using non international numbers on a mobile network is plain stupid and can only be excused by ignorance or lazyness. Numbers just stop to work when you take your phone in another country.
And second, because we like to match numbers, whatever form they are in.

Igorance is probably the biggest issue. People just use the numbering schema hey are used to and do not anticipate the problems they can get with this appoach.

Supporting a more sane approach directly in the phone absolutely helps to put and end to this.

How to find out the users Dial Plan

Because the dial plan depends on the position or provider. We could probably make some automagic match.

Automagic

We could probably ask the network or SIM about our country or Number.
Please submit ideas...

Some crude location based approach might work too.
But this has the problem that even when my location (country) changes, the numbering schema in my head does not change.
And all my existing numbers i entered in local form relate to another dial plan.
So switching dial rules depending wherever i go does not make sense.

Ask the user

If automagic fails or is not conclusive. We could just ask the user about his dialling habits.

Two solutions.

Create a control panel where the user can enter his dial plan.

Benefit from using a dial plan to normalize numbers only applies when the user actually entered something there.

Ask the user on the first non international form number he puts into his address book.

The user might be anoyed or not able to answer this question right away. So we should give him a way to enter these information later. (previous approch)

What to do with this?

Number matching against address book

When a call comes in. Try to match it against our telephone book.

Just transform every number before matching.

Transform every number in international form when the user enters it

Transform every number after user put it in his phone book.

Only save internationalized numbers if possible.

This would condition the user to use international form and acknowledge its existence and significance.
This should be done in some user visible way. So he sees what happens
with his number.

This is my personal favorite because, well non intenrational numbers on mibile networks are stupid...

Personal tools

For two reasons. First because using non international numbers on a mobile network is plain stupid and can only be excused by ignorance or lazyness. Numbers just stop to work when you take your phone in another country.
And second, because we like to match numbers, whatever form they are in.

Igorance is probably the biggest issue. People just use the numbering schema hey are used to and do not anticipate the problems they can get with this appoach.

Supporting a more sane approach directly in the phone absolutely helps to put and end to this.

How to find out the users Dial Plan

Because the dial plan depends on the position or provider. We could probably make some automagic match.

Automagic

We could probably ask the network or SIM about our country or Number.
Please submit ideas...

Some crude location based approach might work too.
But this has the problem that even when my location (country) changes, the numbering schema in my head does not change.
And all my existing numbers i entered in local form relate to another dial plan.
So switching dial rules depending wherever i go does not make sense.

Ask the user

If automagic fails or is not conclusive. We could just ask the user about his dialling habits.

Two solutions.

Create a control panel where the user can enter his dial plan.

Benefit from using a dial plan to normalize numbers only applies when the user actually entered something there.

Ask the user on the first non international form number he puts into his address book.

The user might be anoyed or not able to answer this question right away. So we should give him a way to enter these information later. (previous approch)

What to do with this?

Number matching against address book

When a call comes in. Try to match it against our telephone book.

Just transform every number before matching.

Transform every number in international form when the user enters it

Transform every number after user put it in his phone book.

Only save internationalized numbers if possible.

This would condition the user to use international form and acknowledge its existence and significance.
This should be done in some user visible way. So he sees what happens
with his number.

This is my personal favorite because, well non intenrational numbers on mibile networks are stupid...