Hi
The basic way:
create phone usages based on locations: site 1 - local calls, site 2 - local calls, site 1 - mobile calls, site 2 - mobile calls and so on.
create strategies also based on locations, assigned to each site users.
when you want to create the route for local calls: for site 1, create route based on local pattern, put Mediation server of the site 1 first, Mediation server of the site 2 as second (for redundancy when Mediation server site 1 is unavailable) and assign phone usage: site 1 - local calls. For site 2, create the same route except the order of Mediation server, and assign phone usage: site 2 - local calls.
Do the same for the other usages.