We propose a refinement and a simplification of the behavioural semantics of session types, based on the concepts of compliance and subbehaviour from the theory of web contracts. We introduce three relations on a suitable class of behaviours with higher-order input/output, called "session behaviors". Such relations, depending on each other, represent the idea of sub-behaviour from the point of view of a client, a server or a peer, respectively. A restriction of the intersection of the first two characterizes the usual sub-behaviour relation (from the literature). We then device a formal system for three subtyping relations (dubbed CSPsubtyping) for session types that takes into account the role played by a user of a channel during an interaction, so extending Gay and Hole subtyping theory. We show that our session behaviors and sub-behaviour relations provide a sound and complete semantics for CSP-subtyping (and for Gay and Hole subtyping as a by-product).