I am looking for a quick sanity check on programming for a customer site. 
Layout is 4 controllers
TDM Gateway  A<---------------> User Gateway A
MXEIII                                     vMCD
TDM Gateway B <--------------> User Gateway B
MXEIII                                     vMCD
All four controllers will be in a cluster.  2 tdm gateways, 2 pri links each, 23 channels per link.  
What I am looking to do is for outbound calls through the TDM gateway is to try to load balance.  What I've come up with is this: 
Divide the users between the two User gateways, 425 each.  Users on Gateway A will have ARS planned for the different categories of calls, 911, Local, LD and so on.  For each category of call, I'll have a route list - Try Gateway A first, then go to Gateway B.  COR assigned at the User gateway on the IP/XNET route.
Reverse that on User Gateway B.  Try TDM Gateway B first, then Gateway A.  That should, in theory, put my calls at roughly 50% each outbound.  In the even one of my User Gateways fails, I know have 850 users following the same rule, but it would be for a short while. 
On the TDM Gateway, I then need to take into account what to do if my 2 PRI links are saturated (all four links from the same carrier).  So on my TDM Gateway, I'll also have a list - Try my 2 PRI spans first, if those are down or saturated, out the IP /XNET link between me and the other gateway, and vice versa. 
So, if it works the way I think it should, I'll have load balancing for outbound calls, 50% on each controller unless I am in a failover state, then at the TDM Gateway, I've taken into account what happens if I run out of PRI channels or that link is down.  
Thoughts?