This paper proposes a distributed channel allocation mechanism for ATM networks. In this mechanism, agents are assigned to traffic sources and allocate channels to incoming calls in a distributed manner. Channel allocation is based only on the sampled channel utilization values locally available to agents. There is no direct exchange of information assumed between agents. Due to the distributed nature of the proposed mechanism, this mechanism causes oscillations during channel utilization, when there is a delay associated with the sampling of channel utilizations and the processing of sampled values at agents. This oscillation increases the cell loss in a channel. According we propose methods for estimating channel utilization in order to reduce the oscillations and show their effectiveness through simulations. The proposed mechanism requires little computational processing, is simple to implement, and achieves efficient channel allocation even if highly bursty calls. It is therefore suitable for ATM networks.