In the telecommunications sector product development must minimise time to market while delivering high levels of dependability, availability, maintainability and scalability. High level languages are concise and hence potentially enable the fast production of maintainable software. This paper investigates the potential of one such language, Erlang, to deliver robust distributed telecoms software. The evaluation is based on a typical non-trivial distributed telecoms application, a Dispatch Call Controller (DCC) measured on a Beowulf cluster. Our investigations show that the Erlang implementation meets the DCC's resource reclamation and soft real-time requirements, before focusing on the following reliability properties. - Availability, e.g. recovery from failures is fast and repeated failures don't reduce post-recovery throughput. - Redundancy degree, e.g. how many simultaneous copies of the system state can be maintained without impairing performance? - Resilience, e.g. achieving a throughput of 101% at 1000% load on 4 processors. - Dynamic adaptability, e.g. the system can be dynamically upgraded by adding nodes without interruption of service. We critique Erlang's fault tolerance model, arguing that it is low cost, parameterizable and generic. As the Erlang DCC is less than a quarter of the size of a similar C++/CORBA implementation, the product development in Erlang should be fast, and the code maintainable. We conclude that Erlang and associated libraries are suitable for the rapid development of maintainable and highly reliable distributed products. © Springer-Verlag Berlin Heidelberg 2005.