That's why it's always best to book with an agent - you get the same pricing, sometimes less, plus you don't have to get all those phone calls from the cruise lines. And then you also only have to call one person for all the cruise lines instead of calling each cruise line individually.
But if you do get the calls, do like you mentioned; let them know to put in your file that they are not to call you. If they do, don't talk to the person calling - ask to speak to a supervisor and tell them to put you on the do not call list. The person calling is simply a seller and really has no power or authority other than to try and sell you something.
If you book through an agent, each cruise line has strict policies that they are not to call you. If they ever do, then a quick phone call to your agent will get that taken care of very quickly.
I tell my clients that when they are putting personal information in the system to use my email address and phone number to insure they don't get pestered by the cruise lines, and to only put their mailing address instead of mine if they don't mind getting advertisements in the mail. Everyone gets enough spam and this is just one way to help control what you get from the cruise lines.