How to achieve the user (an identical phone number ) romaing between different pbxs?

I have two pbxs located in two different localnetworks with different public ip address, the voip phone users (all have their own phone number). As they need to go to different places to work, they should be reached with their own number. How can I achieve that? register their phone number in each location with a outgoing trunk whoes dial pattern fit the user’s phone number?