Call your state representative. That's why they get the big bucks.
Better yet, write him/her. My experience is if I write (or email) I get a piece of correspondance back. Keep it in a safe place and use it if need be.
While it's nice to keep in touch with your reps to let them know you care about their actions they are not the ones to ask regarding the legality or illegality of an issue. Don't bother asking a LEO if something is or is not legal.
The person to ask is a practicing attorney, preferably the local DA or an Attorney with the State Attorney Generals office. These are the persons that decide if an allegation by LEO becomes a charge in court.
Cops can ask anyone anything they want to. In some states such as Nv. etc
that are covered by the Hiibel vs US case you must identify yourself. Beyond that your right to remaing silent is absolute. If however you excercise that right you can expect to be hauled into the station for questioning because you failed to cooperate with a LEO. This will be misconstrued as "obstructing an officer" it isn't but thats what they will call it. You will then be forced to play the expensive lawyer game. You will probably win eventually but your bank account will lose.
If an officer asks you a question answer it as briefly and succinctly as possible. Answer it honestly but do not add to or embelish your response in any way. If the officer asks "where are you going you answer "work". Not
" I work at Safeway and after getting gas and hitting the post office I'm heading there". Just say "work". If he asks "where?" Say, "Safeway".
Do not lie but do not give them anything but the shortest most direct answer you can. Doing this indicates cooperation but most LEO will not take the time to play the word games to get more info from you. Volunteering extra
info gives them details to use to fish even further. Deny them this.
If they persist in irrelevant questions ask the officer if your are under arrest. If he says "no", ask if you are free to leave. If he says no than you are being detained. Consider this the same as an arrest, say nothing and ask for a lawyer.
The guy behind the badge is not your friend when he stops you or asks you a question about any situatuion that you did not call the police about. His job is to find someone to arrest and you will do as well as the next guy.