In this paper we study a single-server system with Erlang-r distributed service times and arbitrarily distributed interarrival times. It is shown that the waiting-time distribution can be expressed as a finite sum of exponentials, the exponents of which are the roots of an equation. Under certain conditions for the interarrival-time distribution, this equation can be transformed to r contraction equations, the roots of which can be easily found by successive substitutions. The conditions are satisfied for several practically relevant arrival processes. The resulting numerical procedures are easy to implement and efficient and appear to be remarkably stable, even for extreme high values of r and for values of the traffic load close to 1. Numerical results are presented.