@Trex Thanks for your kind words.
Why don't they add all upstreams to every prefix?
Ideally a network of their scale should but they follow different approach. Basically they decide that they need whatever 5-6 upstreams (for redundancy/cost reasons) and based on that they procure bandwidth. Once they have capacity with those players, they put more specific prefixes to make use of that capacity. If they announce all prefixes to all players, in many cases they will have an imbalance with some players sending way more traffic, some sending little traffic.
https://cdn.anuragbhatia.com/web/pages/presentations/Routing-101.pdf - slide 27 covers BGP route selection algorithm.
So traffic flow is from various content players > Upstreams of BSNL > BSNL. Now if same set of prefixes are on all upstreams, major deciding factor will be the localpref of various content player networks.
If we go with the list of their upstreams, some have open peering policy in content hubs (Singapore/Frankfurt, Amsterdam, Ashuburn etc), some do not. So e.g between Airtel and
Tata Comm, Airtel peers and others with content players outside of India (they have just added a 100G peering in Equinix Sydney as well) but Tata Comm / Arelion / Cogent / GTT etc have closed peering policy. So for any content player if route is visible behind say Airtel Vs Cogent/Tata/GTT, they will prefer Airtel (as they would have highest localpref on the peering route).
And even within the closed peering upstreams of BSNL - Arelion/Cogent Vs GTT - Arelion/Cogent will carry more traffic because they have large number of direct customer table (as documented in
this post).
So in order to announce all customer prefixes to everyone, BSNL needs to go in a phased manner. If one provider sends 3x more traffic than other than increase capacity 3x times with that. This is hard at BSNL's way of procuring bandwidth as they go with tenders mechanism in a long process. That helps in preventing corruption but makes process inefficient.
Incase of Airtel they do typically announce their FTTH prefixes to almost all upstreams. E.g
223.185.56.0/22 - bgp.he.net - goes to almost all their upstream.
Hope that answers your question.