AT&T ECOMP Vendor Event Listener library  0.1
Functions
evel_mobile_flow.c File Reference

Implementation of EVEL functions relating to the Mobile Flow. More...

#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include <time.h>
#include "evel.h"
#include "evel_internal.h"
Include dependency graph for evel_mobile_flow.c:

Go to the source code of this file.

Functions

void evel_json_encode_mobile_flow_gtp_flow_metrics (EVEL_JSON_BUFFER *jbuf, MOBILE_GTP_PER_FLOW_METRICS *metrics)
 Encode the Mobile Flow GTP Per Flow Metrics as a JSON object. More...
 
EVENT_MOBILE_FLOWevel_new_mobile_flow (const char *const flow_direction, MOBILE_GTP_PER_FLOW_METRICS *gtp_per_flow_metrics, const char *const ip_protocol_type, const char *const ip_version, const char *const other_endpoint_ip_address, int other_endpoint_port, const char *const reporting_endpoint_ip_addr, int reporting_endpoint_port)
 Create a new Mobile Flow event. More...
 
void evel_mobile_flow_type_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const type)
 Set the Event Type property of the Mobile Flow. More...
 
void evel_mobile_flow_app_type_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const type)
 Set the Application Type property of the Mobile Flow. More...
 
void evel_mobile_flow_app_prot_type_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const type)
 Set the Application Protocol Type property of the Mobile Flow. More...
 
void evel_mobile_flow_app_prot_ver_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const version)
 Set the Application Protocol Version property of the Mobile Flow. More...
 
void evel_mobile_flow_cid_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const cid)
 Set the CID property of the Mobile Flow. More...
 
void evel_mobile_flow_con_type_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const type)
 Set the Connection Type property of the Mobile Flow. More...
 
void evel_mobile_flow_ecgi_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const ecgi)
 Set the ECGI property of the Mobile Flow. More...
 
void evel_mobile_flow_gtp_prot_type_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const type)
 Set the GTP Protocol Type property of the Mobile Flow. More...
 
void evel_mobile_flow_gtp_prot_ver_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const version)
 Set the GTP Protocol Version property of the Mobile Flow. More...
 
void evel_mobile_flow_http_header_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const header)
 Set the HTTP Header property of the Mobile Flow. More...
 
void evel_mobile_flow_imei_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const imei)
 Set the IMEI property of the Mobile Flow. More...
 
void evel_mobile_flow_imsi_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const imsi)
 Set the IMSI property of the Mobile Flow. More...
 
void evel_mobile_flow_lac_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const lac)
 Set the LAC property of the Mobile Flow. More...
 
void evel_mobile_flow_mcc_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const mcc)
 Set the MCC property of the Mobile Flow. More...
 
void evel_mobile_flow_mnc_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const mnc)
 Set the MNC property of the Mobile Flow. More...
 
void evel_mobile_flow_msisdn_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const msisdn)
 Set the MSISDN property of the Mobile Flow. More...
 
void evel_mobile_flow_other_func_role_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const role)
 Set the Other Functional Role property of the Mobile Flow. More...
 
void evel_mobile_flow_rac_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const rac)
 Set the RAC property of the Mobile Flow. More...
 
void evel_mobile_flow_radio_acc_tech_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const tech)
 Set the Radio Access Technology property of the Mobile Flow. More...
 
void evel_mobile_flow_sac_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const sac)
 Set the SAC property of the Mobile Flow. More...
 
void evel_mobile_flow_samp_alg_set (EVENT_MOBILE_FLOW *mobile_flow, int algorithm)
 Set the Sampling Algorithm property of the Mobile Flow. More...
 
void evel_mobile_flow_tac_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const tac)
 Set the TAC property of the Mobile Flow. More...
 
void evel_mobile_flow_tunnel_id_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const tunnel_id)
 Set the Tunnel ID property of the Mobile Flow. More...
 
void evel_mobile_flow_vlan_id_set (EVENT_MOBILE_FLOW *mobile_flow, const char *const vlan_id)
 Set the VLAN ID property of the Mobile Flow. More...
 
