We consider a queueing system, commonly found in inbound telephone call centers, that processes two types of work. Type-H jobs arrive at rate λH, are processed at rate μH, and are served first come, first served within class. A service-level constraint of the form E[delay] ≤ α or P {delay ≤ β} ≥ α limits the delay in queue that these jobs may face. An infinite backlog of type-L jobs awaits processing at rate μL, and there is no service-level constraint on this type of work. A pool of c identical servers processes all jobs, and a system controller must maximize the rate at which type-L jobs are processed, subject to the service-level constraint placed on the type-H work. We formulate the problem as a constrained, average-cost Markov decision process and determine the structure of effective routing policies. When the expected service times of the two classes are the same, these policies are globally optimal, and the computation time required to find the optimal policy is about that required to calculate the normalizing constant for a simple M/M/c system. When the expected service times of the two classes differ, the policies are optimal within the class of priority policies, and the determination of optimal policy parameters can be determined through the solution of a linear program with O(c3) variables and O(c2) constraints.