Numeric portability

this is a very important issue
several countries around the world are adopting this schema : numeric portability
means mobil providers will not be identified by prefix anymore, wich was key to identify providers and tariffs,
now mobil companies can have any prefix but they will be identified by a tone. So when you call a number you dont know wich provider you are calling (so you dont know which tariff to apply), as soon as you dial and before it starts to ring you will hear a short distinctive tone to identify which provider you are calling.
Is there any way in asterisk to route calls not by prefix but by that distinctive tone ?
hope is not to hard to solve

No. You have already dialed, and therefore routed the call, before you hear the tone.

I can’t believe asterisk has no solution for that,
what if after asterisk receive and process the tone hangs up and redials again with the proper route?

You can obviously do that, but you may already have been billed a minimum call charge.

I don’t believe that Asterisk has any capability for recognizing arbitrary tones at the dialplan level. It may be able to recognize DTMF tones on the called party side, but I haven’t played with the facilities for running sub-routines on the B side. In any case, Asterisk is a toolkit as far as this sort of thing is concerned, so you will have to write dialplan logic to perform the operations in terms of lower level functions like reading tones.

Is there a published specification for this network feature?