Any number of carpet cleaners promise to remove stains and odors, and most work well on fresh deposits but cleaning up dry messes is a chore. I've found a solution, that may work for you. I've only done this once, on a colorfast rug, and do not recommend it on natural dyes, unless you have a thing for bleeding madras.
Take the rug outside and prop it over something so it's not directly laying on the ground. Then turn the hose on it. Soak it good. Do it again, then again. In an hour or so do it once more, this time hosing off the ground underneath. You'll understand why once you're there. For sport, in another hour you may want to soak off the rug again, just for good measure, and leave it in the sun to dry. In a day or so it will be dry, fresh and clean smelling.
The photo above was taken Sunday afternoon. Saturday night Mrs. T suggested I bring it in, I countered with "give it one more night". We awoke to rain Sunday morning. Another lesson learned.
The waterfall fountain works, and makes the most soothing sounds. The neighborhood frogs have found it and appear most happy playing in the cement pond. Hopefully they will come to prefer it over the pool and its chemicals.
Toad