Wireless mesh networks (WMNs) are emerging as a promising technology for backhauling data traffic from wireless access networks to the wired Internet that expected to support various types of applications with different quality of service (QoS) requirements. While wireless mesh networking has attracted great industrial and academic interest, many research challenges remain in all protocol layers. Moreover, traditional layered approaches, initially designed for wired networks, have been proven insufficient for WMNs due to the wireless channel variability, co-channel interference and new data traffic peculiarities. In this work we provide a complete cross-layer solution for WMNs. Our protocol architecture framework comprises a novel joint QoS routing and opportunistic scheduling scheme that exploits the multiuser diversity gain while guarantees end-to-end packet delivery that satisfies the multiple QoS requirements of the underlying applications. On top of this, the interaction of these algorithms with the transport layer is investigated where the suitability of several techniques, such as Explicit Congestion Notification, Explicit Loss Notification and Explicit Rate Notification is considered. In order to assess the performance of the proposed protocols, a realistic and comprehensive simulation platform for WMNs that spans all layers from physical to application has been implemented using OPNET modeler. This paper provides a detailed description of the proposed protocols and the simulation platform together with some performance evaluation results.