The Environment

A single Lync Deployment with two sites (with PSTN connectivity at each). One in Melbourne (Australia), the Other in Auckland (New Zealand). 

The Goal
When users homed to Melbourne call New Zealand numbers breakout to PSTN must be at the New Zealand gateway (not the Melbourne gateway – avoid international toll). And the other way around as well. Users homed to Auckland should breakout to PSTN at the Melbourne gateway when calling Australia numbers.

Currently I have a separate gateway at each site and a set of separate Voice Policies, Routes and PSTN Usage Records.

Voice Policy
Melbourne Users – All feature Enabled
Auckland User Policy
PSTN Usage
Melbourne PSTN Usage
LXL Bridge
Melbourne ISDN Gateway
LXL Bridge
We will configure Melbourne as an example
Start with the Route by adding an Exception. In New Zealand the E.164 format starts with +64 so we will exclude this from the Melbourne Route as below.

 NOTE The Digits are processed from the top down so if the * rule is on the top the rules below are ignored. Be sure to get the order correct.

Scrolling down on the Same Route we will ensure that only the Melbourne Gateway has been selected.

So far what we have done is prevent numbers starting with +64 (NZ) from being dialled via the Melbourne Gateway. Now on to allow these numbers over the Auckland Gateway.
From the Auckland Route add the PSTN Usage for the Melbourne users as below.

The result.
When Users homed to Melbourne call New Zealand Numbers (starting with +64) the Route to the Melbourne gateway will not allow the digit pattern. Searching through additional routes the digit pattern will then be matched to an allowed  string on the Auckland Gateway. Once the PSTN usage for this Route is confirmed the call will proceed.

All that remains is to replicate this in the opposite direction as well.