routing multiple gateways

Hello ,
i have some problems with the cofiguration of mikrotik and i’d like to know if what i’m trying is possible .

providers :
a) sdsl x.x.x.x/30 for the connetion with the provider and x.x.x.x/28
b)ads dynamic ip
c)ads dynamic ip

Lan :
a) voip network
b) data network
c) public network


The a provider provide me an ip to connet with the provider and 16 public ips to use on my network , it provide allso voip services so my asterisk server can make calls.
I wont to make load balance on b & c providers only for the data network so if one of theme fails the network will continew operating .
I wont to put public ips to some server but not using any nat.

I’m using this implementation to provide multiple routes and failover between my cable connection and WiMAX.

What I recommend is the following (replacing necessary values in <>):

/ip firewall mangle
add chain=prerouting action=mark-connection new-connection-mark=ISP1 passthrough=yes in-interface=<ISP1_INTERFACE>
add chain=prerouting action=mark-routing new-routing-mark=ISP1 passthrough=yes connection-mark=ISP1
add chain=prerouting action=mark-connection new-connection-mark=ISP2 passthrough=yes in-interface=<ISP2_INTERFACE>
add chain=prerouting action=mark-routing new-routing-mark=ISP1 passthrough=yes connection-mark=ISP2

/ip route
add dst-address=0.0.0.0/0 gateway=<ISP1_GATEWAY> distance=1 scope=30 target-scope=10 routing-mark=ISP1
add dst-address=0.0.0.0/0 gateway=<ISP2_GATEWAY> distance=1 scope=30 target-scope=10 routing-mark=ISP2
add dst-address=<LAN_SUBNET> gateway=<LAN_INTERFACE> distance=1 scope=30 target-scope=10 routing-mark=ISP1
add dst-address=<LAN_SUBNET> gateway=<LAN_INTERFACE> distance=1 scope=30 target-scope=10 routing-mark=ISP2

/ip route rule
add routing-mark=ISP1 action=lookup table=ISP1
add routing-mark=ISP2 action=lookup table=ISP2