It is possible to route calls by full URI but not the intended way to use Asterisk, since it is not a SIP proxy.
I think the best way for you to make this work is to set up a trunk for sip.12voip.com, and then set up an outbound route pointing to that trunk. Specify the pattern that would go to the sip.12voip.com domain in the outbound route. Then on your phone just dial the user part (xxx) not the whole URI.
Why do you need to specify the domain in your calling string? FreePBX uses call routing rules (outbound routes) to determine when a call should go to a certain trunk. You should not be specifying the domain from your client.
Let’s suppose you want to send a call out on your sip.12voip.com trunk. The first step is to set up a trunk for your outgoing connection to them. You will then set up an Outbound Route that tells your system to send any call out through that trunk.
Stop thinking in terms of dialplans. You have this two-tiered structure where the Outbound Route takes the number (as dialed) and routes it to the Trunk of your choosing. The trunk definition handles the rest.
Sorry there is still something that i don’t understand.
Tell me if i am wrong
then if i call [email protected] , freepbx will know automaticly he has to use the 12voip trunk because i registred a trunk account at sip.12voip.com , correct ? But if have few trunk accounts on 12voip how can freepbx will know which one to use ?