2
0
Эх сурвалжийг харах

kazoo : do not override common properties in payload if they exist

also adds app_name parameter to be sent in "App-Name" field, defaults to NAME at compilation time (kamailio)
Luis Azedo 10 жил өмнө
parent
commit
43e7f3425e

+ 1 - 0
modules/kazoo/const.h

@@ -13,6 +13,7 @@
 extern str str_event_message_summary;
 extern str str_event_message_summary;
 extern str str_event_dialog;
 extern str str_event_dialog;
 extern str str_event_presence;
 extern str str_event_presence;
+extern str kz_app_name;
 
 
 extern str str_username_col;
 extern str str_username_col;
 extern str str_domain_col;
 extern str str_domain_col;

+ 3 - 0
modules/kazoo/kazoo.c

@@ -103,6 +103,8 @@ str kz_db_url = {0,0};
 str kz_query_timeout_avp = {0,0};
 str kz_query_timeout_avp = {0,0};
 pv_spec_t kz_query_timeout_spec;
 pv_spec_t kz_query_timeout_spec;
 
 
+str kz_app_name = str_init(NAME);
+
 MODULE_VERSION
 MODULE_VERSION
 
 
 static tr_export_t mod_trans[] = {
 static tr_export_t mod_trans[] = {
@@ -176,6 +178,7 @@ static param_export_t params[] = {
     {"consume_messages_on_reconnect", INT_PARAM, &dbk_consume_messages_on_reconnect},
     {"consume_messages_on_reconnect", INT_PARAM, &dbk_consume_messages_on_reconnect},
     {"amqp_query_timeout_avp", STR_PARAM, &kz_query_timeout_avp.s},
     {"amqp_query_timeout_avp", STR_PARAM, &kz_query_timeout_avp.s},
     {"json_escape_char", STR_PARAM, &kz_json_escape_str.s},
     {"json_escape_char", STR_PARAM, &kz_json_escape_str.s},
+    {"app_name", STR_PARAM, &kz_app_name.s},
     {0, 0, 0}
     {0, 0, 0}
 };
 };
 
 

+ 13 - 9
modules/kazoo/kz_amqp.c

@@ -688,15 +688,19 @@ void kz_amqp_add_payload_common_properties(json_obj_ptr json_obj, char* server_i
     char node_name[512];
     char node_name[512];
 
 
 
 
-    json_object_object_add(json_obj, BLF_JSON_APP_NAME,
-			   json_object_new_string(NAME));
-    json_object_object_add(json_obj, BLF_JSON_APP_VERSION,
-			   json_object_new_string(VERSION));
-    sprintf(node_name, "kamailio@%.*s", dbk_node_hostname.len, dbk_node_hostname.s);
-    json_object_object_add(json_obj, BLF_JSON_NODE,
-			   json_object_new_string(node_name));
-    json_object_object_add(json_obj, BLF_JSON_MSG_ID,
-			   json_object_new_string_len(unique->s, unique->len));
+	if(kz_json_get_object(json_obj, BLF_JSON_APP_NAME) == NULL)
+		json_object_object_add(json_obj, BLF_JSON_APP_NAME, json_object_new_string(kz_app_name.s));
+
+	if(kz_json_get_object(json_obj, BLF_JSON_APP_VERSION) == NULL)
+		json_object_object_add(json_obj, BLF_JSON_APP_VERSION, json_object_new_string(VERSION));
+
+	if(kz_json_get_object(json_obj, BLF_JSON_NODE) == NULL) {
+		sprintf(node_name, "kamailio@%.*s", dbk_node_hostname.len, dbk_node_hostname.s);
+		json_object_object_add(json_obj, BLF_JSON_NODE,	json_object_new_string(node_name));	
+	}
+
+	if(kz_json_get_object(json_obj, BLF_JSON_MSG_ID) == NULL)
+		json_object_object_add(json_obj, BLF_JSON_MSG_ID, json_object_new_string_len(unique->s, unique->len));
 
 
 }
 }