Generating A Different Countries Ringtone On A Per Call Basis

Home » Asterisk Users » Generating A Different Countries Ringtone On A Per Call Basis
Asterisk Users 5 Comments

We can use the Dial() command with the ‘r’ option in order to generate the UK ringtone (as we are UK based the default is UK). How do we generate a USA ringtone for example?

I have tried setting the CHANNEL(language) and CHANNEL(tonezone) to ‘us’
(and calling Progress() beforehand) and although this works for Playtones() the Dial command still continues to play the UK ringtone.

Any ideas?

Thanks Gareth

5 thoughts on - Generating A Different Countries Ringtone On A Per Call Basis

  • Try the following:

    extension => 6001,1,Set(CHANNEL(tonezone)=us)
    same => n,Dial(SIP/6001,,r(ring))

    The argument passed to the r option should be the specific tone in the category of the tonezone you are setting.

  • Thanks. I did try that as pretty much the first thing I tried but it continued to play the UK ring tone. Its not a big issue as we can work around it by playing music on hold instead which is a recording of the required ring tone. Having asterisk generate it just seemed the neater option.

  • Are you sure you specified an argument to the ‘r’ option? Or did you just try ‘r’ without an argument?

    For me.. if I specify a uk tonezone, to get it playing uk tones I have to specify an argument to the ‘r’ option. If I try just ‘r’ by itself then I get US tones. You would think, that without specifying an argument, it should default to the tonezone in use on the channel. That may be a bug or oversight.

    What version of Asterisk were you using, and what channel type?

  • That could well be it. It would have been with the standard ‘r’ option and not ‘r(ring)’ as thats the way our feature is currently programmed.

    I have just tested it with r(ring) and that works.

    Thanks

  • Woot. Glad its working at least. I’ll file an issue on the tracker, as it is fairly non-intuitive that without specifying an argument the ‘r’
    option won’t use indications from the tonezone being used by the channel.