Look for PlayTones() application in Asterisk and indications.conf, that would probably help.
Actually I had almost same problem before and used a ringing tone file with option m for Dial(). PSTN hadsomething wrong and was not sending me tones, so I had to have my own tones until it was fixed.
Also try to get close to Ringing() and Busy() applications, they may better fit for your situation.
Anyway, to play with tones and record them to a file, I’ve found a very useful windows application called CPT-Master. (I believe trial version would be ok for your needs).
For US ringing tone put “440+480” in Frequency field, “2 on 4 off” in Cadence field, press Play and then Save it as wav if you like it. It will create a file containing several rings, you don’t need that, cut it to one ring-silence with any audio editor, then convert the wav to appropriate format using sox or anything else, create a new musiconhold class pointing to that file, name it ‘ringing’ or something and have Dial() with m(ringing).