But it's untenable.
First, think of the impact it would have on lower-income people.
Second, think of how people might "game" the system. Anytime anyone is unhappy with a caller for any reason, they can falsely report the caller for spam.
Third, think of what position this puts phone companies in. They then have to be the arbiter of whether every reported call is actually spam. They'd probably have to set up an appeals process. It would be a nightmare, logistically.
Fourth, who would get to decide which charity the bond goes to? That decision alone is a hornet's nest.
Charging someone for calling you would also block them permanently, so almost no one is going to do this to their friends just to mess with them. There should be no appeal: if someone wants to charge every caller, that's totally fine. People will stop calling them pretty fast. Likewise I would let the callee choose the charity, or even keep the money. All that matters is that if you are calling someone who wants your calls you won't be charged, and if you aren't, you should be. If you aren't sure, you pay your money and take your chances that you are in fact imposing on someone else.
I can't see how this would hurt anyone of any socio economic level other than spammers. If you are calling someone who doesn't want your calls, you are a spammer.