How to make custom Playtone sound (progress tone)?

I want to play progress tone in progress.
Currently, I realize this like below.

same => n,Progress
same => n,Playtones(400/100,0/400)
same => n,Wait(3)
same => n,Dial(2001)
same => n,Hangup

But Playtones sound is noisy.
I think making less volume file and playing it by Playtones is solution.
When it comes to Playback(), adding file to /usr/share/asterisk/sound is the way.
How can I realize it for Playtones()?
indications.conf seems to have only specified settings.

Also, I don’t want to use volume function if possible. Because if the process which returns volume is fail, call itself will be less volumed…

You will need to play the recording using Playback ().

indications.conf will use the same code to generate the tones as does Playtones.

I’d question your diagnosis of the problem. I doubt that Asterisk uses anything close to 100% modulation for tones.

Can you confirm that you you are using alaw, ulaw, or g722 codecs, as most other codecs (including g729 and gsm) are unsuitable for tones, as they are based on human voice tract models and the human voice cannot create non-harmonically related tone pairs.

Thank you for your reply!

I’m using ulaw.
I said Playtones() sound is noisy, that means Playtones() is little bit loud. not too loud.

Playback () doesn’t move on. What I mean is if Playback () file is 30s duration, Playback () plays 30s.
I just want to play progress tone and want to move on dial immediately.

I’ll do some more research.

try put your recording in a subfolder for MOH and create a music on hold “class” for it and use that in Dial m([class])
as defined in musiconhold.conf

In an engineering context, noisy means with added noise, and noise means an unpredictable signal.

@TheMark
Thank you. I didn’t know that option.
I tried it but ringing tone disappeared…
I want progress with progress tone → ringing tone until answer.

@david551
Thank you for your advice!
I misunderstood noisy = loud :slight_smile:

Currently, we decided to play progress tone only at client.

As a side note, VOLUME function works as I expected.
I think this is the only solution…

Thank you!

if you want it before you use DIal try this

MusicOnHold(class[,duration])

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.