A method for selecting a constellation for pulse coded modulation, PCM, upstream transmissions, comprising: evaluating the distribution of the echo off-line using a representative hybrid; designing (92, 94) the constellation of points offline for a variety of values of the computed power of the echo, detection of robbed-bit signalling, RBS,, and the type of codec μ-law or A-law; and storing the constellation points for use during run-time wherein said step of designing the constellation points comprises: selecting the target error rate, echo level, a typical hybrid response, coding gain, and Gaussian noise levels; determining a plurality of possible values of a and b, wherein the probability of the echo levels being greater than a and the noise being greater than b is given by the product [p(¦echo¦>a) p(¦noise¦>b)], said values of a and b being determined so that said product is equal to the target error rate given the coding gain, wherein the probability that the absolute echo is greater than some value, a, is p(¦echo¦>a) where p(¦echo¦>a) is derived from a cumulative distribution function based on a typical hybrid response and the probability that the absolute noise is greater than some value, b, is p(¦noise¦>b) where p(¦noise¦>b) is defined by the complementary error function for Gaussian random variables for which there is no closed-form expression; adding said possible values of said echo levels and said noise levels for each possible value of a and b to the selected constellation point; quantizing the result; subtracting the echo; tracking the worst cases of positive and negative noise; and storing said values for each said constellation point. evaluating the distribution of the echo off-line using a representative hybrid; designing (92, 94) the constellation of points offline for a variety of values of the computed power of the echo, detection of robbed-bit signalling, RBS,, and the type of codec μ-law or A-law; and storing the constellation points for use during run-time wherein said step of designing the constellation points comprises: selecting the target error rate, echo level, a typical hybrid response, coding gain, and Gaussian noise levels; determining a plurality of possible values of a and b, wherein the probability of the echo levels being greater than a and the noise being greater than b is given by the product [p(¦echo¦>a) p(¦noise¦>b)], said values of a and b being determined so that said product is equal to the target error rate given the coding gain, wherein the probability that the absolute echo is greater than some value, a, is p(¦echo¦>a) where p(¦echo¦>a) is derived from a cumulative distribution function based on a typical hybrid response and the probability that the absolute noise is greater than some value, b, is p(¦noise¦>b) where p(¦noise¦>b) is defined by the complementary error function for Gaussian random variables for which there is no closed-form expression; adding said possible values of said echo levels and said noise levels for each possible value of a and b to the selected constellation point; quantizing the result; subtracting the echo; tracking the worst cases of positive and negative noise; and storing said values for each said constellation point. selecting the target error rate, echo level, a typical hybrid response, coding gain, and Gaussian noise levels; determining a plurality of possible values of a and b, wherein the probability of the echo levels being greater than a and the noise being greater than b is given by the product [p(¦echo¦>a) p(¦noise¦>b)], said values of a and b being determined so that said product is equal to the target error rate given the coding gain, wherein the probability that the absolute echo is greater than some value, a, is p(¦echo¦>a) where p(¦echo¦>a) is derived from a cumulative distribution function based on a typical hybrid response and the probability that the absolute noise is greater than some value, b, is p(¦noise¦>b) where p(¦noise¦>b) is defined by the complementary error function for Gaussian random variables for which there is no closed-form expression; adding said possible values of said echo levels and said noise levels for each possible value of a and b to the selected constellation point; quantizing the result; subtracting the echo; tracking the worst cases of positive and negative noise; and storing said values for each said constellation point.