Traditional network-level quality of service (QoS) techniques are efficient from a network perspective, but they have not provided a QoS that is satisfactory to users. This paper proposes a dynamic class-based scheme to enhance user-perceived voice quality. Its main strength lies in its careful consideration of users' perception of quality and mapping it to specific values of multiple network parameters such as delay and packet loss rate. It then dynamically assigns higher priority to voice traffic that are closer to delay and loss tolerance so as to improve their chances of meeting deadlines and loss constraints, which in turn increases the quality of voice traffic transmission over IP network yielding QoS satisfaction both for VoIP users and service providers.