void evel_json_encode_mobile_flow (EVEL_JSON_BUFFER *jbuf, EVENT_MOBILE_FLOW *event)
 Encode the Mobile Flow in JSON according to AT&T's schema for the event type. More...
 
void evel_free_mobile_flow (EVENT_MOBILE_FLOW *event)
 Free a Mobile Flow. More...
 
MOBILE_GTP_PER_FLOW_METRICSevel_new_mobile_gtp_flow_metrics (double avg_bit_error_rate, double avg_packet_delay_variation, int avg_packet_latency, int avg_receive_throughput, int avg_transmit_throughput, int flow_activation_epoch, int flow_activation_microsec, int flow_deactivation_epoch, int flow_deactivation_microsec, time_t flow_deactivation_time, const char *const flow_status, int max_packet_delay_variation, int num_activation_failures, int num_bit_errors, int num_bytes_received, int num_bytes_transmitted, int num_dropped_packets, int num_l7_bytes_received, int num_l7_bytes_transmitted, int num_lost_packets, int num_out_of_order_packets, int num_packet_errors, int num_packets_received_excl_retrans, int num_packets_received_incl_retrans, int num_packets_transmitted_incl_retrans, int num_retries, int num_timeouts, int num_tunneled_l7_bytes_received, int round_trip_time, int time_to_first_byte)
 Create a new Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_dur_con_fail_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int duration)
 Set the Duration of Connection Failed Status property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_dur_tun_fail_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int duration)
 Set the Duration of Tunnel Failed Status property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_act_by_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, const char *const act_by)
 Set the Activated By property of the Mobile GTP Per Flow metrics. More...
 
void evel_mobile_gtp_metrics_act_time_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, time_t act_time)
 Set the Activation Time property of the Mobile GTP Per Flow metrics. More...
 
void evel_mobile_gtp_metrics_deact_by_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, const char *const deact_by)
 Set the Deactivated By property of the Mobile GTP Per Flow metrics. More...
 
void evel_mobile_gtp_metrics_con_status_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, const char *const status)
 Set the GTP Connection Status property of the Mobile GTP Per Flow metrics. More...
 
void evel_mobile_gtp_metrics_tun_status_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, const char *const status)
 Set the GTP Tunnel Status property of the Mobile GTP Per Flow metrics. More...
 
void evel_mobile_gtp_metrics_iptos_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int index, int count)
 Set an IP Type-of-Service count property of the Mobile GTP Per Flow metrics. More...
 
void evel_mobile_gtp_metrics_large_pkt_rtt_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int rtt)
 Set the Large Packet Round-Trip Time property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_large_pkt_thresh_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, double threshold)
 Set the Large Packet Threshold property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_max_rcv_bit_rate_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int rate)
 Set the Max Receive Bit Rate property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_max_trx_bit_rate_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int rate)
 Set the Max Transmit Bit Rate property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_num_echo_fail_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int num)
 Set the Number of GTP Echo Failures property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_num_tun_fail_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int num)
 Set the Number of GTP Tunnel Errors property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_num_http_errors_set (MOBILE_GTP_PER_FLOW_METRICS *metrics, int num)
 Set the Number of HTTP Errors property of the Mobile GTP Per Flow Metrics. More...
 
void evel_mobile_gtp_metrics_tcp_flag_count_add (MOBILE_GTP_PER_FLOW_METRICS *metrics, const EVEL_TCP_FLAGS tcp_flag, const int count)
 Add a TCP flag count to the metrics. More...
 
void evel_mobile_gtp_metrics_qci_cos_count_add (MOBILE_GTP_PER_FLOW_METRICS *metrics, const EVEL_QCI_COS_TYPES qci_cos, const int count)
 Add a QCI COS count to the metrics. More...
 
void evel_free_mobile_gtp_flow_metrics (MOBILE_GTP_PER_FLOW_METRICS *metrics)
 Free a Mobile GTP Per Flow Metrics. More...
 

Detailed Description

Implementation of EVEL functions relating to the Mobile Flow.

License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the AT&T.
  4. Neither the name of AT&T nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file evel_mobile_flow.c.

Function Documentation

§ evel_free_mobile_flow()

void evel_free_mobile_flow ( EVENT_MOBILE_FLOW event)

