West Ham beat Birmingham 2-1 in Carling Cup semi-finals