diff --git a/ChangeLog b/ChangeLog index b3bb7687aa..7488956558 100755 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,10 @@ 2005-11-07 Russell Bryant + * apps/app_queue.c: upgrade to new arg/option API and implement priority jumping control (issue #5580) + * res/res_indications.c: Add missing include of stdio.h + * many files: Add missing include of stdio.h, and remove some duplicate and unused header includes + * include/asterisk/app.h: Increment the arg_index in the options structure to fix applicaiton options that have arguments to them 2005-11-07 Kevin P. Fleming diff --git a/apps/app_chanisavail.c b/apps/app_chanisavail.c index 10a377f010..acdc4d9f84 100755 --- a/apps/app_chanisavail.c +++ b/apps/app_chanisavail.c @@ -24,10 +24,10 @@ */ #include +#include +#include #include #include -#include -#include #include #include "asterisk.h" diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c index 07b8d8d608..4e96d8f6df 100755 --- a/apps/app_chanspy.c +++ b/apps/app_chanspy.c @@ -23,8 +23,9 @@ */ #include -#include +#include #include +#include #include #include "asterisk.h" diff --git a/apps/app_controlplayback.c b/apps/app_controlplayback.c index 47b82ac4e0..6cd577d7f3 100755 --- a/apps/app_controlplayback.c +++ b/apps/app_controlplayback.c @@ -22,8 +22,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_db.c b/apps/app_db.c index 60d25f0e6e..659f9686e7 100755 --- a/apps/app_db.c +++ b/apps/app_db.c @@ -26,8 +26,9 @@ */ #include -#include +#include #include +#include #include #include "asterisk.h" diff --git a/apps/app_dictate.c b/apps/app_dictate.c index 0feee10b85..91a1650eac 100755 --- a/apps/app_dictate.c +++ b/apps/app_dictate.c @@ -26,8 +26,9 @@ */ #include -#include +#include #include +#include #include /* for mkdir */ #include "asterisk.h" diff --git a/apps/app_directed_pickup.c b/apps/app_directed_pickup.c index 400ee0728f..cd9c62e015 100755 --- a/apps/app_directed_pickup.c +++ b/apps/app_directed_pickup.c @@ -24,8 +24,9 @@ */ #include -#include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_dumpchan.c b/apps/app_dumpchan.c index 15fb3baba9..4802dfee16 100755 --- a/apps/app_dumpchan.c +++ b/apps/app_dumpchan.c @@ -26,8 +26,9 @@ */ #include -#include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_echo.c b/apps/app_echo.c index 1fbfba5efd..2b7c20079c 100755 --- a/apps/app_echo.c +++ b/apps/app_echo.c @@ -24,6 +24,7 @@ */ #include +#include #include #include diff --git a/apps/app_enumlookup.c b/apps/app_enumlookup.c index 6ff2141b08..435ff61e18 100755 --- a/apps/app_enumlookup.c +++ b/apps/app_enumlookup.c @@ -24,9 +24,9 @@ */ #include -#include +#include #include -#include +#include #include #include "asterisk.h" diff --git a/apps/app_externalivr.c b/apps/app_externalivr.c index c3e3c56279..ff5147d726 100755 --- a/apps/app_externalivr.c +++ b/apps/app_externalivr.c @@ -27,9 +27,9 @@ */ #include -#include +#include #include -#include +#include #include #include "asterisk.h" diff --git a/apps/app_flash.c b/apps/app_flash.c index 9a53dd3824..a9aae22b83 100755 --- a/apps/app_flash.c +++ b/apps/app_flash.c @@ -23,9 +23,10 @@ * \ingroup applications */ +#include +#include #include #include -#include #include #ifdef __linux__ #include diff --git a/apps/app_forkcdr.c b/apps/app_forkcdr.c index ad8eaa0a73..21073ff506 100755 --- a/apps/app_forkcdr.c +++ b/apps/app_forkcdr.c @@ -23,9 +23,9 @@ */ #include -#include +#include #include -#include +#include #include "asterisk.h" diff --git a/apps/app_getcpeid.c b/apps/app_getcpeid.c index 0eb16917a8..b2d883bc13 100755 --- a/apps/app_getcpeid.c +++ b/apps/app_getcpeid.c @@ -24,6 +24,7 @@ */ #include +#include #include #include diff --git a/apps/app_hasnewvoicemail.c b/apps/app_hasnewvoicemail.c index abb42e0c23..678d8c69bb 100755 --- a/apps/app_hasnewvoicemail.c +++ b/apps/app_hasnewvoicemail.c @@ -27,11 +27,12 @@ * \ingroup applications */ -#include #include -#include +#include #include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_image.c b/apps/app_image.c index 3e0f858d20..e23b274a99 100755 --- a/apps/app_image.c +++ b/apps/app_image.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_lookupblacklist.c b/apps/app_lookupblacklist.c index 93d3c8c493..1f7e30fd8d 100755 --- a/apps/app_lookupblacklist.c +++ b/apps/app_lookupblacklist.c @@ -24,8 +24,9 @@ * */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_lookupcidname.c b/apps/app_lookupcidname.c index bce2768f49..52587b03ae 100755 --- a/apps/app_lookupcidname.c +++ b/apps/app_lookupcidname.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_macro.c b/apps/app_macro.c index 6d99a79ca2..72b75777cc 100755 --- a/apps/app_macro.c +++ b/apps/app_macro.c @@ -23,10 +23,11 @@ * \ingroup applications */ -#include #include -#include +#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_md5.c b/apps/app_md5.c index b9d5412b1b..c9f4f0e110 100755 --- a/apps/app_md5.c +++ b/apps/app_md5.c @@ -24,8 +24,9 @@ */ #include -#include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_meetme.c b/apps/app_meetme.c index bca2ad9729..e9f52a7073 100755 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -24,10 +24,10 @@ */ #include -#include +#include #include +#include #include -#include #include #ifdef __linux__ #include diff --git a/apps/app_milliwatt.c b/apps/app_milliwatt.c index 446fd150aa..5ef708c1f2 100755 --- a/apps/app_milliwatt.c +++ b/apps/app_milliwatt.c @@ -24,9 +24,9 @@ */ #include -#include +#include #include -#include +#include #include #include "asterisk.h" diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c index ddf8f5248c..6667377171 100755 --- a/apps/app_mixmonitor.c +++ b/apps/app_mixmonitor.c @@ -27,8 +27,9 @@ */ #include -#include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_parkandannounce.c b/apps/app_parkandannounce.c index a40c2efd73..bb7aa38b06 100755 --- a/apps/app_parkandannounce.c +++ b/apps/app_parkandannounce.c @@ -26,10 +26,11 @@ * \ingroup applications */ -#include #include -#include +#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_playback.c b/apps/app_playback.c index 89e72669b7..485e735199 100755 --- a/apps/app_playback.c +++ b/apps/app_playback.c @@ -25,6 +25,7 @@ #include #include +#include #include "asterisk.h" diff --git a/apps/app_privacy.c b/apps/app_privacy.c index fe56694858..799f31bd23 100755 --- a/apps/app_privacy.c +++ b/apps/app_privacy.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_queue.c b/apps/app_queue.c index ae622f05a2..5d8b4bc4f0 100755 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -74,6 +74,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/channel.h" #include "asterisk/pbx.h" #include "asterisk/options.h" +#include "asterisk/app.h" +#include "asterisk/linkedlists.h" #include "asterisk/module.h" #include "asterisk/translate.h" #include "asterisk/say.h" @@ -151,27 +153,39 @@ static char *descrip = static char *app_aqm = "AddQueueMember" ; static char *app_aqm_synopsis = "Dynamically adds queue members" ; static char *app_aqm_descrip = -" AddQueueMember(queuename[|interface[|penalty]]):\n" +" AddQueueMember(queuename[|interface[|penalty[|options]]]):\n" "Dynamically adds interface to an existing queue.\n" "If the interface is already in the queue and there exists an n+101 priority\n" "then it will then jump to this priority. Otherwise it will return an error\n" +"The option string may contain zero or more of the following characters:\n" +" 'j' -- jump to +101 priority when appropriate.\n" +" This application sets the following channel variable upon completion:\n" +" AQMSTATUS The status of the attempt to add a queue member as a \n" +" text string, one of\n" +" ADDED | MEMBERALREADY | NOSUCHQUEUE \n" "Example: AddQueueMember(techsupport|SIP/3000)\n" ""; static char *app_rqm = "RemoveQueueMember" ; static char *app_rqm_synopsis = "Dynamically removes queue members" ; static char *app_rqm_descrip = -" RemoveQueueMember(queuename[|interface]):\n" +" RemoveQueueMember(queuename[|interface[|options]]):\n" "Dynamically removes interface to an existing queue\n" "If the interface is NOT in the queue and there exists an n+101 priority\n" "then it will then jump to this priority. Otherwise it will return an error\n" +"The option string may contain zero or more of the following characters:\n" +" 'j' -- jump to +101 priority when appropriate.\n" +" This application sets the following channel variable upon completion:\n" +" RQMSTATUS The status of the attempt to remove a queue member as a\n" +" text string, one of\n" +" REMOVED | NOTINQUEUE | NOSUCHQUEUE \n" "Example: RemoveQueueMember(techsupport|SIP/3000)\n" ""; static char *app_pqm = "PauseQueueMember" ; static char *app_pqm_synopsis = "Pauses a queue member" ; static char *app_pqm_descrip = -" PauseQueueMember([queuename]|interface):\n" +" PauseQueueMember([queuename]|interface[|options]):\n" "Pauses (blocks calls for) a queue member.\n" "The given interface will be paused in the given queue. This prevents\n" "any calls from being sent from the queue to the interface until it is\n" @@ -179,17 +193,30 @@ static char *app_pqm_descrip = "queuename is given, the interface is paused in every queue it is a\n" "member of. If the interface is not in the named queue, or if no queue\n" "is given and the interface is not in any queue, it will jump to\n" -" priority n+101, if it exists. The application will fail if the interface is not\n" -"found and no extension to jump to exists.\n" +"priority n+101, if it exists and the appropriate options are set.\n" +"The application will fail if the interface is not found and no extension\n" +"to jump to exists.\n" +"The option string may contain zero or more of the following characters:\n" +" 'j' -- jump to +101 priority when appropriate.\n" +" This application sets the following channel variable upon completion:\n" +" PQMSTATUS The status of the attempt to pause a queue member as a\n" +" text string, one of\n" +" PAUSED | NOTFOUND\n" "Example: PauseQueueMember(|SIP/3000)\n"; static char *app_upqm = "UnpauseQueueMember" ; static char *app_upqm_synopsis = "Unpauses a queue member" ; static char *app_upqm_descrip = -" UnpauseQueueMember([queuename]|interface):\n" +" UnpauseQueueMember([queuename]|interface[|options]):\n" "Unpauses (resumes calls to) a queue member.\n" "This is the counterpart to PauseQueueMember and operates exactly the\n" "same way, except it unpauses instead of pausing the given interface.\n" +"The option string may contain zero or more of the following characters:\n" +" 'j' -- jump to +101 priority when appropriate.\n" +" This application sets the following channel variable upon completion:\n" +" UPQMSTATUS The status of the attempt to unpause a queue \n" +" member as a text string, one of\n" +" UNPAUSED | NOTFOUND\n" "Example: UnpauseQueueMember(|SIP/3000)\n"; /*! \brief Persistent Members astdb family */ @@ -243,6 +270,7 @@ struct localuser { LOCAL_USER_DECL; + struct queue_ent { struct ast_call_queue *parent; /*!< What queue is our parent */ char moh[80]; /*!< Name of musiconhold to be used */ @@ -2554,88 +2582,112 @@ static void reload_queue_members(void) static int pqm_exec(struct ast_channel *chan, void *data) { struct localuser *u; - char *queuename, *interface; + char *parse; + int priority_jump = 0; + AST_DECLARE_APP_ARGS(args, + AST_APP_ARG(queuename); + AST_APP_ARG(interface); + AST_APP_ARG(options); + ); if (ast_strlen_zero(data)) { - ast_log(LOG_WARNING, "PauseQueueMember requires an argument ([queuename]|interface])\n"); + ast_log(LOG_WARNING, "PauseQueueMember requires an argument ([queuename]|interface[|options])\n"); return -1; } LOCAL_USER_ADD(u); - queuename = ast_strdupa((char *)data); - if (!queuename) { - ast_log(LOG_ERROR, "Out of memory\n"); + if (!(parse = ast_strdupa(data))) { + ast_log(LOG_WARNING, "Memory Error!\n"); LOCAL_USER_REMOVE(u); return -1; } - interface = strchr(queuename, '|'); - if (!interface) { - ast_log(LOG_WARNING, "Missing interface argument to PauseQueueMember ([queuename]|interface])\n"); + AST_STANDARD_APP_ARGS(args, parse); + + if (args.options) { + if (strchr(args.options, 'j')) + priority_jump = 1; + } + + if (ast_strlen_zero(args.interface)) { + ast_log(LOG_WARNING, "Missing interface argument to PauseQueueMember ([queuename]|interface[|options])\n"); LOCAL_USER_REMOVE(u); return -1; } - *interface = '\0'; - interface++; - - if (set_member_paused(queuename, interface, 1)) { - ast_log(LOG_WARNING, "Attempt to pause interface %s, not found\n", interface); - if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) { - LOCAL_USER_REMOVE(u); - return 0; + if (set_member_paused(args.queuename, args.interface, 1)) { + ast_log(LOG_WARNING, "Attempt to pause interface %s, not found\n", args.interface); + if (priority_jump || option_priority_jumping) { + if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) { + pbx_builtin_setvar_helper(chan, "PQMSTATUS", "NOTFOUND"); + LOCAL_USER_REMOVE(u); + return 0; + } } LOCAL_USER_REMOVE(u); + pbx_builtin_setvar_helper(chan, "PQMSTATUS", "NOTFOUND"); return -1; } LOCAL_USER_REMOVE(u); - + pbx_builtin_setvar_helper(chan, "PQMSTATUS", "PAUSED"); return 0; } static int upqm_exec(struct ast_channel *chan, void *data) { struct localuser *u; - char *queuename, *interface; + char *parse; + int priority_jump = 0; + AST_DECLARE_APP_ARGS(args, + AST_APP_ARG(queuename); + AST_APP_ARG(interface); + AST_APP_ARG(options); + ); if (ast_strlen_zero(data)) { - ast_log(LOG_WARNING, "UnpauseQueueMember requires an argument ([queuename]|interface])\n"); + ast_log(LOG_WARNING, "UnpauseQueueMember requires an argument ([queuename]|interface[|options])\n"); return -1; } LOCAL_USER_ADD(u); - queuename = ast_strdupa((char *)data); - if (!queuename) { - ast_log(LOG_ERROR, "Out of memory\n"); + if (!(parse = ast_strdupa(data))) { + ast_log(LOG_WARNING, "Memory Error!\n"); LOCAL_USER_REMOVE(u); return -1; } - interface = strchr(queuename, '|'); - if (!interface) { - ast_log(LOG_WARNING, "Missing interface argument to PauseQueueMember ([queuename]|interface])\n"); + AST_STANDARD_APP_ARGS(args, parse); + + if (args.options) { + if (strchr(args.options, 'j')) + priority_jump = 1; + } + + if (ast_strlen_zero(args.interface)) { + ast_log(LOG_WARNING, "Missing interface argument to PauseQueueMember ([queuename]|interface[|options])\n"); LOCAL_USER_REMOVE(u); return -1; } - *interface = '\0'; - interface++; - - if (set_member_paused(queuename, interface, 0)) { - ast_log(LOG_WARNING, "Attempt to unpause interface %s, not found\n", interface); - if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) { - LOCAL_USER_REMOVE(u); - return 0; + if (set_member_paused(args.queuename, args.interface, 0)) { + ast_log(LOG_WARNING, "Attempt to unpause interface %s, not found\n", args.interface); + if (priority_jump || option_priority_jumping) { + if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) { + pbx_builtin_setvar_helper(chan, "UPQMSTATUS", "NOTFOUND"); + LOCAL_USER_REMOVE(u); + return 0; + } } LOCAL_USER_REMOVE(u); + pbx_builtin_setvar_helper(chan, "UPQMSTATUS", "NOTFOUND"); return -1; } LOCAL_USER_REMOVE(u); - + pbx_builtin_setvar_helper(chan, "UPQMSTATUS", "UNPAUSED"); return 0; } @@ -2643,52 +2695,58 @@ static int rqm_exec(struct ast_channel *chan, void *data) { int res=-1; struct localuser *u; - char *info, *queuename; - char tmpchan[256]=""; - char *interface = NULL; + char *parse, *temppos = NULL; + int priority_jump = 0; + AST_DECLARE_APP_ARGS(args, + AST_APP_ARG(queuename); + AST_APP_ARG(interface); + AST_APP_ARG(options); + ); + if (ast_strlen_zero(data)) { - ast_log(LOG_WARNING, "RemoveQueueMember requires an argument (queuename[|interface])\n"); + ast_log(LOG_WARNING, "RemoveQueueMember requires an argument (queuename[|interface[|options]])\n"); return -1; } LOCAL_USER_ADD(u); - info = ast_strdupa(data); - if (!info) { - ast_log(LOG_ERROR, "Out of memory\n"); + if (!(parse = ast_strdupa(data))) { + ast_log(LOG_WARNING, "Memory Error!\n"); LOCAL_USER_REMOVE(u); return -1; } - queuename = info; - if (queuename) { - interface = strchr(queuename, '|'); - if (interface) { - *interface = '\0'; - interface++; - } - else { - ast_copy_string(tmpchan, chan->name, sizeof(tmpchan)); - interface = strrchr(tmpchan, '-'); - if (interface) - *interface = '\0'; - interface = tmpchan; - } + AST_STANDARD_APP_ARGS(args, parse); + + if (ast_strlen_zero(args.interface)) { + ast_copy_string(args.interface, chan->name, sizeof(args.interface)); + temppos = strrchr(args.interface, '-'); + if (temppos) + *temppos = '\0'; } - switch (remove_from_queue(queuename, interface)) { + if (args.options) { + if (strchr(args.options, 'j')) + priority_jump = 1; + } + + switch (remove_from_queue(args.queuename, args.interface)) { case RES_OKAY: - ast_log(LOG_NOTICE, "Removed interface '%s' from queue '%s'\n", interface, queuename); + ast_log(LOG_NOTICE, "Removed interface '%s' from queue '%s'\n", args.interface, args.queuename); + pbx_builtin_setvar_helper(chan, "RQMSTATUS", "REMOVED"); res = 0; break; case RES_EXISTS: - ast_log(LOG_WARNING, "Unable to remove interface '%s' from queue '%s': Not there\n", interface, queuename); - ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101); + ast_log(LOG_WARNING, "Unable to remove interface '%s' from queue '%s': Not there\n", args.interface, args.queuename); + if (priority_jump || option_priority_jumping) + ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101); + pbx_builtin_setvar_helper(chan, "RQMSTATUS", "NOTINQUEUE"); res = 0; break; case RES_NOSUCHQUEUE: - ast_log(LOG_WARNING, "Unable to remove interface from queue '%s': No such queue\n", queuename); + ast_log(LOG_WARNING, "Unable to remove interface from queue '%s': No such queue\n", args.queuename); + pbx_builtin_setvar_helper(chan, "RQMSTATUS", "NOSUCHQUEUE"); res = 0; break; case RES_OUTOFMEMORY: @@ -2704,72 +2762,71 @@ static int aqm_exec(struct ast_channel *chan, void *data) { int res=-1; struct localuser *u; - char *queuename; - char *info; - char tmpchan[512]=""; - char *interface=NULL; - char *penaltys=NULL; + char *parse, *temppos = NULL; + int priority_jump = 0; + AST_DECLARE_APP_ARGS(args, + AST_APP_ARG(queuename); + AST_APP_ARG(interface); + AST_APP_ARG(penalty); + AST_APP_ARG(options); + ); int penalty = 0; if (ast_strlen_zero(data)) { - ast_log(LOG_WARNING, "AddQueueMember requires an argument (queuename[|[interface][|penalty]])\n"); + ast_log(LOG_WARNING, "AddQueueMember requires an argument (queuename[|[interface]|[penalty][|options]])\n"); return -1; } LOCAL_USER_ADD(u); - info = ast_strdupa(data); - if (!info) { - ast_log(LOG_ERROR, "Out of memory\n"); + if (!(parse = ast_strdupa(data))) { + ast_log(LOG_WARNING, "Memory Error!\n"); LOCAL_USER_REMOVE(u); return -1; } - queuename = info; - if (queuename) { - interface = strchr(queuename, '|'); - if (interface) { - *interface = '\0'; - interface++; - } - if (interface) { - penaltys = strchr(interface, '|'); - if (penaltys) { - *penaltys = '\0'; - penaltys++; - } - } - if (ast_strlen_zero(interface)) { - ast_copy_string(tmpchan, chan->name, sizeof(tmpchan)); - interface = strrchr(tmpchan, '-'); - if (interface) - *interface = '\0'; - interface = tmpchan; - } - if (!ast_strlen_zero(penaltys)) { - if ((sscanf(penaltys, "%d", &penalty) != 1) || penalty < 0) { - ast_log(LOG_WARNING, "Penalty '%s' is invalid, must be an integer >= 0\n", penaltys); - penalty = 0; - } - } + AST_STANDARD_APP_ARGS(args, parse); + + if (ast_strlen_zero(args.interface)) { + ast_copy_string(args.interface, chan->name, sizeof(args.interface)); + temppos = strrchr(args.interface, '-'); + if (temppos) + *temppos = '\0'; } - switch (add_to_queue(queuename, interface, penalty, 0, queue_persistent_members)) { + if (!ast_strlen_zero(args.penalty)) { + if ((sscanf(args.penalty, "%d", &penalty) != 1) || penalty < 0) { + ast_log(LOG_WARNING, "Penalty '%s' is invalid, must be an integer >= 0\n", args.penalty); + penalty = 0; + } + } + + if (args.options) { + if (strchr(args.options, 'j')) + priority_jump = 1; + } + + + switch (add_to_queue(args.queuename, args.interface, penalty, 0, queue_persistent_members)) { case RES_OKAY: - ast_log(LOG_NOTICE, "Added interface '%s' to queue '%s'\n", interface, queuename); + ast_log(LOG_NOTICE, "Added interface '%s' to queue '%s'\n", args.interface, args.queuename); + pbx_builtin_setvar_helper(chan, "AQMSTATUS", "ADDED"); res = 0; break; case RES_EXISTS: - ast_log(LOG_WARNING, "Unable to add interface '%s' to queue '%s': Already there\n", interface, queuename); - ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101); + ast_log(LOG_WARNING, "Unable to add interface '%s' to queue '%s': Already there\n", args.interface, args.queuename); + if (priority_jump || option_priority_jumping) + ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101); + pbx_builtin_setvar_helper(chan, "AQMSTATUS", "MEMBERALREADY"); res = 0; break; case RES_NOSUCHQUEUE: - ast_log(LOG_WARNING, "Unable to add interface to queue '%s': No such queue\n", queuename); + ast_log(LOG_WARNING, "Unable to add interface to queue '%s': No such queue\n", args.queuename); + pbx_builtin_setvar_helper(chan, "AQMSTATUS", "NOSUCHQUEUE"); res = 0; break; case RES_OUTOFMEMORY: - ast_log(LOG_ERROR, "Out of memory adding member %s to queue %s\n", interface, queuename); + ast_log(LOG_ERROR, "Out of memory adding member %s to queue %s\n", args.interface, args.queuename); break; } diff --git a/apps/app_read.c b/apps/app_read.c index e024a5c389..90e180fcfb 100755 --- a/apps/app_read.c +++ b/apps/app_read.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_realtime.c b/apps/app_realtime.c index 80f092528f..a731fd7c96 100755 --- a/apps/app_realtime.c +++ b/apps/app_realtime.c @@ -25,8 +25,9 @@ */ #include -#include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_record.c b/apps/app_record.c index 31905a6c69..7c50a1d731 100755 --- a/apps/app_record.c +++ b/apps/app_record.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_senddtmf.c b/apps/app_senddtmf.c index 41ba1bbc41..c2c3c765d6 100755 --- a/apps/app_senddtmf.c +++ b/apps/app_senddtmf.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_sendtext.c b/apps/app_sendtext.c index 177a6a6b4a..7830ee8600 100755 --- a/apps/app_sendtext.c +++ b/apps/app_sendtext.c @@ -25,8 +25,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_setcallerid.c b/apps/app_setcallerid.c index 2d01ccfa30..877efb5339 100755 --- a/apps/app_setcallerid.c +++ b/apps/app_setcallerid.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_setcidname.c b/apps/app_setcidname.c index 2cb5896a0d..6906c132a6 100755 --- a/apps/app_setcidname.c +++ b/apps/app_setcidname.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_setcidnum.c b/apps/app_setcidnum.c index 95ea2c0ebe..a8a7e07062 100755 --- a/apps/app_setcidnum.c +++ b/apps/app_setcidnum.c @@ -24,8 +24,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_setrdnis.c b/apps/app_setrdnis.c index f7f01c2e66..69c3ed568f 100755 --- a/apps/app_setrdnis.c +++ b/apps/app_setrdnis.c @@ -24,8 +24,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_sms.c b/apps/app_sms.c index cf47d6d9df..c6feb55603 100755 --- a/apps/app_sms.c +++ b/apps/app_sms.c @@ -22,13 +22,14 @@ */ #include -#include +#include #include +#include #include -#include -#include #include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_softhangup.c b/apps/app_softhangup.c index e9b0f24f35..804a39259e 100755 --- a/apps/app_softhangup.c +++ b/apps/app_softhangup.c @@ -23,10 +23,11 @@ * \ingroup applications */ -#include #include -#include +#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_striplsd.c b/apps/app_striplsd.c index e9053946f0..29968d4024 100755 --- a/apps/app_striplsd.c +++ b/apps/app_striplsd.c @@ -24,8 +24,9 @@ */ #include -#include +#include #include +#include #include #include "asterisk.h" diff --git a/apps/app_substring.c b/apps/app_substring.c index dbaafd849d..9771df98d6 100755 --- a/apps/app_substring.c +++ b/apps/app_substring.c @@ -24,11 +24,11 @@ * \todo Deprecate this application in 1.3dev */ -#include #include -#include +#include #include -#include +#include +#include #include "asterisk.h" diff --git a/apps/app_system.c b/apps/app_system.c index 5d5216960d..63e9baacb6 100755 --- a/apps/app_system.c +++ b/apps/app_system.c @@ -24,9 +24,9 @@ */ #include +#include #include #include -#include #include #include "asterisk.h" diff --git a/apps/app_talkdetect.c b/apps/app_talkdetect.c index 30e27e3e05..11efe70689 100755 --- a/apps/app_talkdetect.c +++ b/apps/app_talkdetect.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_test.c b/apps/app_test.c index 56b5bf2b93..dba8bcafb2 100755 --- a/apps/app_test.c +++ b/apps/app_test.c @@ -24,12 +24,13 @@ * \ingroup applications */ -#include -#include -#include #include +#include +#include #include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_transfer.c b/apps/app_transfer.c index 4443a78744..aaff52be0d 100755 --- a/apps/app_transfer.c +++ b/apps/app_transfer.c @@ -26,8 +26,9 @@ */ #include -#include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_url.c b/apps/app_url.c index b44fb218b7..7f274b46a9 100755 --- a/apps/app_url.c +++ b/apps/app_url.c @@ -22,8 +22,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_userevent.c b/apps/app_userevent.c index 74fa58f2a4..95f5fbc840 100755 --- a/apps/app_userevent.c +++ b/apps/app_userevent.c @@ -23,9 +23,9 @@ #include -#include +#include #include -#include +#include #include "asterisk.h" diff --git a/apps/app_waitforring.c b/apps/app_waitforring.c index 0de20560f5..25e651d9eb 100755 --- a/apps/app_waitforring.c +++ b/apps/app_waitforring.c @@ -24,9 +24,9 @@ */ #include -#include +#include #include -#include +#include #include #include "asterisk.h" diff --git a/apps/app_waitforsilence.c b/apps/app_waitforsilence.c index 79d2b22749..cbba6cfc66 100755 --- a/apps/app_waitforsilence.c +++ b/apps/app_waitforsilence.c @@ -30,9 +30,9 @@ */ #include -#include +#include #include -#include +#include #include "asterisk.h" diff --git a/apps/app_while.c b/apps/app_while.c index 757171ad18..7c98afe807 100755 --- a/apps/app_while.c +++ b/apps/app_while.c @@ -24,8 +24,9 @@ */ #include -#include +#include #include +#include #include "asterisk.h" diff --git a/apps/app_zapateller.c b/apps/app_zapateller.c index 00fb64787d..3120a42671 100755 --- a/apps/app_zapateller.c +++ b/apps/app_zapateller.c @@ -23,8 +23,9 @@ * \ingroup applications */ -#include #include +#include +#include #include "asterisk.h" diff --git a/apps/app_zapbarge.c b/apps/app_zapbarge.c index 9511c4f6b9..10c5c49e5f 100755 --- a/apps/app_zapbarge.c +++ b/apps/app_zapbarge.c @@ -27,10 +27,10 @@ */ #include +#include +#include #include #include -#include -#include #include #ifdef __linux__ diff --git a/apps/app_zapscan.c b/apps/app_zapscan.c index a199d4e021..ed0c779772 100755 --- a/apps/app_zapscan.c +++ b/apps/app_zapscan.c @@ -29,10 +29,10 @@ */ #include +#include +#include #include #include -#include -#include #include #ifdef __linux__ diff --git a/funcs/func_callerid.c b/funcs/func_callerid.c index 9ccfbeddd5..264c404dd5 100755 --- a/funcs/func_callerid.c +++ b/funcs/func_callerid.c @@ -21,6 +21,7 @@ */ #include +#include #include #include diff --git a/funcs/func_enum.c b/funcs/func_enum.c index 8034be8783..6533d78363 100755 --- a/funcs/func_enum.c +++ b/funcs/func_enum.c @@ -25,6 +25,7 @@ */ #include +#include #include "asterisk.h" diff --git a/funcs/func_groupcount.c b/funcs/func_groupcount.c index 2974229850..0f07d83277 100755 --- a/funcs/func_groupcount.c +++ b/funcs/func_groupcount.c @@ -21,6 +21,7 @@ */ #include +#include #include #include diff --git a/funcs/func_math.c b/funcs/func_math.c index e53eb40237..e8a49acc8c 100755 --- a/funcs/func_math.c +++ b/funcs/func_math.c @@ -23,6 +23,7 @@ */ #include +#include #include #include diff --git a/funcs/func_strings.c b/funcs/func_strings.c index ab9474d9bc..91564d9e48 100755 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -23,6 +23,7 @@ */ #include +#include #include #include #include diff --git a/funcs/func_timeout.c b/funcs/func_timeout.c index d7d5cf4efd..4e9256ef5b 100755 --- a/funcs/func_timeout.c +++ b/funcs/func_timeout.c @@ -23,6 +23,7 @@ */ #include +#include #include #include diff --git a/funcs/func_uri.c b/funcs/func_uri.c index f75023c5ff..f985f38c17 100755 --- a/funcs/func_uri.c +++ b/funcs/func_uri.c @@ -26,6 +26,7 @@ */ #include +#include #include #include diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c index 81559309d4..15b15845b4 100755 --- a/pbx/pbx_dundi.c +++ b/pbx/pbx_dundi.c @@ -23,6 +23,7 @@ */ #include +#include #include #include #include diff --git a/pbx/pbx_loopback.c b/pbx/pbx_loopback.c index 2abc117359..5522e9b092 100755 --- a/pbx/pbx_loopback.c +++ b/pbx/pbx_loopback.c @@ -23,6 +23,7 @@ */ #include +#include #include #include #include diff --git a/pbx/pbx_realtime.c b/pbx/pbx_realtime.c index 6b1c4511a6..4e9aba1fe0 100755 --- a/pbx/pbx_realtime.c +++ b/pbx/pbx_realtime.c @@ -24,6 +24,7 @@ */ #include +#include #include #include #include diff --git a/res/res_indications.c b/res/res_indications.c index f53ea76651..8a5a9ef1f7 100755 --- a/res/res_indications.c +++ b/res/res_indications.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include