Free a Mobile Flow.

Free off the Mobile Flow supplied. Will free all the contained allocated memory.

Note
It does not free the Mobile Flow itself, since that may be part of a larger structure.

Definition at line 980 of file evel_mobile_flow.c.

§ evel_free_mobile_gtp_flow_metrics()

void evel_free_mobile_gtp_flow_metrics ( MOBILE_GTP_PER_FLOW_METRICS metrics)

Free a Mobile GTP Per Flow Metrics.

Free off the Mobile GTP Per Flow Metrics supplied. Will free all the contained allocated memory.

Note
It does not free the Mobile GTP Per Flow Metrics itself, since that may be part of a larger structure.

Definition at line 2016 of file evel_mobile_flow.c.

§ evel_json_encode_mobile_flow()

void evel_json_encode_mobile_flow ( EVEL_JSON_BUFFER jbuf,
EVENT_MOBILE_FLOW event 
)

Encode the Mobile Flow in JSON according to AT&T's schema for the event type.

Parameters
jbufPointer to the EVEL_JSON_BUFFER to encode into.
eventPointer to the EVENT_HEADER to encode.

Definition at line 898 of file evel_mobile_flow.c.

§ evel_json_encode_mobile_flow_gtp_flow_metrics()

void evel_json_encode_mobile_flow_gtp_flow_metrics ( EVEL_JSON_BUFFER jbuf,
MOBILE_GTP_PER_FLOW_METRICS metrics 
)

Encode the Mobile Flow GTP Per Flow Metrics as a JSON object.

Parameters
jbufPointer to working EVEL_JSON_BUFFER.
metricsPointer to the EVENT_MOBILE_FLOW to encode.
Returns
Number of bytes actually written.

Definition at line 1742 of file evel_mobile_flow.c.

§ evel_mobile_flow_app_prot_type_set()

void evel_mobile_flow_app_prot_type_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  type 
)

Set the Application Protocol Type property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
typeThe Application Protocol Type to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 259 of file evel_mobile_flow.c.

§ evel_mobile_flow_app_prot_ver_set()

void evel_mobile_flow_app_prot_ver_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  version 
)

Set the Application Protocol Version property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
versionThe Application Protocol Version to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 289 of file evel_mobile_flow.c.

§ evel_mobile_flow_app_type_set()

void evel_mobile_flow_app_type_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  type 
)

Set the Application Type property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
typeThe Application Type to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 229 of file evel_mobile_flow.c.

§ evel_mobile_flow_cid_set()

void evel_mobile_flow_cid_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  cid 
)

Set the CID property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
cidThe CID to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 318 of file evel_mobile_flow.c.

§ evel_mobile_flow_con_type_set()

void evel_mobile_flow_con_type_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  type 
)

Set the Connection Type property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
typeThe Connection Type to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 348 of file evel_mobile_flow.c.

§ evel_mobile_flow_ecgi_set()

void evel_mobile_flow_ecgi_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  ecgi 
)

Set the ECGI property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
ecgiThe ECGI to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 377 of file evel_mobile_flow.c.

§ evel_mobile_flow_gtp_prot_type_set()

void evel_mobile_flow_gtp_prot_type_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  type 
)

Set the GTP Protocol Type property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
typeThe GTP Protocol Type to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 407 of file evel_mobile_flow.c.

§ evel_mobile_flow_gtp_prot_ver_set()

void evel_mobile_flow_gtp_prot_ver_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  version 
)

Set the GTP Protocol Version property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
versionThe GTP Protocol Version to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 437 of file evel_mobile_flow.c.

§ evel_mobile_flow_http_header_set()

void evel_mobile_flow_http_header_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  header 
)

Set the HTTP Header property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
headerThe HTTP header to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 466 of file evel_mobile_flow.c.

§ evel_mobile_flow_imei_set()

void evel_mobile_flow_imei_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  imei 
)

Set the IMEI property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
imeiThe IMEI to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 495 of file evel_mobile_flow.c.

§ evel_mobile_flow_imsi_set()

void evel_mobile_flow_imsi_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  imsi 
)

Set the IMSI property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
imsiThe IMSI to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 524 of file evel_mobile_flow.c.

