[Home]

Summary:ASTERISK-20782: Allow SayAlpha to announce "Uppercase <letter>" in a string.
Reporter:Kevin Scott Adams (nivek)Labels:
Date Opened:2012-12-11 08:51:49.000-0600Date Closed:2013-08-22 17:36:01
Priority:TrivialRegression?No
Status:Closed/CompleteComponents:Applications/NewFeature
Versions:1.8.15.0 Feature Tracker Frequency of
Occurrence
Related
Issues:
is related toASTERISK-22659 Make a new core and extra sounds release
Environment:CentOS 5.8 x86_64 running Asterisk 1.8.15Attachments:( 0) include-asterisk-say.h.patch
( 1) main-channel.c.patch
( 2) main-pbx.c.patch
( 3) main-say.c.patch
( 4) res-res_agi.c.patch
( 5) uppercase.tar.gz
( 6) uppercase.wav
Description:The application SayAlpha currently does not allow for the announcement of "Uppercase" letters in the string.
The example we came across is in our IVR that allows users to reset their password.   When the password is auto-generated by the back-end system the security policy specs that the password must have Upper case letter(s) in the password, leading to the Asterisk system to just announce letters.
This patch is a quick and dirty way to get Uppercase to be announce (e.q. - "g Uppercase h n b Uppercase y").

Enhancements could be to send a option with the SayAlpha to enable the Uppercase code or a channel variable.  You pick.

Uppercase sound files will be attached once Allison has completed them.
Comments:By: Kevin Scott Adams (nivek) 2012-12-11 08:54:25.338-0600

Uploaded patch to main/say.c

By: Kevin Scott Adams (nivek) 2012-12-11 13:58:24.176-0600

Change the patch to use the 'uppercase' sound from the tarball that is also attached.

By: Kevin Scott Adams (nivek) 2013-01-17 13:53:44.639-0600

Uploaded new patches that allows an option in the SayAlpha application.

SayAlpha(string[,casetype]);

Omitting or using an 'i' in the option field 'casetype' will pronounce the 'string' using case Insensitive characters.

Using a 's' in the option field 'casetype' will pronounce the 'string' using case Sensitive characters.

Examples:
SayAlpha(aBc) will produce the announcement 'a' 'b' 'c'. - Default of the current SayAlpha application.

SayAlpha(ABc,i) will produce the announcement 'a' 'b' 'c'.

SayAlpha(AbC,s) will produce the announcement 'uppercase' 'a' 'b' 'uppercase' 'c'.

I made changed to the res_agi but did not test it yet.
Was looking at other application to get an idea of how it should be.

By: Andrew Latham (lathama) 2013-01-17 16:03:57.400-0600

I like what you are doing here.  Looking at some of your sources I think this will need a reviewboard.  Add some documentation tags, short an sweet will work explaining that the sound "uppercase" would be said before the letter.  Also need diff for CHANGES, example use in extentions.conf.sample and the wiki would auto update from the xmldoc tags.

By: Kinsey Moore (kmoore) 2013-08-21 14:08:08.576-0500

FYI, this is up on reviewboard here: https://reviewboard.asterisk.org/r/2725/
I'm currently doing rework on the patch based on some feedback and the new version should be up later tonight.

By: Kevin Scott Adams (nivek) 2013-09-23 09:12:58.300-0500

Attached the original Allison 48kHz 16-bit signed linear format as requested.