This started happening with 5.8.0. I was to update our project with Docker image from 5.7.1 to 5.8.0
```
kamailio[594]: ERROR: acc [acc_extra.c:169]: parse_acc_extra(): parse failed in <callid=$dlg(callid);src_user=$(dlg(from_uri){uri.user});dst_user=$(dlg(to_uri){uri.user});xxx_channel_id=$dlg_var(xxx_channel_id);t_error=$dlg_var(to_original_user);src_original_user=$dlg_var(from_original_user);dst_original_user=$dlg_var(to_original_user)id);src_user=$(dlg(from_uri){uri.user});dst_user=$(dlg(to_uri){uri.user});xxx_channel_id=$dlg_var(xxx_channel_id);t_error=$dlg_var(to_original_user);src_original_user=$dlg_var(from_original_user);dst_original_user=$dlg_var(to_original_user> around position 257
kamailio[594]: ERROR: acc [acc_extra.c:173]: parse_acc_extra(): error
kamailio[594]: ERROR: acc [acc_cdr.c:827]: set_cdr_extra(): failed to parse crd_extra param
kamailio[594]: ERROR: acc [acc_mod.c:528]: mod_init(): failed to set cdr extra 'callid=$dlg(callid);src_user=$(dlg(from_uri){uri.user});dst_user=$(dlg(to_uri){uri.user});xxx_channel_id=$dlg_var(xxx_channel_id);t_error=$dlg_var(to_original_user);src_original_user=$dlg_var(from_original_user);dst_original_user=$dlg_var(to_original_user)id);src_user=$(dlg(from_uri){uri.user});dst_user=$(dlg(to_uri){uri.user});xxx_channel_id=$dlg_var(xxx_channel_id);t_error=$dlg_var(to_original_user);src_original_user=$dlg_var(from_original_user);dst_original_user=$dlg_var(to_original_user'
kamailio[594]: ERROR: <core> [core/sr_module.c:1039]: init_mod(): Error while initializing module acc (/usr/lib/x86_64-linux-gnu/kamailio/modules/acc.so)
```
This is how it looks in cfg:
```
modparam("acc", "cdr_extra",
"callid=$dlg(callid);src_user=$(dlg(from_uri){uri.user});dst_user=$(dlg(to_uri){uri.user});"
"xxx_channel_id=$dlg_var(xxx_channel_id);t_error=$dlg_var(to_original_user);"
"src_original_user=$dlg_var(from_original_user);dst_original_user=$dlg_var(to_original_user)")
```
I have tested and it looks like it only happen if cdr_extra fields are bigger > 255 char.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3785
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3785(a)github.com>
Module: kamailio
Branch: master
Commit: cee82c92b06a026b88fea654944f6146eb5cb4d8
URL: https://github.com/kamailio/kamailio/commit/cee82c92b06a026b88fea654944f614…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-03-19T10:21:51+01:00
keepalive: small formatting updates and comments to the ka dest structure
---
Modified: src/modules/keepalive/keepalive.h
---
Diff: https://github.com/kamailio/kamailio/commit/cee82c92b06a026b88fea654944f614…
Patch: https://github.com/kamailio/kamailio/commit/cee82c92b06a026b88fea654944f614…
---
diff --git a/src/modules/keepalive/keepalive.h b/src/modules/keepalive/keepalive.h
index d5a8fcb2197..5ca1ce3561d 100644
--- a/src/modules/keepalive/keepalive.h
+++ b/src/modules/keepalive/keepalive.h
@@ -69,13 +69,15 @@ typedef struct _ka_initial_dest
typedef struct _ka_dest
{
str uri;
- str owner; // name of destination "owner"
- // (module asking to monitor this destination
- str uuid; // Universal id for this record
+ str owner; /*!< Name of destination "owner" */
+ /*!< Module asking to monitor this destination */
+ str uuid; /*!< Universal id for this record */
int flags;
int state;
- time_t last_checked, last_up, last_down;
- int counter; // counts unreachable attempts
+ time_t last_checked;
+ time_t last_up; /*!< Time of last successful SIP reply */
+ time_t last_down; /*!< Time of last failure SIP reply */
+ int counter; /*!< Counts unreachable attempts */
ticks_t ping_interval; /*!< Actual interval between OPTIONS */
void *user_attr;
AFAIK the commits from Herle Supreeth from its fork https://github.com/herlesupreeth/kamailio were migrated manually (not via PR) to upstream at the end of last year. While reviewing the migration I have found two discrepancies:
1. https://github.com/kamailio/kamailio/commit/8b9a2977e111d9adb8595d98ab59f8c… vs. https://github.com/kamailio/kamailio/commit/a6a3bd088368fbf65c283ae27e999d3…
```
herlesupreeth/kamailio (fork)
commit 8b9a2977e111d9adb8595d98ab59f8c8eb033120
Author: herlesupreeth <herlesupreeth(a)gmail.com>
Date: Mon Jun 7 14:01:54 2021 +0200
IPSec fixes
diff --git a/src/modules/ims_ipsec_pcscf/cmd.c b/src/modules/ims_ipsec_pcscf/cmd.c
index 8e0cabcb80..9de3cf7331 100644
--- a/src/modules/ims_ipsec_pcscf/cmd.c
+++ b/src/modules/ims_ipsec_pcscf/cmd.c
@@ -937,7 +939,14 @@ int ipsec_forward(struct sip_msg* m, udomain_t* d)
dst_port = s->port_us;
}
- int buf_len = snprintf(buf, sizeof(buf) - 1, "sip:%.*s:%d", ci.via_host.len, ci.via_host.s, dst_port);
+ int buf_len = 0;
+ if (dst_proto == PROTO_TCP) {
+ buf_len = snprintf(buf, sizeof(buf) - 1, "sip:%.*s:%d;transport=tcp", ci.via_host.len, ci.via_host.s, dst_port);
+ } else if (dst_proto == PROTO_TLS) {
+ buf_len = snprintf(buf, sizeof(buf) - 1, "sip:%.*s:%d;transport=tls", ci.via_host.len, ci.via_host.s, dst_port);
+ } else {
+ buf_len = snprintf(buf, sizeof(buf) - 1, "sip:%.*s:%d", ci.via_host.len, ci.via_host.s, dst_port);
+ }
if((m->dst_uri.s = pkg_malloc(buf_len + 1)) == NULL) {
LM_ERR("Error allocating memory for dst_uri\n");
```
vs.
```
kamailio/kamailio (upstream)
commit a6a3bd088368fbf65c283ae27e999d315db0844b
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Jun 1 18:11:22 2022 +0200
ims_ipsec_pcscf: new option for ipsec_forward() to set trasport for tcp dst uri
diff --git a/src/modules/ims_ipsec_pcscf/cmd.c b/src/modules/ims_ipsec_pcscf/cmd.c
index 5aa208d334..6f6c15e21b 100644
--- a/src/modules/ims_ipsec_pcscf/cmd.c
+++ b/src/modules/ims_ipsec_pcscf/cmd.c
@@ -947,8 +949,14 @@ int ipsec_forward(struct sip_msg *m, udomain_t *d, int _cflags)
if(!(_cflags & IPSEC_NODSTURI_RESET)) {
char buf[1024];
- int buf_len = snprintf(buf, sizeof(buf) - 1, "sip:%.*s:%d", ci.via_host.len,
- ci.via_host.s, dst_port);
+ int buf_len;
+ if((_cflags & IPSEC_SETDSTURI_FULL) && (dst_proto == PROTO_TCP)) {
+ buf_len = snprintf(buf, sizeof(buf) - 1, "sip:%.*s:%d;transport=tcp",
+ ci.via_host.len, ci.via_host.s, dst_port);
+ } else {
+ buf_len = snprintf(buf, sizeof(buf) - 1, "sip:%.*s:%d", ci.via_host.len,
+ ci.via_host.s, dst_port);
+ }
if((m->dst_uri.s = pkg_malloc(buf_len + 1)) == NULL) {
LM_ERR("Error allocating memory for dst_uri\n");
```
To me it seems the handling of the case `dst_proto == PROTO_TLS` is missing upstream.
2. The commit https://github.com/kamailio/kamailio/commit/bfb0a17f3998d26991b4da7a8e83b8c… seems to be absent in upstream.
(From my point of view all the other commits are migrated fine, thanks for the good work!)
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3772
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3772(a)github.com>