src/modules/ims_charging/ims_ro.h
acbbae2a
 #ifndef CLIENT_RF_IMS_RO_H
 #define CLIENT_RF_IMS_RO_H
 
cf83221d
 #include "../../core/mod_fix.h"
acbbae2a
 #include "../cdp/diameter_api.h"
98930c6d
 #include "../ims_dialog/dlg_hash.h"
acbbae2a
 #include "ro_session_hash.h"
 
e0107368
 typedef enum {
     VS_TERMCODE = 3,
     VS_TERMREASON = 2
 } vs_term_avp;
 
32e26c3e
 struct interim_ccr {
 	struct ro_session* ro_session;
 	int new_credit;
 	int credit_valid_for;
 	unsigned int is_final_allocation;
 };
 
acbbae2a
 void credit_control_session_callback(int event, void* session);
 void remove_aaa_session(str *session_id);
63abc6f8
 int Ro_Send_CCR(struct sip_msg *msg, struct dlg_cell *dlg, int dir, int reservation_units, 
5fd0a098
 	    str *incoming_trunk_id, str *outgoing_trunk_id, str *enb_cell_id, cfg_action_t* action, unsigned int tindex, unsigned int tlabel);
88a7b00c
 long get_current_time_micro();
32e26c3e
 void send_ccr_interim(struct ro_session* ro_session, unsigned int used, unsigned int reserve);
e0107368
 void send_ccr_stop_with_param(struct ro_session *ro_session, unsigned int code, str* reason);
909a898a
 int get_direction_as_int(str* direction);
acbbae2a
 
ba3556a8
 void init_custom_user(pv_spec_t *custom_user_avp);
f28b172a
 void init_app_provided_party(pv_spec_t *app_provided_party_avp_p);
ba3556a8
 
acbbae2a
 #endif /* CLIENT_RF_IMS_RO_H */