Network design models with more than one facility type have many applications in communication and distribution problems. Due to their complexity, previous studies have focused on finding good heuristic solutions. In this study, we develop algorithms that solve the multi-level network design problem to optimality. In our approach, the problem is converted to a Steiner tree problem and is solved by a branch-and-cut approach. Our computational study shows that the approach outperforms a dual ascent approach in the literature (Mirchandani, INFORMS J. Comput. 8 (3) (1996) 202) not only on solution times but also on the quality of the solutions.