Load balancing with BGP is very tricky and the mechanisms available are quite crude. With BGP you can only route based on the destination IP address. There's no way to distinguish payload traffic and make routing decisions based on that.
So what you can do, is prefer to route the IP addresses used for VOIP via one link, and the rest via the other.
To do so, ...
BGP is a routing protocol, which means it exchanges routing information with other routers. There has to be another router to exchange information with, and that would be a router at your ISP.
In other words, you need to "peer" (establish a BGP connection) with your ISP. You can announce your IP block to your ISP, who will in turn announce it to ...
The routers within the backbone use a label distribution protocol: LDP or RSVP.
Each router binds a label to each IP prefix it knows about and advertises these labels to its LDP/RSVP peers.
Let's say router egress PE advertised its BGP loopback address to P3 with a label of 20. P3 then advertises it to P2 with a label of 21, P2 advertises this network to P1 ...
You would need to configure a routing policy to rewrite that next-hop if that's the behavior you want. BGP does not automatically change them when propagating routes in this scenario because of the common LAN.
Since there is a common LAN among the three routers, it actually removes a hop to keep the original next-hop.
Related trivia: on most Internet ...
What rule do you think it breaks?
Note, when leaking BGP routes from your Ext VRF to master.inet.0 you need to take care to also leak the routes used by BGP as next-hops. If you neglect this, the leaked BGP routes may not be valid for master.inet.0.
Contact your tier-1 ISP to change BGP session configuration. You need cooperation with your tier-1 ISP.
You also need to create route objects in RIR ( https://en.m.wikipedia.org/wiki/Regional_Internet_registry ) with ISP ASN and change your RPKI configuration - only if you have RPKI.
Yes this can be done however, you will need to engage your ISP regardless as this is completely dependant on your ISPs network design and capabilities.
For example, with permission your ISP may allow you to originate this from a Private ASN over your eBGP sessions. In doing so, your ISP would then strip the Private ASN from the AS-PATH on egress to other ...
You seem to be missing one redistribution, which is on R2 where you redistribute BGP to RIP and vice versa. R3 does not know how to reach R0. Routing protocols do not automatically share routes with each other.
You should use the show ip route command on each router to see the networks that each router knows how to reach.
Another way to accomplish this inter-domain class-based routing is to map traffic classes to L3VPNs and leak the BGP-learnt routes from the neighboring AS into the L3VPN routing tables, applying your desired routing policy so for example, the voip L3VPN chooses link1 even though the default/best-effort routing table chooses link2.
Conceptually, what you've ...