Hi, I have two recommendations for you, I've been using them for a long time now.
1) Magicjack app -->
https://itunes.apple.com/co/app/free...mt=8&at=10l3Vy
This app is free to download and free to use, no ads, no video to earn coins, no monthly fee needed, no IAP, (you don't need to have a majicjack thingy either) this app is *genuinely free*. Your son will be able to call any number in the U.S (calls only, no text and you don't need to have magicjack in your iPhone) you'll be able to call him too and works in any iOS device.
If you decide to use this one, be careful when you download it and set it up, create a new account because that option will only show once! that way he'll obtain a number (the numbers start with *010)
Option 2) Text now:
https://itunes.apple.com/us/app/text...mt=8&at=10l3Vy
This app is also free it lets you choose a number based on your location and availability BUT unlike magicjack it has ads, IAP, have to buy credits or earn them by watching videos to MAKE calls, but no credit needed to receive them. The drawback of this one is that the #has to be constantly used for text or calls otherwise after 25-30days they release the number and you'll have to choose another (they let you know before that happen though).
Anyway those apps I've used for quite sometime now, work like a charm.
Hope this helps!