mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-13 21:17:06 +00:00
update show calls to show both 1 legged calls and bridged calls, also show bridged_calls for previous behaviour of show calls
This commit is contained in:
1 parent
56d67eadf6
commit
c16c74d9c0
5 files changed
+84
-128
No files matched your search
@@ -3906,7 +3906,7 @@ SWITCH_STANDARD_API(alias_function)
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#define SHOW_SYNTAX "codec|endpoint|application|api|dialplan|file|timer|calls [count]|channels [count|like <match string>]|distinct_channels|aliases|complete|chat|management|modules|nat_map|say|interfaces|interface_types|tasks|limits"
|
||||
#define SHOW_SYNTAX "codec|endpoint|application|api|dialplan|file|timer|calls [count]|channels [count|like <match string>]|calls|detailed_calls|bridged_calls|detailed_bridged_calls|aliases|complete|chat|management|modules|nat_map|say|interfaces|interface_types|tasks|limits"
|
||||
SWITCH_STANDARD_API(show_function)
|
||||
{
|
||||
char sql[1024];
|
||||
@@ -3995,7 +3995,7 @@ SWITCH_STANDARD_API(show_function)
|
||||
sprintf(sql, "select name, description, syntax, ikey from interfaces where hostname='%s' and type = '%s' and description != '' order by type,name", hostname, command);
|
||||
}
|
||||
} else if (!strcasecmp(command, "calls")) {
|
||||
sprintf(sql, "select * from calls where hostname='%s' order by call_created_epoch", hostname);
|
||||
sprintf(sql, "select * from basic_calls where hostname='%s' order by call_created_epoch", hostname);
|
||||
if (argv[1] && !strcasecmp(argv[1], "count")) {
|
||||
holder.justcount = 1;
|
||||
if (argv[3] && !strcasecmp(argv[2], "as")) {
|
||||
@@ -4043,19 +4043,18 @@ SWITCH_STANDARD_API(show_function)
|
||||
as = argv[3];
|
||||
}
|
||||
}
|
||||
} else if (!strcasecmp(command, "distinct_channels")) {
|
||||
sprintf(sql, "select * from channels left join calls on "
|
||||
"channels.uuid=calls.caller_uuid where channels.hostname='%s' and channels.uuid not in (select callee_uuid from calls where hostname='%s') order by created_epoch", hostname, hostname);
|
||||
if (argv[2] && !strcasecmp(argv[1], "as")) {
|
||||
as = argv[2];
|
||||
}
|
||||
} else if (!strcasecmp(command, "detailed_calls")) {
|
||||
sprintf(sql, "select * from detailed_calls where hostname='%s' order by created_epoch", hostname);
|
||||
if (argv[2] && !strcasecmp(argv[1], "as")) {
|
||||
as = argv[2];
|
||||
}
|
||||
} else if (!strcasecmp(command, "detailed_calls")) {
|
||||
sprintf(sql, "select * from detailed_calls where hostname='%s' order by created_epoch", hostname);
|
||||
} else if (!strcasecmp(command, "bridged_calls")) {
|
||||
sprintf(sql, "select * from basic_calls where b_uuid is not null and hostname='%s' order by created_epoch", hostname);
|
||||
if (argv[2] && !strcasecmp(argv[1], "as")) {
|
||||
as = argv[2];
|
||||
}
|
||||
} else if (!strcasecmp(command, "detailed_bridged_calls")) {
|
||||
sprintf(sql, "select * from detailed_calls where b_uuid is not null and hostname='%s' order by created_epoch", hostname);
|
||||
if (argv[2] && !strcasecmp(argv[1], "as")) {
|
||||
as = argv[2];
|
||||
}
|
||||
|
||||
@@ -2016,8 +2016,10 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
|
||||
if (switch_event_create(&event, SWITCH_EVENT_CALL_UPDATE) == SWITCH_STATUS_SUCCESS) {
|
||||
const char *uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE);
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Direction", "SEND");
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Callee-Name", name);
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Callee-Number", number);
|
||||
|
||||
switch_channel_set_profile_var(channel, "callee_id_name", name);
|
||||
switch_channel_set_profile_var(channel, "callee_id_number", number);
|
||||
|
||||
if (uuid) {
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
|
||||
}
|
||||
|
||||
@@ -745,8 +745,8 @@ void sofia_update_callee_id(switch_core_session_t *session, sofia_profile_t *pro
|
||||
if (switch_event_create(&event, SWITCH_EVENT_CALL_UPDATE) == SWITCH_STATUS_SUCCESS) {
|
||||
const char *uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE);
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Direction", "RECV");
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Callee-Name", name);
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Callee-Number", number);
|
||||
switch_channel_set_profile_var(channel, "callee_id_name", name);
|
||||
switch_channel_set_profile_var(channel, "callee_id_number", number);
|
||||
if (uuid) {
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Bridged-To", uuid);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user