§ evel_mobile_flow_lac_set()

void evel_mobile_flow_lac_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  lac 
)

Set the LAC property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
lacThe LAC to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 553 of file evel_mobile_flow.c.

§ evel_mobile_flow_mcc_set()

void evel_mobile_flow_mcc_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  mcc 
)

Set the MCC property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
mccThe MCC to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 582 of file evel_mobile_flow.c.

§ evel_mobile_flow_mnc_set()

void evel_mobile_flow_mnc_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  mnc 
)

Set the MNC property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
mncThe MNC to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 611 of file evel_mobile_flow.c.

§ evel_mobile_flow_msisdn_set()

void evel_mobile_flow_msisdn_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  msisdn 
)

Set the MSISDN property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
msisdnThe MSISDN to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 640 of file evel_mobile_flow.c.

§ evel_mobile_flow_other_func_role_set()

void evel_mobile_flow_other_func_role_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  role 
)

Set the Other Functional Role property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
roleThe Other Functional Role to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 670 of file evel_mobile_flow.c.

§ evel_mobile_flow_rac_set()

void evel_mobile_flow_rac_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  rac 
)

Set the RAC property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
racThe RAC to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 699 of file evel_mobile_flow.c.

§ evel_mobile_flow_radio_acc_tech_set()

void evel_mobile_flow_radio_acc_tech_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  tech 
)

Set the Radio Access Technology property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
techThe Radio Access Technology to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 729 of file evel_mobile_flow.c.

§ evel_mobile_flow_sac_set()

void evel_mobile_flow_sac_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  sac 
)

Set the SAC property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
sacThe SAC to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 758 of file evel_mobile_flow.c.

§ evel_mobile_flow_samp_alg_set()

void evel_mobile_flow_samp_alg_set ( EVENT_MOBILE_FLOW mobile_flow,
int  algorithm 
)

Set the Sampling Algorithm property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
algorithmThe Sampling Algorithm to be set.

Definition at line 786 of file evel_mobile_flow.c.

§ evel_mobile_flow_tac_set()

void evel_mobile_flow_tac_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  tac 
)

Set the TAC property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
tacThe TAC to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 815 of file evel_mobile_flow.c.

§ evel_mobile_flow_tunnel_id_set()

void evel_mobile_flow_tunnel_id_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  tunnel_id 
)

Set the Tunnel ID property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
tunnel_idThe Tunnel ID to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 844 of file evel_mobile_flow.c.

§ evel_mobile_flow_type_set()

void evel_mobile_flow_type_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  type 
)

Set the Event Type property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
typeThe Event Type to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 202 of file evel_mobile_flow.c.

§ evel_mobile_flow_vlan_id_set()

void evel_mobile_flow_vlan_id_set ( EVENT_MOBILE_FLOW mobile_flow,
const char *const  vlan_id 
)

Set the VLAN ID property of the Mobile Flow.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
mobile_flowPointer to the Mobile Flow.
vlan_idThe VLAN ID to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 873 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_act_by_set()

void evel_mobile_gtp_metrics_act_by_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
const char *const  act_by 
)

Set the Activated By property of the Mobile GTP Per Flow metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
act_byThe Activated By to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 1304 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_act_time_set()

void evel_mobile_gtp_metrics_act_time_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
time_t  act_time 
)

Set the Activation Time property of the Mobile GTP Per Flow metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
act_timeThe Activation Time to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 1333 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_con_status_set()

void evel_mobile_gtp_metrics_con_status_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
const char *const  status 
)

Set the GTP Connection Status property of the Mobile GTP Per Flow metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
statusThe GTP Connection Status to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 1393 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_deact_by_set()

void evel_mobile_gtp_metrics_deact_by_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
const char *const  deact_by 
)

Set the Deactivated By property of the Mobile GTP Per Flow metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
deact_byThe Deactivated By to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 1363 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_dur_con_fail_set()

void evel_mobile_gtp_metrics_dur_con_fail_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  duration 
)

Set the Duration of Connection Failed Status property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
durationThe Duration of Connection Failed Status to be set.

Definition at line 1245 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_dur_tun_fail_set()

void evel_mobile_gtp_metrics_dur_tun_fail_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  duration 
)

