Another option than what Anita suggests is to buy a local SIM card. For this you will need an unlocked phone that operates on GSM, which you can get in the US or in Europe from the same place you're buying a phone. You will buy a SIM card from a company in Germany or Paris, whichever is your first destination. The SIM card will probably be 5 or 10€. Because I was there for several months, I bought a plan that made my calls to the US only 12 cents a minute. Even without the plan, the calls to the US would have been very reasonable. However, keep in mind that if anyone from the US wants to call you - it will be to an international number, and therefore expensive. One solution would be to have them text you if they need to talk to you, and you can call them (receiving international calls shouldn't cost anything extra to them). You will load up your SIM card with euros, and when it gets low you can top it off. When you go to your second destination you'll be roaming off of that carrier, so either just throw some extra euros on before you leave or get a local SIM card in your destination.
My first time to Italy I used AT&T's international plan and it was still extremely expensive compared to if I had known to use a local SIM card.
There are other international phone providers you can purchase in advance in the states, but it's not too difficult to do it locally if you'd like to do that instead.