Same reason your call doesn't go to Los Angeles or Miami. It's because Indians ask for lower salaries than Japanese do.
Interestingly, the phenomenon is moving a bit. As India becomes more established as an outsourcing provider (particularly of call center services), companies are starting to ask for more money. This has led some companies to look elsewhere for their outsourcing needs, and now Bangladesh is starting to gear up just as India did a decade ago.
The recession is also a factor, and there is another country starting to offer such services: the United States. Seriously. There is a growing number of call centers in rural areas, where unemployment is high, the cost of living is relatively low, and labor is cheap. Some are going in on Indian reservations -- so, you may find you are indeed speaking to an Indian, but not the same kind of Indian. This is a good thing, and probably inevitable; given enough time and globalization, it should even out.