Pārlūkot izejas kodu

ims_charging: bugfix for destination_host parameter, implementation was incomplete

(cherry picked from commit f5e44252c39c7695cb66893035a0581a65a72f91)
Henning Westerholt 5 gadi atpakaļ
vecāks
revīzija
35132a64f4

+ 4 - 0
src/modules/ims_charging/Ro_data.c

@@ -185,6 +185,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);
@@ -281,6 +284,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);

+ 1 - 0
src/modules/ims_charging/Ro_data.h

@@ -340,6 +340,7 @@ typedef struct {
 typedef struct {
     str origin_host;
     str origin_realm;
+    str destination_host;
     str destination_realm;
 
     int32_t acct_record_type;

+ 1 - 0
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;

+ 1 - 1
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>

+ 2 - 2
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 = "[email protected]";
 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
@@ -122,7 +122,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 	},