1. Be aware of your goals for calling upon students.
As teachers, it is vitally important that we are goal oriented. As such, we should establish goals not only for learning outcomes but for classroom management and maintaining an atmosphere that is beneficial to learning. Whether or not the method for calling on students is effective depends on whether it effectively supports your teaching goals. Do you want to make sure the students are paying attention? Do you want to generate formative discussion? Do you want to assess understanding? Set appropriate goals, then gear classroom questioning toward accomplishing them. Periodically, evaluate how effectively the method supports your goals, then adapt the method if necessary to better suit your needs.
2. Make question-and-answer a class activity, not an individual one.
Asking students questions, when done incorrectly, can actually be like giving the class permission to check out. Avoid creating situations that only require one person to think. If I ask, "Johnny, what is the square root of 9?" anyone not named Johnny knows they can relax and they miss out on the practice or the thinking that the question was meant to provoke. Instead, direct questions to the whole class. I often phrase questions similar to the following manner, "Here is a question that I'd like you to answer: what is the square root of 9? I'll give you ten seconds." This way, students know what the question is and how much time they have to think about it. If I ask, "Okay class, what is the value of $x$ in this diagram? I'll give you 40 seconds." Students know that they have enough time to think carefully, work out the answer on paper, and perhaps even consult a classmate- and they don't expect that they should know the answer immediately.
Clearly, it's important for this method that students are not shouting out answers when they arrive at them, but waiting until the time expires with their hand raised or their pencil down, and that the teacher actually gives enough time to think about the question before calling on a student volunteer or by name. This way the student who takes longer to think or has to write intermediate steps has time to arrive at an answer and is able to meaningfully participate. This makes a huge difference in student confidence when answering questions in front of the class.
3. Ask questions with open answers
Don't ask questions that allow for guessing, like "yes or no" questions, like "is this a right triangle?", or even worse, "This is a right triangle, isn't it?" Even if the student answers correctly, it's not as helpful for determining if they understand or are paying attention than an open ended question that must be answered in a complete sentence.
4. Follow through by asking about reasoning
Regardless of whether the answer is correct, ask the student how they arrived at their answer. This will allow other students who arrived at the same answer to understand common errors, which develops an atmosphere where it's okay to give a wrong answer, or allow students who are making errors to observe how to get to the right answer. I'll often ask for a second student to try to explain the reasoning of the first in the event that the first answer is correct.
5. Make student selection fair.
Unlike some comments on the OP, I am not of the opinion that asking open questions is unfair to introverts. On the other hand, allowing students to volunteer answers, and never calling upon students, will destroy a learning atmosphere. Students will learn that they simply don't need to try to think of an answer if they don't feel like it or they find it difficult. Then it's tempting to call on students as a disciplinary action- to ask them when you know they haven't paid attention. This is detrimental to a positive learning atmosphere, causes disdain for the teacher, and hinders learning by wasting time with poor guesses and "uh, can you repeat the question?". Relying on frequent volunteers can result in students feeling that the teacher favors students who volunteer regularly or that the students who do not volunteer are inferior to students who are able to answer- "She just get's it, because she's a math wiz. I just can't do that". In the event that a regular hand-raiser does get an answer incorrect, the atmosphere is not one that encourages or accepts incorrect answers.
In my classroom, each student has a number on their assigned desk. After I ask the question and time has expired or I see that the class has finished reasoning, I roll a large die and call on the student that it picks. This keeps the selection above criticism of unfairness and the distribution of students called upon relatively uniform. I often allow students to roll the die, which adds excitement and some humor. One can find twenty and thirty sided dice from a number of retailers.
6. Get multiple answers before revealing the correct one.
When a student answers a question, before discussing the answer, I often ask another student or two for their response. When the students have multiple answers, I get excited- it's a perfect opportunity to have them demonstrate their work or reasoning on the whiteboard. I keep extra credit tickets that I offer to students who go to the board, regardless of whether or not they are correct, so students are usually excited for the opportunity to get a bonus point on a quiz or test. This helps create a classroom atmosphere where giving the wrong answer is okay, and where being wrong can actually benefit the student directly.
Overall, find a question method that works for you, works for your students, and allows your students the greatest advantage for learning. More discussion of these ideas in addition to a wealth of helpful suggestions about classroom management can be found in David R. Johnson's book, Every Minute Counts: Making Your Math Class Work.