const char *sub_action = argv[0 + initial_argc];
const char *queue_name = argv[1 + initial_argc];
const char *status = NULL;
+ const char *state = NULL;
struct list_result cbt;
/* queue list agents */
if (argc-initial_argc > 2) {
status = argv[2 + initial_argc];
}
- if (status) {
+ if (argc-initial_argc > 3) {
+ state = argv[3 + initial_argc];
+ }
+ if (state) {
+ sql = switch_mprintf("SELECT agents.* FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q' AND agents.state = '%q'", queue_name, status, state);
+ }
+ else if (status) {
sql = switch_mprintf("SELECT agents.* FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q'", queue_name, status);
} else {
sql = switch_mprintf("SELECT agents.* FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q'", queue_name);
const char *sub_action = argv[0 + initial_argc];
const char *queue_name = argv[1 + initial_argc];
const char *status = NULL;
+ const char *state = NULL;
char res[256] = "";
/* queue count agents */
if (argc-initial_argc > 2) {
status = argv[2 + initial_argc];
}
- if (status) {
+ if (argc-initial_argc > 3) {
+ state = argv[3 + initial_argc];
+ }
+ if (state) {
+ sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q' AND agents.state = '%q'", queue_name, status, state);
+ }
+ else if (status) {
sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q'", queue_name, status);
} else {
sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q'", queue_name);