Set the Duration of Tunnel Failed Status property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
durationThe Duration of Tunnel Failed Status to be set.

Definition at line 1274 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_iptos_set()

void evel_mobile_gtp_metrics_iptos_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  index,
int  count 
)

Set an IP Type-of-Service count property of the Mobile GTP Per Flow metrics.

Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
indexThe index of the IP Type-of-Service.
countThe count.

Definition at line 1448 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_large_pkt_rtt_set()

void evel_mobile_gtp_metrics_large_pkt_rtt_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  rtt 
)

Set the Large Packet Round-Trip Time property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
rttThe Large Packet Round-Trip Time to be set.

Definition at line 1481 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_large_pkt_thresh_set()

void evel_mobile_gtp_metrics_large_pkt_thresh_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
double  threshold 
)

Set the Large Packet Threshold property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
thresholdThe Large Packet Threshold to be set.

Definition at line 1509 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_max_rcv_bit_rate_set()

void evel_mobile_gtp_metrics_max_rcv_bit_rate_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  rate 
)

Set the Max Receive Bit Rate property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
rateThe Max Receive Bit Rate to be set.

Definition at line 1537 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_max_trx_bit_rate_set()

void evel_mobile_gtp_metrics_max_trx_bit_rate_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  rate 
)

Set the Max Transmit Bit Rate property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
rateThe Max Transmit Bit Rate to be set.

Definition at line 1565 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_num_echo_fail_set()

void evel_mobile_gtp_metrics_num_echo_fail_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  num 
)

Set the Number of GTP Echo Failures property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
numThe Number of GTP Echo Failures to be set.

Definition at line 1594 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_num_http_errors_set()

void evel_mobile_gtp_metrics_num_http_errors_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  num 
)

Set the Number of HTTP Errors property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
numThe Number of HTTP Errors to be set.

Definition at line 1651 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_num_tun_fail_set()

void evel_mobile_gtp_metrics_num_tun_fail_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
int  num 
)

Set the Number of GTP Tunnel Errors property of the Mobile GTP Per Flow Metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
numThe Number of GTP Tunnel Errors to be set.

Definition at line 1623 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_qci_cos_count_add()

void evel_mobile_gtp_metrics_qci_cos_count_add ( MOBILE_GTP_PER_FLOW_METRICS metrics,
const EVEL_QCI_COS_TYPES  qci_cos,
const int  count 
)

Add a QCI COS count to the metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
qci_cosThe QCI COS count to be updated.
countThe associated QCI COS count.

Definition at line 1713 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_tcp_flag_count_add()

void evel_mobile_gtp_metrics_tcp_flag_count_add ( MOBILE_GTP_PER_FLOW_METRICS metrics,
const EVEL_TCP_FLAGS  tcp_flag,
const int  count 
)

Add a TCP flag count to the metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
tcp_flagThe TCP flag to be updated.
countThe associated flag count, which must be nonzero.

Definition at line 1680 of file evel_mobile_flow.c.

§ evel_mobile_gtp_metrics_tun_status_set()

void evel_mobile_gtp_metrics_tun_status_set ( MOBILE_GTP_PER_FLOW_METRICS metrics,
const char *const  status 
)

Set the GTP Tunnel Status property of the Mobile GTP Per Flow metrics.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
metricsPointer to the Mobile GTP Per Flow Metrics.
statusThe GTP Tunnel Status to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 1423 of file evel_mobile_flow.c.

§ evel_new_mobile_flow()

EVENT_MOBILE_FLOW* evel_new_mobile_flow ( const char *const  flow_direction,
MOBILE_GTP_PER_FLOW_METRICS gtp_per_flow_metrics,
const char *const  ip_protocol_type,
const char *const  ip_version,
const char *const  other_endpoint_ip_address,
int  other_endpoint_port,
const char *const  reporting_endpoint_ip_addr,
int  reporting_endpoint_port 
)

Create a new Mobile Flow event.

