We study the congestion control in a network where the users may have different types of traffic, such as the traffic with fixed/variable rate, delay sensitive/insensitive, etc. To reflect the different requirements on delay by different applications, explicit terms of delay are added to the utility function. We analyze the essential dynamics for the network utility maximization (NUM) with the new utility functions. Compared with the basic NUM where the utility function is only a function of rate, the dynamics for link price is now related to the delay term added in the utility function. The analysis is applied to the system with voice and data traffic, and distributed algorithms are proposed to allocate the resource such that the utility of voice and data is jointly optimized. The numerical results show that by the new price dynamics, we can accomplish optimal congestion control for users with delay sensitive/insensitive traffic in a network. In particular, in a network with data and voice traffic with priority queueing, the algorithm can lead the network to achieve higher quality of voice traffic and higher throughput of data traffic, with the sacrifice of the packet delay of data traffic.