I spent three weeks at a German high school right after I graduated from my own high school. One day I said to my host (a student at the school): "Ich soll mehr Deutsch sprechen."
His response? (He responded in English): "Who is making you?"
Before that point I had always assumed sollen was really just "should", which in English can imply that you're doing something because you think it's best. "I should go to the store." etc.
After that I realized that it must be closer to "to be supposed to", as in "I'm supposed to be speaking more German."
Primarily I'm asking for a little clarification. Are my assumptions correct? Does "sollen" mean "should" or "supposed to" or both, or one or the other at different times?