The best calling card to India from Canada is "HelloBollo" calling card. Its a prepaid calling card worth $5, $10 or $20 and they are charged according to the seconds and not minutes. There is no connection fees and no expiry date unlike other calling cards where you had to use up the balance before a set expiry date.
To start using the Hello Bollo card you have to do the following:
1. Your Phone number must be registered prior to using this service.
2. Dial the local access number in your City
3. Listen to your account balance.
4. Dial your long distance phone number followed by the # key
a. For Canada, USA and Caribbean dial: area code + phone number + #
b. For other international countries 011 + country code + phone number + #
c. Tip: Pound (#) key will help to connect faster.
d. Tip: To disconnect or make another call press ##
e. Tip: To redial last number dialed press *#
Once you registered your phone number with the system, when you dial the city access number, you can simply start dialling your destination number after that. To recharge your balance, you simply dial the recharge access number and enter in the given PIN number (Scratch off the grey layer). Then system asks for your phone number to add balance to, enter your phone number and done. You can actually call any other country with this calling card as well but this card has the best rates for India. You get about 60 Minutes value for each $1.