summaryrefslogtreecommitdiff
path: root/apps/app_queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r--apps/app_queue.c157
1 files changed, 80 insertions, 77 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 660b87701..668fe57eb 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -413,7 +413,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
</application>
<application name="UnpauseQueueMember" language="en_US">
<synopsis>
- Unpauses a queue member.
+ Unpauses a queue member.
</synopsis>
<syntax>
<parameter name="queuename" />
@@ -1358,8 +1358,8 @@ enum queue_timeout_priority {
* q_next links ALL defined callattempt structures into a linked list. call_next is
* a link which allows for a subset of the callattempts to be traversed. This subset
* is used in wait_for_answer so that irrelevant callattempts are not traversed. This
- * also is helpful so that queue logs are always accurate in the case where a call to
- * a member times out, especially if using the ringall strategy.
+ * also is helpful so that queue logs are always accurate in the case where a call to
+ * a member times out, especially if using the ringall strategy.
*/
struct callattempt {
@@ -1565,7 +1565,7 @@ struct call_queue {
int rrpos; /*!< Round Robin - position */
int memberdelay; /*!< Seconds to delay connecting member to caller */
int autofill; /*!< Ignore the head call status and ring an available agent */
-
+
struct ao2_container *members; /*!< Head of the list of members */
struct queue_ent *head; /*!< Head of the list of callers */
AST_LIST_ENTRY(call_queue) list; /*!< Next call queue */
@@ -1780,7 +1780,7 @@ static void set_queue_variables(struct call_queue *q, struct ast_channel *chan)
ao2_unlock(q);
- pbx_builtin_setvar_multiple(chan, interfacevar);
+ pbx_builtin_setvar_multiple(chan, interfacevar);
} else {
ao2_unlock(q);
}
@@ -2304,7 +2304,7 @@ static int compress_char(const char c)
return 0;
} else if (c > 96) {
return c - 64;
- }
+ }
return c - 32;
}
@@ -2466,7 +2466,7 @@ static int insert_penaltychange(const char *list_name, const char *content, cons
}
contentdup = ast_strdupa(content);
-
+
if (!(maxstr = strchr(contentdup, ','))) {
ast_log(LOG_WARNING, "Improperly formatted penaltychange rule at line %d. Ignoring.\n", linenum);
ast_free(rule);
@@ -2487,7 +2487,7 @@ static int insert_penaltychange(const char *list_name, const char *content, cons
if ((minstr = strchr(maxstr,','))) {
*minstr++ = '\0';
}
-
+
/* The last check will evaluate true if either no penalty change is indicated for a given rule
* OR if a min penalty change is indicated but no max penalty change is */
if (*maxstr == '+' || *maxstr == '-' || *maxstr == '\0') {
@@ -2519,7 +2519,7 @@ static int insert_penaltychange(const char *list_name, const char *content, cons
}
}
AST_LIST_TRAVERSE_SAFE_END;
-
+
if (!inserted) {
AST_LIST_INSERT_TAIL(&rl_iter->rules, rule, list);
inserted = 1;
@@ -2572,7 +2572,7 @@ static void parse_empty_options(const char *value, enum empty_conditions *empty,
}
/*! \brief Configure a queue parameter.
- *
+ *
* The failunknown flag is set for config files (and static realtime) to show
* errors for unknown parameters. It is cleared for dynamic realtime to allow
* extra fields in the tables.
@@ -2581,7 +2581,7 @@ static void parse_empty_options(const char *value, enum empty_conditions *empty,
*/
static void queue_set_param(struct call_queue *q, const char *param, const char *val, int linenum, int failunknown)
{
- if (!strcasecmp(param, "musicclass") ||
+ if (!strcasecmp(param, "musicclass") ||
!strcasecmp(param, "music") || !strcasecmp(param, "musiconhold")) {
ast_string_field_set(q, moh, val);
} else if (!strcasecmp(param, "announce")) {
@@ -2980,7 +2980,7 @@ static struct call_queue *find_queue_by_name_rt(const char *queuename, struct as
ao2_unlock(q);
queue_t_unref(q, "Queue is dead; can't return it");
return NULL;
- }
+ }
ast_log(LOG_WARNING, "Static queue '%s' already exists. Not loading from realtime\n", q->name);
ao2_unlock(q);
return q;
@@ -3555,7 +3555,7 @@ static void recalc_holdtime(struct queue_ent *qe, int newholdtime)
}
/*! \brief Caller leaving queue.
- *
+ *
* Search the queue to find the leaving client, if found remove from queue
* create manager event, move others up the queue.
*/
@@ -3866,11 +3866,11 @@ static int can_ring_entry(struct queue_ent *qe, struct callattempt *call)
return 1;
}
-/*!
+/*!
* \brief Part 2 of ring_one
*
- * Does error checking before attempting to request a channel and call a member.
- * This function is only called from ring_one().
+ * Does error checking before attempting to request a channel and call a member.
+ * This function is only called from ring_one().
* Failure can occur if:
* - Agent on call
* - Agent is paused
@@ -3941,7 +3941,7 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies
} else if (!ast_strlen_zero(ast_channel_dialed(qe->chan)->number.str)) {
ast_set_callerid(tmp->chan, ast_channel_dialed(qe->chan)->number.str, NULL, NULL);
} else if (!ast_strlen_zero(S_OR(ast_channel_macroexten(qe->chan), ast_channel_exten(qe->chan)))) {
- ast_set_callerid(tmp->chan, S_OR(ast_channel_macroexten(qe->chan), ast_channel_exten(qe->chan)), NULL, NULL);
+ ast_set_callerid(tmp->chan, S_OR(ast_channel_macroexten(qe->chan), ast_channel_exten(qe->chan)), NULL, NULL);
}
tmp->dial_callerid_absent = 1;
}
@@ -4017,7 +4017,7 @@ static struct callattempt *find_best(struct callattempt *outgoing)
return best;
}
-/*!
+/*!
* \brief Place a call to a queue member.
*
* Once metrics have been calculated for each member, this function is used
@@ -4051,7 +4051,7 @@ static int ring_one(struct queue_ent *qe, struct callattempt *outgoing, int *bus
ast_debug(1, "Trying '%s' with metric %d\n", best->interface, best->metric);
ret = ring_entry(qe, best, busies);
}
-
+
/* If we have timed out, break out */
if (qe->expire && (time(NULL) >= qe->expire)) {
ast_debug(1, "Queue timed out while ringing members.\n");
@@ -4133,14 +4133,14 @@ static int say_periodic_announcement(struct queue_ent *qe, int ringing)
}
ast_verb(3, "Playing periodic announcement\n");
-
+
if (qe->parent->randomperiodicannounce && qe->parent->numperiodicannounce) {
qe->last_periodic_announce_sound = ((unsigned long) ast_random()) % qe->parent->numperiodicannounce;
- } else if (qe->last_periodic_announce_sound >= qe->parent->numperiodicannounce ||
+ } else if (qe->last_periodic_announce_sound >= qe->parent->numperiodicannounce ||
ast_str_strlen(qe->parent->sound_periodicannounce[qe->last_periodic_announce_sound]) == 0) {
qe->last_periodic_announce_sound = 0;
}
-
+
/* play the announcement */
res = play_file(qe->chan, ast_str_buffer(qe->parent->sound_periodicannounce[qe->last_periodic_announce_sound]));
@@ -4785,7 +4785,7 @@ skip_frame:;
if (qe->parent->periodicannouncefrequency && qe->parent->announce_to_first_user) {
say_periodic_announcement(qe, ringing);
}
-
+
if (!*to) {
for (o = start; o; o = o->call_next) {
rna(orig, qe, o->chan, o->interface, o->member->membername, 1);
@@ -4805,7 +4805,7 @@ skip_frame:;
return peer;
}
-/*!
+/*!
* \brief Check if we should start attempting to call queue members.
*
* A simple process, really. Count the number of members who are available
@@ -4835,11 +4835,11 @@ static int is_our_turn(struct queue_ent *qe)
if (!ch->pending) {
idx++;
}
- ch = ch->next;
+ ch = ch->next;
}
ao2_unlock(qe->parent);
- /* If the queue entry is within avl [the number of available members] calls from the top ...
+ /* If the queue entry is within avl [the number of available members] calls from the top ...
* Autofill and position check added to support autofill=no (as only calls
* from the front of the queue are valid when autofill is disabled)
*/
@@ -4864,7 +4864,7 @@ static void update_qe_rule(struct queue_ent *qe)
{
int max_penalty = qe->pr->max_relative ? qe->max_penalty + qe->pr->max_value : qe->pr->max_value;
int min_penalty = qe->pr->min_relative ? qe->min_penalty + qe->pr->min_value : qe->pr->min_value;
- char max_penalty_str[20], min_penalty_str[20];
+ char max_penalty_str[20], min_penalty_str[20];
/* a relative change to the penalty could put it below 0 */
if (max_penalty < 0) {
max_penalty = 0;
@@ -4939,7 +4939,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
if (qe->parent->periodicannouncefrequency &&
(res = say_periodic_announcement(qe,ringing)))
break;
-
+
/* see if we need to move to the next penalty level for this queue */
while (qe->pr && ((time(NULL) - qe->start) >= qe->pr->time)) {
update_qe_rule(qe);
@@ -4950,7 +4950,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
*reason = QUEUE_TIMEOUT;
break;
}
-
+
/* Wait a second before checking again */
if ((res = ast_waitfordigit(qe->chan, RECHECK * 1000))) {
if (res > 0 && !valid_exit(qe, res)) {
@@ -4959,7 +4959,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
break;
}
}
-
+
/* If we have timed out, break out */
if (qe->expire && (time(NULL) >= qe->expire)) {
*reason = QUEUE_TIMEOUT;
@@ -5003,7 +5003,7 @@ static int update_queue(struct call_queue *q, struct member *member, int callcom
member->calls++;
member->lastqueue = q;
ao2_unlock(q);
- }
+ }
ao2_lock(q);
q->callscompleted++;
if (callcompletedinsl) {
@@ -5187,7 +5187,7 @@ static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struc
(long) (time(NULL) - callstart), qe->opos);
update_queue(qe->parent, member, callcompletedinsl, (time(NULL) - callstart));
-
+
/* No need to lock the channels because they are already locked in ast_do_masquerade */
if ((datastore = ast_channel_datastore_find(old_chan, &queue_transfer_info, NULL))) {
ast_channel_datastore_remove(old_chan, datastore);
@@ -5320,7 +5320,7 @@ static void setup_peer_after_bridge_goto(struct ast_channel *chan, struct ast_ch
* \param[in] qe the queue_ent structure which corresponds to the caller attempting to reach members
* \param[in] opts the options passed as the third parameter to the Queue() application
* \param[in] opt_args the options passed as the third parameter to the Queue() application
- * \param[in] announceoverride filename to play to user when waiting
+ * \param[in] announceoverride filename to play to user when waiting
* \param[in] url the url passed as the fourth parameter to the Queue() application
* \param[in,out] tries the number of times we have tried calling queue members
* \param[out] noption set if the call to Queue() has the 'n' option set.
@@ -5423,7 +5423,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
ast_set_flag(&(bridge_config.features_caller), AST_FEATURE_PARKCALL);
}
if (ast_test_flag(&opts, OPT_NO_RETRY)) {
- if (qe->parent->strategy == QUEUE_STRATEGY_RRMEMORY || qe->parent->strategy == QUEUE_STRATEGY_LINEAR
+ if (qe->parent->strategy == QUEUE_STRATEGY_RRMEMORY || qe->parent->strategy == QUEUE_STRATEGY_LINEAR
|| qe->parent->strategy == QUEUE_STRATEGY_RRORDERED) {
(*tries)++;
} else {
@@ -5504,7 +5504,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
AST_LIST_LOCK(dialed_interfaces);
AST_LIST_TRAVERSE(dialed_interfaces, di, list) {
if (!strcasecmp(cur->interface, di->interface)) {
- ast_debug(1, "Skipping dialing interface '%s' since it has already been dialed\n",
+ ast_debug(1, "Skipping dialing interface '%s' since it has already been dialed\n",
di->interface);
break;
}
@@ -5559,7 +5559,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
XXX If we're forcibly removed, these outgoing calls won't get
hung up XXX */
tmp->q_next = outgoing;
- outgoing = tmp;
+ outgoing = tmp;
/* If this line is up, don't try anybody else */
if (outgoing->chan && (ast_channel_state(outgoing->chan) == AST_STATE_UP))
break;
@@ -5748,7 +5748,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
pbx_builtin_setvar_multiple(qe->chan, interfacevar);
pbx_builtin_setvar_multiple(peer, interfacevar);
}
-
+
/* if setqueueentryvar is defined, make queue entry (i.e. the caller) variables available to the channel */
/* use pbx_builtin_setvar to set a load of variables with one call */
if (qe->parent->setqueueentryvar) {
@@ -5757,7 +5757,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
pbx_builtin_setvar_multiple(qe->chan, interfacevar);
pbx_builtin_setvar_multiple(peer, interfacevar);
}
-
+
ao2_unlock(qe->parent);
/* try to set queue variables if configured to do so*/
@@ -5798,7 +5798,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
}
} else {
mixmonapp = pbx_findapp("MixMonitor");
-
+
if (mixmonapp) {
ast_debug(1, "Starting MixMonitor as requested.\n");
if (!monitorfilename) {
@@ -5865,7 +5865,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
pbx_substitute_variables_helper(qe->chan, meid2, meid, sizeof(meid) - 1);
}
-
+
snprintf(tmpid2, sizeof(tmpid2), "%s.%s", tmpid, qe->parent->monfmt);
if (!ast_strlen_zero(monitor_exec)) {
@@ -5873,7 +5873,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
} else {
snprintf(mixmonargs, sizeof(mixmonargs), "%s,b%s", tmpid2, monitor_options);
}
-
+
ast_debug(1, "Arguments being passed to MixMonitor: %s\n", mixmonargs);
/* BUGBUG
* This needs to be done differently. We need to start a MixMonitor on
@@ -5890,12 +5890,12 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
}
}
/* Drop out of the queue at this point, to prepare for next caller */
- leave_queue(qe);
+ leave_queue(qe);
if (!ast_strlen_zero(url) && ast_channel_supports_html(peer)) {
ast_debug(1, "app_queue: sendurl=%s.\n", url);
ast_channel_sendurl(peer, url);
}
-
+
/* run a macro for this connection if defined. The macro simply returns, no action is taken on the result */
/* use macro from dialplan if passed as a option, otherwise use the default queue macro */
if (!ast_strlen_zero(macro)) {
@@ -6026,7 +6026,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
(long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos);
send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), AGENT);
}
- if ((tds = ast_channel_datastore_find(qe->chan, &queue_transfer_info, NULL))) {
+ if ((tds = ast_channel_datastore_find(qe->chan, &queue_transfer_info, NULL))) {
ast_channel_datastore_remove(qe->chan, tds);
}
ast_channel_unlock(qe->chan);
@@ -6139,7 +6139,7 @@ static void dump_queue_members(struct call_queue *pm_queue)
ast_free(value);
}
-/*! \brief Remove member from queue
+/*! \brief Remove member from queue
* \retval RES_NOT_DYNAMIC when they aren't a RT member
* \retval RES_NOSUCHQUEUE queue does not exist
* \retval RES_OKAY removed member from queue
@@ -6191,7 +6191,7 @@ static int remove_from_queue(const char *queuename, const char *interface)
return res;
}
-/*! \brief Add member to queue
+/*! \brief Add member to queue
* \retval RES_NOT_DYNAMIC when they aren't a RT member
* \retval RES_NOSUCHQUEUE queue does not exist
* \retval RES_OKAY added member from queue
@@ -6575,7 +6575,7 @@ static void reload_queue_members(void)
ast_log(LOG_WARNING, "Error converting penalty: %s: Out of range.\n", penalty_tok);
break;
}
-
+
if (!paused_tok) {
ast_log(LOG_WARNING, "Error parsing persistent member string for '%s' (paused)\n", queue_name);
break;
@@ -6587,7 +6587,7 @@ static void reload_queue_members(void)
}
ast_debug(1, "Reload Members: Queue: %s Member: %s Name: %s Penalty: %d Paused: %d\n", queue_name, interface, membername, penalty, paused);
-
+
if (add_to_queue(queue_name, interface, membername, penalty, paused, 0, state_interface) == RES_OUTOFMEMORY) {
ast_log(LOG_ERROR, "Out of Memory when reloading persistent queue member\n");
break;
@@ -6842,7 +6842,7 @@ static int ql_exec(struct ast_channel *chan, const char *data)
return -1;
}
- ast_queue_log(args.queuename, args.uniqueid, args.membername, args.event,
+ ast_queue_log(args.queuename, args.uniqueid, args.membername, args.event,
"%s", args.params ? args.params : "");
return 0;
@@ -6880,14 +6880,14 @@ static void copy_rules(struct queue_ent *qe, const char *rulename)
/*!\brief The starting point for all queue calls
*
- * The process involved here is to
+ * The process involved here is to
* 1. Parse the options specified in the call to Queue()
* 2. Join the queue
* 3. Wait in a loop until it is our turn to try calling a queue member
* 4. Attempt to call a queue member
* 5. If 4. did not result in a bridged call, then check for between
* call options such as periodic announcements etc.
- * 6. Try 4 again unless some condition (such as an expiration time) causes us to
+ * 6. Try 4 again unless some condition (such as an expiration time) causes us to
* exit the queue.
*/
static int queue_exec(struct ast_channel *chan, const char *data)
@@ -7072,7 +7072,7 @@ check_turns:
record_abandoned(&qe);
reason = QUEUE_TIMEOUT;
res = 0;
- ast_queue_log(args.queuename, ast_channel_uniqueid(chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld",
+ ast_queue_log(args.queuename, ast_channel_uniqueid(chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld",
qe.pos, qe.opos, (long) time(NULL) - qe.start);
break;
}
@@ -7091,7 +7091,7 @@ check_turns:
goto stop;
}
}
-
+
/* Leave if we have exceeded our queuetimeout */
if (qe.expire && (time(NULL) >= qe.expire)) {
record_abandoned(&qe);
@@ -7133,7 +7133,7 @@ check_turns:
break;
}
-
+
/* Leave if we have exceeded our queuetimeout */
if (qe.expire && (time(NULL) >= qe.expire)) {
record_abandoned(&qe);
@@ -7182,12 +7182,12 @@ stop:
/* Don't allow return code > 0 */
if (res >= 0) {
- res = 0;
+ res = 0;
if (ringing) {
ast_indicate(chan, -1);
} else {
ast_moh_stop(chan);
- }
+ }
ast_stopstream(chan);
}
@@ -7362,6 +7362,9 @@ static int queue_function_mem_read(struct ast_channel *chan, const char *cmd, ch
((m = interface_exists(q, args.interface)))) {
count = m->ringinuse;
ao2_ref(m, -1);
+ } else if (!ast_strlen_zero(args.interface)) {
+ ast_log(LOG_ERROR, "Queue member interface %s not in queue %s\n",
+ args.interface, args.queuename);
} else {
ast_log(LOG_ERROR, "Unknown option %s provided to %s, valid values are: "
"logged, free, ready, count, penalty, paused, ringinuse\n", args.option, cmd);
@@ -7476,7 +7479,7 @@ static int queue_function_qac_dep(struct ast_channel *chan, const char *cmd, cha
ast_log(LOG_ERROR, "%s requires an argument: queuename\n", cmd);
return -1;
}
-
+
if ((q = find_load_queue_rt_friendly(data))) {
ao2_lock(q);
mem_iter = ao2_iterator_init(q->members, 0);
@@ -7610,7 +7613,7 @@ static int queue_function_memberpenalty_read(struct ast_channel *chan, const cha
}
penalty = get_member_penalty (args.queuename, args.interface);
-
+
if (penalty >= 0) { /* remember that buf is already '\0' */
snprintf (buf, len, "%d", penalty);
}
@@ -7706,7 +7709,7 @@ static int reload_queue_rules(int reload)
char *rulecat = NULL;
struct ast_variable *rulevar = NULL;
struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
-
+
if (!(cfg = ast_config_load("queuerules.conf", config_flags))) {
ast_log(LOG_NOTICE, "No queuerules.conf file found, queues will not follow penalty rules\n");
return AST_MODULE_LOAD_SUCCESS;
@@ -7907,7 +7910,7 @@ static int kill_dead_members(void *obj, void *arg, int flags)
*
* Once we have isolated a queue within reload_queues, we call this. This will either
* reload information for the queue or if we're just reloading member information, we'll just
- * reload that without touching other settings within the queue
+ * reload that without touching other settings within the queue
*
* \param cfg The configuration which we are reading
* \param mask Tells us what information we need to reload
@@ -7943,7 +7946,7 @@ static void reload_single_queue(struct ast_config *cfg, struct ast_flags *mask,
} else {
new = 0;
}
-
+
if (!new) {
ao2_lock(q);
prev_weight = q->weight ? 1 : 0;
@@ -8062,7 +8065,7 @@ static int kill_dead_queues(void *obj, void *arg, int flags)
* \param mask Gives flags telling us what information to actually reload
* \param queuename If set to a non-zero string, then only reload information from
* that particular queue. Otherwise inspect all queues
- * \retval -1 Failure occurred
+ * \retval -1 Failure occurred
* \retval 0 All clear!
*/
static int reload_queues(int reload, struct ast_flags *mask, const char *queuename)
@@ -8186,9 +8189,9 @@ static void do_print(struct mansession *s, int fd, const char *str)
}
}
-/*!
- * \brief Show queue(s) status and statistics
- *
+/*!
+ * \brief Show queue(s) status and statistics
+ *
* List the queues strategy, calls processed, members logged in,
* other queue statistics such as avg hold time.
*/
@@ -8339,7 +8342,7 @@ static char *__queues_show(struct mansession *s, int fd, int argc, const char *
return CLI_SUCCESS;
}
-/*!
+/*!
* \brief Check if a given word is in a space-delimited list
*
* \param list Space delimited list of words
@@ -8396,11 +8399,11 @@ static int word_in_list(const char *list, const char *word) {
/* terminating conditions satisfied, word at beginning or separated by ' ' */
return 1;
}
-
+
return 0;
}
-/*!
+/*!
* \brief Check if a given word is in a space-delimited list
*
* \param line The line as typed not including the current word being completed
@@ -8466,7 +8469,7 @@ static char *queue_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a
" Provides summary information on a specified queue.\n";
return NULL;
case CLI_GENERATE:
- return complete_queue_show(a->line, a->word, a->pos, a->n);
+ return complete_queue_show(a->line, a->word, a->pos, a->n);
}
return __queues_show(NULL, a->fd, a->argc, a->argv);
@@ -8576,7 +8579,7 @@ static int manager_queues_summary(struct mansession *s, const struct message *m)
"Queue: %s\r\n"
"LoggedIn: %d\r\n"
"Available: %d\r\n"
- "Callers: %d\r\n"
+ "Callers: %d\r\n"
"HoldTime: %d\r\n"
"TalkTime: %d\r\n"
"LongestHoldTime: %d\r\n"
@@ -8886,7 +8889,7 @@ static int manager_queue_reset(struct mansession *s, const struct message *m)
{
const char *queuename = NULL;
struct ast_flags mask = {QUEUE_RESET_STATS,};
-
+
queuename = astman_get_header(m, "Queue");
if (!reload_handler(1, &mask, queuename)) {
@@ -8976,7 +8979,7 @@ static int manager_queue_member_penalty(struct mansession *s, const struct messa
astman_send_error(s, m, "Need 'Interface' and 'Penalty' parameters.");
return 0;
}
-
+
penalty = atoi(penalty_s);
if (set_member_value((char *)queuename, (char *)interface, MEMBER_PENALTY, penalty)) {
@@ -9198,7 +9201,7 @@ static char *handle_queue_pause_member(struct ast_cli_entry *e, int cmd, struct
switch (cmd) {
case CLI_INIT:
e->command = "queue {pause|unpause} member";
- e->usage =
+ e->usage =
"Usage: queue {pause|unpause} member <member> [queue <queue> [reason <reason>]]\n"
" Pause or unpause a queue member. Not specifying a particular queue\n"
" will pause or unpause a member across all queues to which the member\n"
@@ -9333,7 +9336,7 @@ static char *handle_queue_set_member_penalty(struct ast_cli_entry *e, int cmd, s
switch (cmd) {
case CLI_INIT:
e->command = "queue set penalty";
- e->usage =
+ e->usage =
"Usage: queue set penalty <penalty> on <interface> [in <queue>]\n"
" Set a member's penalty in the queue specified. If no queue is specified\n"
" then that interface's penalty is set in all queues to which that interface is a member\n";
@@ -9366,7 +9369,7 @@ static char *handle_queue_set_member_penalty(struct ast_cli_entry *e, int cmd, s
}
}
-static char *complete_queue_rule_show(const char *line, const char *word, int pos, int state)
+static char *complete_queue_rule_show(const char *line, const char *word, int pos, int state)
{
int which = 0;
struct rule_list *rl_iter;
@@ -9420,7 +9423,7 @@ static char *handle_queue_rule_show(struct ast_cli_entry *e, int cmd, struct ast
}
}
AST_LIST_UNLOCK(&rule_lists);
- return CLI_SUCCESS;
+ return CLI_SUCCESS;
}
static char *handle_queue_reset(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
@@ -9526,7 +9529,7 @@ static char *handle_queue_reload(struct ast_cli_entry *e, int cmd, struct ast_cl
return CLI_SUCCESS;
}
-static const char qpm_cmd_usage[] =
+static const char qpm_cmd_usage[] =
"Usage: queue pause member <channel> in <queue> reason <reason>\n";
static const char qum_cmd_usage[] =