## 1 Introduction  
The network routing protocols in WSNs perform similar objectives in order to distribute network reachability information. They may share the complete routing table or exchange particular information. Most existing routing approaches use dynamic information, but in some cases, static information is more suitable. However, the major objectives of introducing routing protocols for WMSNs are for prolonging the sensor network battery lifetime, ensuring the connectivity under several scenarios, enhancing the network survivability, handling energy consumption efficiently, reducing complexity and latency, improving WMSN performance, _etc._[1; 2]. Routing protocols differ due to their scalability and performance features. From another perspective, WMSNs face several restrictions due to their limited power supply and computing capability, high traffic volume and limited bandwidth [3]. There are several performance factors that affect and influence WMSN routing protocol design, such as data aggregation, network deployment, data delivery models and network dynamic. These design factors consume excess energy as well as affect the scalability and QoS.  
The performance of a routing protocol is associated with an architectural design that can be dynamic or static [4]. In a dynamic network, the role of sensor nodes and sinks is very important. On the other hand, mobility of the sinks and cluster-heads is also essential. Node deployment affects the routing performance. The deployment may be self-organized or deterministic. In self-organizing deployments, the sensor nodes are randomly scattered and generate an infrastructure in an _ad hoc_ fashion. In deterministic positions, the sensors are manually placed and data are forwarded through pre-defined routes. The routing protocols are based on data delivery mechanisms with respect to the reduction of energy consumption and route permanence [5; 6]. Data aggregation is an issue at the routing level because sensor nodes may generate the same packets from multiple nodes that can cause the network to be flooded and waste more energy. This problem can be handled by using functions such as min, max, suppression and average. These functions can be applied partially or fully for each sensor node which leads to substantial energy savings. This technique can achieve traffic optimization and energy efficiency using well organized quality of service routing protocols [7; 8].  
Several efficient routing protocols in different categories have currently been introduced for the WMSNs. However, there is still the need for more research to be conducted by introducing not only energy efficient routing protocols, but also, focusing on other areas. Some important factors should be considered when developing a routing protocol such as an energy balanced network, node mobility and integration of fixed with mobile networks, and QoS [9; 10; 11; 12].  
QoS is highly important when designing routing protocols, particularly in critical applications such as healthcare and the military. Many of the introduced algorithms have been analyzed by using simulation tools _i.e._, NS2, OPNET. Some of these algorithms might be implemented in real deployments _i.e._, The Deadline-aware Energy-efficient Query Scheduling (DEQS) [13], Implicit Geographic Forwarding (IGF) [14] in military networks, the Energy-aware Temporarily OrderedRouting Algorithm (E-TORA) [15] in the health field. Also, there are the algorithms Two-Tier Data Dissemination (TTDD) [16], Column-Row Location, Routing On-demand Acyclic Multipath (ROAM) [17]. All of these are not completely functional in mobile environments, which can further be improved in order to control mobility and excess energy consumption. We focus in this survey paper on QoS routing protocols with a discussion of their classification, strengths and weaknesses, deployment of QoS protocols in particular applications and research directions for improving the QoS routing protocols.