It is NOT OK for them to call or go to your home to solicit for anything.
There is a national "do not call" list, and a state "do not call" list that you can request no calls. It takes a few weeks to be circulated, but eventually the calls will stop. Once your on the 'do not call' list, you can simply say "i am on the do not call list" when someone calls and hang up on them. If the same person, company, or group calls back repeatedly, you can take their call, ask for their number and report them to the state or national do not call group and they will contact those folks and give them a warning. If they get another complaint those callers will be fined.
Those that come to your door do not deserve your courtesy. Simply answer the door, and tell them you are not interested and do not return, then close your door and lock it. If they come back you can call your local police and report them for harassing you. Usually one call from the local law enforcement will deter any more visits from them.
Just because your phone rings, or someone rings your door bell or knocks on your door, does not mean you are obligated to answer the phone or open you door. Simply ignore them they will hang up the phone or walk away from you door if they get no response from you.
I used to get calls from Dish Network starting from 8AM til 9PM. You can go on line and file a complaint with the FCC, as i did, and they will contact the solicitors with a warning, after the 2nd or 3rd time you report them they will be fined by the FCC. After they got their warning from the FCC, i got a letter from Dish Network apologizing for their calls, and never heard from them again.