Note
The mandatory fields on the Mobile Flow must be supplied to this factory function and are immutable once set. Optional fields have explicit setter functions, but again values may only be set once so that the Mobile Flow has immutable properties.
Parameters
flow_directionFlow direction.
gtp_per_flow_metricsGTP per-flow metrics.
ip_protocol_typeIP protocol type.
ip_versionIP protocol version.
other_endpoint_ip_addressIP address of the other endpoint.
other_endpoint_portIP port of the other endpoint.
reporting_endpoint_ip_addrIP address of the reporting endpoint.
reporting_endpoint_portIP port of the reporting endpoint.
Returns
pointer to the newly manufactured EVENT_MOBILE_FLOW. If the event is not used (i.e. posted) it must be released using evel_free_mobile_flow.
Return values
NULLFailed to create the event.

Definition at line 108 of file evel_mobile_flow.c.

§ evel_new_mobile_gtp_flow_metrics()

MOBILE_GTP_PER_FLOW_METRICS* evel_new_mobile_gtp_flow_metrics ( double  avg_bit_error_rate,
double  avg_packet_delay_variation,
int  avg_packet_latency,
int  avg_receive_throughput,
int  avg_transmit_throughput,
int  flow_activation_epoch,
int  flow_activation_microsec,
int  flow_deactivation_epoch,
int  flow_deactivation_microsec,
time_t  flow_deactivation_time,
const char *const  flow_status,
int  max_packet_delay_variation,
int  num_activation_failures,
int  num_bit_errors,
int  num_bytes_received,
int  num_bytes_transmitted,
int  num_dropped_packets,
int  num_l7_bytes_received,
int  num_l7_bytes_transmitted,
int  num_lost_packets,
int  num_out_of_order_packets,
int  num_packet_errors,
int  num_packets_received_excl_retrans,
int  num_packets_received_incl_retrans,
int  num_packets_transmitted_incl_retrans,
int  num_retries,
int  num_timeouts,
int  num_tunneled_l7_bytes_received,
int  round_trip_time,
int  time_to_first_byte 
)

Create a new Mobile GTP Per Flow Metrics.

Note
The mandatory fields on the Mobile GTP Per Flow Metrics must be supplied to this factory function and are immutable once set. Optional fields have explicit setter functions, but again values may only be set once so that the Mobile GTP Per Flow Metrics has immutable properties.
Parameters
avg_bit_error_rateAverage bit error rate.
avg_packet_delay_variationAverage delay or jitter in ms.
avg_packet_latencyAverage delivery latency.
avg_receive_throughputAverage receive throughput.
avg_transmit_throughputAverage transmit throughput.
flow_activation_epochTime the connection is activated.
flow_activation_microsecMicroseconds for the start of the flow connection.
flow_deactivation_epochTime for the end of the connection.
flow_deactivation_microsecMicroseconds for the end of the flow connection.
flow_deactivation_timeTransmission time of the first packet.
flow_statusConnection status.
max_packet_delay_variationMaximum packet delay or jitter in ms.
num_activation_failuresNumber of failed activation requests.
num_bit_errorsNumber of errored bits.
num_bytes_receivedNumber of bytes received.
num_bytes_transmittedNumber of bytes transmitted.
num_dropped_packetsNumber of received packets dropped.
num_l7_bytes_receivedNumber of tunneled Layer 7 bytes received.
num_l7_bytes_transmittedNumber of tunneled Layer 7 bytes transmitted.
num_lost_packetsNumber of lost packets.
num_out_of_order_packetsNumber of out-of-order packets.
num_packet_errorsNumber of errored packets.
num_packets_received_excl_retransNumber of packets received, excluding retransmits.
num_packets_received_incl_retransNumber of packets received.
num_packets_transmitted_incl_retransNumber of packets transmitted.
num_retriesNumber of packet retries.
num_timeoutsNumber of packet timeouts.
num_tunneled_l7_bytes_receivedNumber of tunneled Layer 7 bytes received, excluding retransmits.
round_trip_timeRound trip time.
time_to_first_byteTime in ms between connection activation and first byte received.
Returns
pointer to the newly manufactured MOBILE_GTP_PER_FLOW_METRICS. If the structure is not used it must be released using evel_free_mobile_gtp_flow_metrics.
Return values
NULLFailed to create the event.

Definition at line 1083 of file evel_mobile_flow.c.