This document proposes a novel service providing protocol with QoS support over mobile ad-hoc networks (MANETs). It collects a list of available service providers and scores them based on reliability and response time to select the best provider. It uses a hidden Markov model to estimate the current state of the network as stable or dynamic, and service availability as normal or faulty. Based on the estimated state, different selection strategies are used to minimize hand-offs and provide reliable service, such as selecting providers with minimum response time in a stable, normal state or adding factors like hop count or mean time to failure in dynamic or faulty states. The method was evaluated in a MANET emulator and shown to improve disconnection and SLA change rates