There are "locales"  (or locations) for calling long distance that use VOIP -- telephony -- all over the country. In San Cristobal de las Casas there are many -- one is on the pedestrian street (20 de Noviembre)  --  it costs two pesos a minute to call the U.S., Canada and  three to Europe. These are excellent prices unless travelling with a laptop or blackberry and have the use SKYPE. Also, 800 numbers can be called from these phones. These services may be advertised as "llamadas larga distancia" or "locutores".

If you know your travel dates far enough ahead of time, the most convenient and least expensive way to make and get international calls while in Mexico is to rent a Mexican cell phone from Mexitel Cellular ( Calls to the U.S. and Canada on these phones cost a flat $1 per call, incoming calls are free, and they send the phone to you at your home or office before you leave. (You can also have the phone delivered to you in Mexico in places like Cancun.)

Another method would be to have a calling card from a U.S. telephone service, such as MCI or your telephone service provider. You will find that they have a 1-800 number for Mexico to use their service. You can call from a pay phone (you have to deposit coins), or ask your hotel for a line to make an "800" call.

Indiscriminate phoning to the United States, Canada or Europe can be very expensive.  At some resorts, rates can be as high as $2.00 per minute. In Mazatlan, Christine's European Hair Salon on Av. Camarne Sabalo, next to the Subway Restaurant, offers calling cards and use of their phones, and there is Heather's Place, Av. Camarone Sabalo 300, across from Oceano Palace.