rooster has a great idea.
may i suggest this:
let the asshole do their thing. when they are done say, "you know what, i'm somewhat hard of hearing and didn't quite understand what you said - can you please repeat it one more time?"
when they do their thing, repeat that you couldn't hear them and to do it again.
when they do it again, one more time repeat you couldn't hear and could they do it one more time.
by this time they will get upset and hang up - since they have to make "X" amount of calls per hour/day - so they aren't going to waste time on you.
one more thing: try and get the name of the service. when you do - tell them to put you on their "do not call" list and that future phone calls will result in you letting the FCC know - and they will have to pay a fine for every call they make to you. odds are they hang up by the time you say about 1/2 this.
the MOST IMPORTANT THING TO DO - is get the name of their service as soon as you can - as well as the caller's name. mark this down and what time they called - then go after them.