diff --git a/src/modules/siptrace/doc/siptrace_admin.xml b/src/modules/siptrace/doc/siptrace_admin.xml index abf3f47c266..f9174dbc04d 100644 --- a/src/modules/siptrace/doc/siptrace_admin.xml +++ b/src/modules/siptrace/doc/siptrace_admin.xml @@ -118,7 +118,7 @@ modparam("siptrace", "db_url", "&exampledb;") - Set <varname>sip_trace</varname> parameter + Set <varname>table</varname> parameter ... modparam("siptrace", "table", "strace") @@ -218,7 +218,7 @@ modparam("siptrace", "trace_table_avp", "$avp(s:siptrace_table)") <varname>duplicate_uri</varname> (str) The address in form of a SIP URI where to send a duplicate - of traced message. It uses UDP all the time. + of traced message. diff --git a/src/modules/siptrace/siptrace.c b/src/modules/siptrace/siptrace.c index dbaefd40d73..20603259ff7 100644 --- a/src/modules/siptrace/siptrace.c +++ b/src/modules/siptrace/siptrace.c @@ -210,7 +210,8 @@ static cmd_export_t cmds[] = { */ static param_export_t params[] = { {"auth_key", PARAM_STR, &auth_key_str}, - {"db_url", PARAM_STR, &db_url}, {"table", PARAM_STR, &siptrace_table}, + {"db_url", PARAM_STR, &db_url}, + {"table", PARAM_STR, &siptrace_table}, {"date_column", PARAM_STR, &date_column}, {"callid_column", PARAM_STR, &callid_column}, {"traced_user_column", PARAM_STR, &traced_user_column}, @@ -383,6 +384,12 @@ static int mod_init(void) LM_ERR("bad duplicate_uri\n"); return -1; } + if(!dup_uri->proto) { + dup_uri->proto = PROTO_UDP; + } + if(!dup_uri->port_no) { + dup_uri->port_no = SIP_PORT; + } } if(force_send_sock_str.s != 0) { @@ -400,6 +407,12 @@ static int mod_init(void) LM_ERR("bad force_send_sock\n"); return -1; } + if(!force_send_sock_uri->proto) { + force_send_sock_uri->proto = PROTO_UDP; + } + if(!force_send_sock_uri->port_no) { + force_send_sock_uri->port_no = SIP_PORT; + } } if(traced_user_avp_str.s && traced_user_avp_str.len > 0) { @@ -784,13 +797,19 @@ static int parse_siptrace_uri(str* duri, dest_info_t* dst) LM_ERR("bad dup uri\n"); return -1; } + if(!uri.proto) { + uri.proto = PROTO_UDP; + } + if(!uri.port_no) { + uri.port_no = SIP_PORT; + } } init_dest_info(dst); /* create a temporary proxy*/ - dst->proto = PROTO_UDP; - p = mk_proxy(&uri.host, (uri.port_no) ? uri.port_no : SIP_PORT, dst->proto); + dst->proto = uri.proto; + p = mk_proxy(&uri.host, uri.port_no, dst->proto); if(p == 0) { LM_ERR("bad host name in uri\n"); return -1; diff --git a/src/modules/siptrace/siptrace_hep.c b/src/modules/siptrace/siptrace_hep.c index 723b355683d..ff92c0b63c2 100644 --- a/src/modules/siptrace/siptrace_hep.c +++ b/src/modules/siptrace/siptrace_hep.c @@ -170,9 +170,8 @@ int trace_send_hep3_duplicate(str *body, str *from, str *to, if(!dst2) { init_dest_info(&dst); - dst.proto = PROTO_UDP; - p = mk_proxy(&dup_uri->host, - (dup_uri->port_no) ? dup_uri->port_no : SIP_PORT, dst.proto); + dst.proto = dup_uri->proto; + p = mk_proxy(&dup_uri->host, dup_uri->port_no, dst.proto); if(p == 0) { LM_ERR("bad host name in uri\n"); goto error; @@ -189,9 +188,8 @@ int trace_send_hep3_duplicate(str *body, str *from, str *to, if(force_send_sock_str.s) { LM_DBG("force_send_sock activated, grep for the sock_info\n"); si = grep_sock_info(&force_send_sock_uri->host, - (force_send_sock_uri->port_no) ? force_send_sock_uri->port_no - : SIP_PORT, - PROTO_UDP); + force_send_sock_uri->port_no, + force_send_sock_uri->proto); if(!si) { LM_WARN("cannot grep socket info\n"); } else { @@ -289,9 +287,8 @@ int trace_send_hep2_duplicate( if(!dst2) { init_dest_info(&dst); /* create a temporary proxy*/ - dst.proto = PROTO_UDP; - p = mk_proxy(&dup_uri->host, - (dup_uri->port_no) ? dup_uri->port_no : SIP_PORT, dst.proto); + dst.proto = dup_uri->proto; + p = mk_proxy(&dup_uri->host, dup_uri->port_no, dst.proto); if(p == 0) { LM_ERR("bad host name in uri\n"); goto error; @@ -308,9 +305,8 @@ int trace_send_hep2_duplicate( if(force_send_sock_str.s) { LM_DBG("force_send_sock activated, grep for the sock_info\n"); si = grep_sock_info(&force_send_sock_uri->host, - (force_send_sock_uri->port_no) ? force_send_sock_uri->port_no - : SIP_PORT, - PROTO_UDP); + force_send_sock_uri->port_no, + force_send_sock_uri->proto); if(!si) { LM_WARN("cannot grep socket info\n"); } else { @@ -577,9 +573,8 @@ int hlog(struct sip_msg *msg, str *correlationid, str *message) gettimeofday(&tvb, &tz); init_dest_info(&dst); - dst.proto = PROTO_UDP; - p = mk_proxy(&dup_uri->host, - (dup_uri->port_no) ? dup_uri->port_no : SIP_PORT, dst.proto); + dst.proto = dup_uri->proto; + p = mk_proxy(&dup_uri->host, dup_uri->port_no, dst.proto); if(p == 0) { LM_ERR("bad host name in uri\n"); goto error; @@ -594,9 +589,8 @@ int hlog(struct sip_msg *msg, str *correlationid, str *message) if(force_send_sock_str.s) { LM_DBG("force_send_sock activated, grep for the sock_info\n"); si = grep_sock_info(&force_send_sock_uri->host, - (force_send_sock_uri->port_no) ? force_send_sock_uri->port_no - : SIP_PORT, - PROTO_UDP); + force_send_sock_uri->port_no, + force_send_sock_uri->proto); if(!si) { LM_WARN("cannot grep socket info\n"); } else {