Bottom line, he has to start being responsible or he's going to end up working at Mcdonalds.
Im 16 right now, and I used to be like your son, I skipped classes, sometimes not going to classes for weeks at a time, then last semester I got my interim report.
Fails in all my classes, it crushed me, suddenly I realized that at this rate, I was going to have no future and live unhappily. Now I never miss a single class, I even come to school sick sometimes, just so I don't miss school.
If he won't answer his phone, take his phone away, quit giving him money, especially if he's spending it on weed. I'm VERY pro-weed, I smoke it quite regularly, but your son doesn't need it in his life right now.
If he won't come to school and attend classes, put him in a boarding/military school that forces him to come to class.
This is the hardass route, to take if your son won't smarten up. Try opening up to him, talk to him in a non accusatory, non judgmental way, give him no reason to get defensive. If he still gets mad, then tough beans, he needs to hear that he's messing his life up.
I also think getting him to spend time with his dad is a good idea. Father's are a very good influence on teen boys, I know my dad has been a very positive influence on me.
I hope your son works his life out, I hate to hear about people messing up their lives when its totally preventable.