In this paper, we study a sampling problem, in which freshly sampled data is sent to a remote destination via an unreliable channel, and acknowledgments are sent back on a feedback channel. Both the forward and feedback channels are subject to random transmission times. We optimize the sampling strategy at the source (e.g., a sensor), aiming to enhance the freshness of data samples delivered to the destination (e.g., an estimator). This sampling problem is motivated by a distributed sensing system, where an estimator estimates a signal by combining noisy signal observations collected from a local sensor and accurate signal samples received from a remote sensor. We show that the optimal estimation error is an increasing function of the age of received signal samples. The optimal sampling problem for general non-decreasing age functions is formulated as an MDP with an uncountable state space. An exact solution to this problem is derived, which has a simple threshold-type structure. The threshold can be calculated by low-complexity bisection search and fixed-point iterations. We find that, after a successful packet delivery, the optimal sampler may wait before taking the next sample and sending it out, whereas no waiting time should be added if the previous transmission failed.