Module: kamailio Branch: master Commit: f5e44252c39c7695cb66893035a0581a65a72f91 URL: https://github.com/kamailio/kamailio/commit/f5e44252c39c7695cb66893035a0581a...
Author: Henning Westerholt hw@skalatan.de Committer: Henning Westerholt hw@skalatan.de Date: 2020-07-02T08:55:08Z
ims_charging: bugfix for destination_host parameter, implementation was incomplete
---
Modified: src/modules/ims_charging/Ro_data.c Modified: src/modules/ims_charging/Ro_data.h Modified: src/modules/ims_charging/config.h Modified: src/modules/ims_charging/doc/ims_charging_admin.xml Modified: src/modules/ims_charging/ims_charging_mod.c
---
Diff: https://github.com/kamailio/kamailio/commit/f5e44252c39c7695cb66893035a0581a... Patch: https://github.com/kamailio/kamailio/commit/f5e44252c39c7695cb66893035a0581a...
---
diff --git a/src/modules/ims_charging/Ro_data.c b/src/modules/ims_charging/Ro_data.c index dde768c31f..6da134f85d 100644 --- a/src/modules/ims_charging/Ro_data.c +++ b/src/modules/ims_charging/Ro_data.c @@ -194,6 +194,9 @@ Ro_CCR_t * new_Ro_CCR(int32_t acc_record_type, str * user_name, ims_information_
if (cfg.origin_realm.s && cfg.origin_realm.len >0) str_dup(x->origin_realm, cfg.origin_realm, pkg); + + if (cfg.destination_host.s && cfg.destination_host.len > 0) + str_dup(x->destination_host, cfg.destination_host, pkg);
if (cfg.destination_realm.s && cfg.destination_realm.len > 0) str_dup(x->destination_realm, cfg.destination_realm, pkg); @@ -293,6 +296,7 @@ void Ro_free_CCR(Ro_CCR_t *x) {
str_free(x->origin_host, pkg); str_free(x->origin_realm, pkg); + str_free(x->destination_host, pkg); str_free(x->destination_realm, pkg);
str_free_ptr(x->user_name, pkg); diff --git a/src/modules/ims_charging/Ro_data.h b/src/modules/ims_charging/Ro_data.h index 4f1bff7e20..6ad045c191 100644 --- a/src/modules/ims_charging/Ro_data.h +++ b/src/modules/ims_charging/Ro_data.h @@ -341,6 +341,7 @@ typedef struct { typedef struct { str origin_host; str origin_realm; + str destination_host; str destination_realm;
int32_t acct_record_type; diff --git a/src/modules/ims_charging/config.h b/src/modules/ims_charging/config.h index 8ceabd4428..1ac03f24ca 100644 --- a/src/modules/ims_charging/config.h +++ b/src/modules/ims_charging/config.h @@ -4,6 +4,7 @@ typedef struct { str origin_host; str origin_realm; + str destination_host; str destination_realm; str * service_context_id; } client_ro_cfg; diff --git a/src/modules/ims_charging/doc/ims_charging_admin.xml b/src/modules/ims_charging/doc/ims_charging_admin.xml index 4c68b6e29c..775a9016db 100644 --- a/src/modules/ims_charging/doc/ims_charging_admin.xml +++ b/src/modules/ims_charging/doc/ims_charging_admin.xml @@ -530,7 +530,7 @@ modparam("ims_charging", "origin_realm", "kamailio-ims.org") <para>Destination host to be used in Diameter messages to charging-server.</para>
- <para><emphasis>Default value is "hss.ims.smilecoms.com".</emphasis></para> + <para><emphasis>Default value is "".</emphasis></para>
<example> <title><varname>destination_host</varname>parameter usage</title> diff --git a/src/modules/ims_charging/ims_charging_mod.c b/src/modules/ims_charging/ims_charging_mod.c index a9a2dd0fb8..c9844dc784 100644 --- a/src/modules/ims_charging/ims_charging_mod.c +++ b/src/modules/ims_charging/ims_charging_mod.c @@ -28,7 +28,6 @@ MODULE_VERSION struct dlg_binds* dlgb_p;
/* parameters */ -char* ro_destination_host_s = "hss.ims.smilecoms.com"; char* ro_service_context_id_root_s = "32260@3gpp.org"; char* ro_service_context_id_ext_s = "ext"; char* ro_service_context_id_mnc_s = "01"; @@ -60,6 +59,7 @@ int ro_db_mode = DB_MODE_NONE; char *domain = "location";
client_ro_cfg cfg = { str_init(""), + str_init(""), str_init(""), str_init(""), 0 @@ -124,7 +124,7 @@ static param_export_t params[] = { { "origin_host", PARAM_STR, &cfg.origin_host }, { "origin_realm", PARAM_STR, &cfg.origin_realm }, { "destination_realm", PARAM_STR, &cfg.destination_realm }, - { "destination_host", PARAM_STRING, &ro_destination_host_s }, /* Unused parameter? */ + { "destination_host", PARAM_STR, &cfg.destination_host }, { "service_context_id_root",PARAM_STRING, &ro_service_context_id_root_s }, { "service_context_id_ext", PARAM_STRING, &ro_service_context_id_ext_s }, { "service_context_id_mnc", PARAM_STRING, &ro_service_context_id_mnc_s },