Change SendImage() to output a more consistent status variable.

(closes issue #13134)
 Reported by: eliel
 Patches: 
       app_image.c.patch uploaded by eliel (license 64)
       UPGRADE.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@134088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2008-07-28 16:49:29 +00:00
parent 6291cd19bf
commit 75d38f6024
3 changed files with 24 additions and 11 deletions

View File

@@ -39,16 +39,15 @@ static char *synopsis = "Send an image file";
static char *descrip =
" SendImage(filename): Sends an image on a channel.\n"
"If the channel supports image transport but the image send fails, the channel\n"
"will be hung up. Otherwise, the dialplan continues execution. This\n"
"application sets the following channel variable upon completion:\n"
" SENDIMAGESTATUS The status is the result of the attempt, one of:\n"
" OK | NOSUPPORT \n";
"Result of transmission will be stored in SENDIMAGESTATUS\n"
"channel variable:\n"
" SUCCESS Transmission succeeded\n"
" FAILURE Transmission failed\n"
" UNSUPPORTED Image transmission not supported by channel\n";
static int sendimage_exec(struct ast_channel *chan, void *data)
{
int res = 0;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "SendImage requires an argument (filename)\n");
@@ -57,14 +56,17 @@ static int sendimage_exec(struct ast_channel *chan, void *data)
if (!ast_supports_images(chan)) {
/* Does not support transport */
pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "NOSUPPORT");
pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "UNSUPPORTED");
return 0;
}
if (!(res = ast_send_image(chan, data)))
pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "OK");
return res;
if (!ast_send_image(chan, data)) {
pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "SUCCESS");
} else {
pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "FAILURE");
}
return 0;
}
static int unload_module(void)