Thank you for you reply, it kept my busu for couple of days

.
Here with what I came up with:
in extensions_additional.conf I have add a context for the customers with the extensions 60XX (I add just one).
[customer60]
exten => 6001,1,Macro(exten-vm,6001,6001)
exten => 6001,n,Hangup
exten => 6001,hint,SIP/6001
exten => ${VM_PREFIX}6001,1,Macro(vm,6001,DIRECTDIAL)
exten => ${VM_PREFIX}6001,n,Hangup
....
In extensions.conf, in macro [macro-exten-vm] i have added logic (after the line with: exten => s,n... - book say that asterisk will chose most specific match)
[macro-exten-vm]
exten => _60XX,1,GotoIf($[${EXTTOCALL:2} = 60]?10:20)
exten => _60XX,10,Macro(dial,${RT},${DIAL_OPTIONS},${EXTTOCALL})
exten => _60XX,20,Congestion( )
So, I'm trying ti see if two first numbers are 60, if the are I proceed call to macro dial, else, for example, I play congestion.
Is this enough, and would the same method work for 50XX on the same PBX?
Any help is appriciated.
Thanks...