EDACS: print agency/fleet calls in logs

This commit is contained in:
ilyacodes 2024-04-14 10:00:46 -04:00
parent 0568475d59
commit 8206a5f3f4
1 changed files with 33 additions and 25 deletions

View File

@ -1267,12 +1267,16 @@ void edacs(dsd_opts * opts, dsd_state * state)
int lcn = (msg_1 & 0x1F000) >> 12;
int is_tx_trunk = (msg_1 & 0x800) >> 11;
int group = (msg_1 & 0x7FF);
int is_agency_call = isAgencyCallGroup(group, state);
int is_fleet_call = isFleetCallGroup(group, state);
fprintf (stderr, "%s", KGRN);
fprintf (stderr, " Voice Group Channel Assignment ::");
if (is_digital == 0) fprintf (stderr, " Analog");
else fprintf (stderr, " Digital");
fprintf (stderr, " Group [%04d] LID [%05d] LCN [%02d]%s", group, lid, lcn, getLcnStatusString(lcn));
if (is_agency_call == 1) fprintf (stderr, " [Agency]");
else if (is_agency_call == 1) fprintf (stderr, " [Fleet]");
if (is_tx_trunk == 0) fprintf (stderr, " [Message Trunking]");
if (is_emergency == 1)
{
@ -1296,8 +1300,8 @@ void edacs(dsd_opts * opts, dsd_state * state)
state->edacs_vc_call_type = EDACS_IS_VOICE | EDACS_IS_GROUP;
if (is_digital == 1) state->edacs_vc_call_type |= EDACS_IS_DIGITAL;
if (is_emergency == 1) state->edacs_vc_call_type |= EDACS_IS_EMERGENCY;
if (isAgencyCallGroup(group, state)) state->edacs_vc_call_type |= EDACS_IS_AGENCY_CALL;
else if (isFleetCallGroup(group, state)) state->edacs_vc_call_type |= EDACS_IS_FLEET_CALL;
if (is_agency_call) state->edacs_vc_call_type |= EDACS_IS_AGENCY_CALL;
else if (is_fleet_call) state->edacs_vc_call_type |= EDACS_IS_FLEET_CALL;
char mode[8]; //allow, block, digital enc
sprintf (mode, "%s", "");
@ -1478,6 +1482,8 @@ void edacs(dsd_opts * opts, dsd_state * state)
int group = (msg_1 & 0x7FF);
int lid = (msg_1 & 0x3FFF);
int source = (msg_2 & 0x3FFF); //Source only present in individual calls
int is_agency_call = is_individual == 0 && isAgencyCallGroup(group, state);
int is_fleet_call = is_individual == 0 && isFleetCallGroup(group, state);
//Abstract away to a target, and be sure to check whether it's an individual call later
int target = (is_individual == 0) ? group : lid;
@ -1509,6 +1515,8 @@ void edacs(dsd_opts * opts, dsd_state * state)
if (is_individual == 0) fprintf (stderr, " Group [%04d]", target);
else if (is_test_call == 0) fprintf (stderr, " Callee [%05d] Caller [%05d]", target, source);
fprintf (stderr, " LCN [%02d]%s", lcn, getLcnStatusString(lcn));
if (is_agency_call == 1) fprintf (stderr, " [Agency]");
else if (is_fleet_call == 1) fprintf (stderr, " [Fleet]");
if (is_tx_trunk == 0) fprintf (stderr, " [Message Trunking]");
if (is_emergency == 1)
{
@ -1535,8 +1543,8 @@ void edacs(dsd_opts * opts, dsd_state * state)
else state->edacs_vc_call_type |= EDACS_IS_INDIVIDUAL;
if (is_digital == 1) state->edacs_vc_call_type |= EDACS_IS_DIGITAL;
if (is_emergency == 1) state->edacs_vc_call_type |= EDACS_IS_EMERGENCY;
if (isAgencyCallGroup(group, state)) state->edacs_vc_call_type |= EDACS_IS_AGENCY_CALL;
else if (isFleetCallGroup(group, state)) state->edacs_vc_call_type |= EDACS_IS_FLEET_CALL;
if (is_agency_call) state->edacs_vc_call_type |= EDACS_IS_AGENCY_CALL;
else if (is_fleet_call) state->edacs_vc_call_type |= EDACS_IS_FLEET_CALL;
char mode[8]; //allow, block, digital enc
sprintf (mode, "%s", "");