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: http://svn.digium.com/svn/asterisk/trunk@134088 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
255f52d647
commit
aa5fc8c256
4
CHANGES
4
CHANGES
|
@ -102,6 +102,10 @@ Application Changes
|
|||
* The Dial() application no longer copies the language used by the caller to the callee's
|
||||
channel. If you desire for the caller's channel's language to be used for file playback
|
||||
to the callee, then the file specified may be prepended with "${CHANNEL(language)}/" .
|
||||
* SendImage() no longer hangs up the channel on error; instead, it sets the
|
||||
status variable SENDIMAGESTATUS to one of 'SUCCESS', 'FAILURE', or
|
||||
'UNSUPPORTED'. This change makes SendImage() more consistent with other
|
||||
applications.
|
||||
|
||||
SIP Changes
|
||||
-----------
|
||||
|
|
|
@ -97,6 +97,13 @@ Voicemail:
|
|||
|
||||
Applications:
|
||||
|
||||
* SendImage() no longer hangs up the channel on transmission error or on
|
||||
another type of error; in those cases, a FAILURE status is stored in
|
||||
SENDIMAGESTATUS and dialplan execution continues. The possible return values
|
||||
stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and UNSUPPORTED. ('OK' has
|
||||
been replaced with 'SUCCESS', and 'NOSUPPORT' has been replaced with
|
||||
'UNSUPPORTED'). This change makes the SendImage application more consistent
|
||||
with other applications.
|
||||
* ChanIsAvail() now has a 't' option, which allows the specified device
|
||||
to be queried for state without consulting the channel drivers. This
|
||||
performs mostly a 'ChanExists' sort of function.
|
||||
|
|
|
@ -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)
|
||||
|
|
Reference in New Issue