--- asterisk-1.8.15.0-CLEAN/res/res_agi.c 2012-05-07 12:01:28.000000000 -0400 +++ asterisk-1.8.15.0-0.2.0/res/res_agi.c 2013-01-17 14:48:57.000000000 -0500 @@ -2079,12 +2079,18 @@ static int handle_sayalpha(struct ast_channel *chan, AGI *agi, int argc, const char * const argv[]) { - int res; + int res, casesensitive = 0; - if (argc != 4) + if (argc < 4 || argc > 5) return RESULT_SHOWUSAGE; - res = ast_say_character_str_full(chan, argv[2], argv[3], chan->language, agi->audio, agi->ctrl); + if (argc > 4) { + if (strcasecmp(argv[4], "i") && strcasecmp(argv[4], "s")) { + return RESULT_SHOWUSAGE; + } + casesensitive = (!strcasecmp(argv[4], "s") ? 1 : 0); + } + res = ast_say_character_str_full(chan, argv[2], argv[3], chan->language, casesensitive, agi->audio, agi->ctrl); if (res == 1) /* New command */ return RESULT_SUCCESS; ast_agi_send(agi->fd, chan, "200 result=%d\n", res);