The only reason I would separate out phone calls is that it COSTS ME MONEY to receive an unsolicited phone call when I am roaming. That really pisses me off. In other countries that I have lived, there have been various registers you could join (often run by your own phone company) that prevented telemarketers from calling you. They basically are required to check the list before ringing. In some places there were even lists for postal junk mail - to cut that down too - since it's equally annoying and just as destructive to the planet.
However, IMHO, the single best thing one could do in HK to stop telemarketing would be to make phone calls cost money - all this free local dialing is the root cause of the problem. If the calls cost, then people would 1) target more selectively and 2) not dial random numbers and so staying ex-directory would work. In Aus and NZ we had fixed price local calls (20c or so) which meant that most people were not penalised but it would add up for telemarketers (who probably get cut off within a few seconds 80% of the time!). I can probably count on the fingers of one hand the number of telemarketing calls I got in UK, Aus and NZ... and most of those were from my own financial organisation trying to sell insurance rather than some random caller who does not even check that I speak their language!