Calls to a toll free (also known as freephone/freecall) number are paid for by the receiver of the call, making them free for you, the caller. However, when dialing such a number from another country, you (the caller) will be charged international rates. So the call is no longer free when dialed from abroad. This is the reason why some long distance carriers/toll free number owners choose to block receiving international calls and generally advise their international callers to contact them on a regular telephone number.
If the call goes through you will incur regular (or sometimes higher) international charges. So, if the company/person you want to reach also has a regular telephone number it is better to dial the latter when calling from another country.
Normally, to call a toll free number registered in the US, Canada or any other NANP country from another country you should use the dialing instructions we provide on this site. If the call goes through you are usually informed that your call isn't free, if it doesn't keep reading.
Another way to dial North American toll free numbers from abroad is to replace the toll free "area codes" with other codes introduced years ago:
These codes were originally supposed to be used for calls from a NANP country to toll free numbers in another NANP country, allowing the caller and the call receiver to each share their part of the cost (caller would pay international charges and call receiver would pay his national toll free rate). Moreover, according to this official NANPA announcement (PDF doc), these codes were supposedly retired in 2004. However, I have received several reports stating that these codes not only still work as described above, but it seems that they can be used to replace regular North American toll free area codes when dialing from any country.
International Freephone Numbers are an exception to the rules above. These numbers are assigned a separate country code which is 800. Calls to these numbers are free when dialed from certain countries that have adopted this system. Not many companies have an International Freephone # due to high costs involved with subscribing to this service.
Dialing an international toll free number is the same as placing an international call to a country with country code 800. For example, dialing from the US you would enter: 011 800 ???? ????.