Well, if you have an Android smartphone or something, buy just a data plan.
3Gb in AT&T costs 30 bucks. From there, configure Google Voice. You get free calls to both landline and mobile phones in US and Canada.
You also get free texts to any mobile phone.
If you can find Data for cheaper prices let us know...! I'm in Portugal and that's how I use it. Internet Plan, Google Voice for US free calls