### Description
When callee device not reachable kamailio tries to reach it, I have profile with 3 retries with 1second interval.
But Contact header present only in 1-st Invite. Next Invites are send without Contact header...
With topoh module - Contact normal in all INVITES.
### Troubleshooting
#### Reproduction
Load and configure topos module
Create permanent location record which is unreachable.
Make call to it. make sure that you have profile with retries.
#### Log Messages
[kamailio.tar.gz](https://github.com/kamailio/kamailio/files/1542939/kamaili…
#### SIP Traffic
[retry-Invite-on-not-reach.tar.gz](https://github.com/kamailio/kamailio/file…
### Additional Information
* **Kamailio Version**
version: kamailio 5.2.0-dev1 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled on 14:50:56 Dec 8 2017 with gcc 4.8.5
* **Operating System**:
Red Hat Enterprise Linux Server 7.3
3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1356
### Description
ACC module [cdr_extra modparam](http://kamailio.org/docs/modules/devel/modules/acc.html#acc.p.cdr… allows saving additional custom values in cdr entries using dlg_vars.
When you define a new value to be saved:
`modparam("acc", "cdr_extra", "c1=$dlg_var(caller)")`
and you set a $dlg_var(c1) in the logic, everything works as expected.
But if you set it to $null or you don't even define it, it is saved as '' (empty string).
Would be nice that setting to $null would store the underlying null value (NULL in SQL database) and not defining it would lead to not even including it in the final INSERT?
### Troubleshooting
#### Reproduction
Define a new value to be saved:
`modparam("acc", "cdr_extra", "c1=$dlg_var(caller)")`
And in the kamailio.cfg logic:
- If you set $dlg_var(c1) to any string ('', 'foo', '2'), it is saved as expected ('', 'foo', '2').
- If you set $dlg_var(c1) to an integer different from 0 (1, 2, 3), it is saved as a string containing that number ('1', '2', '3'). This seems normal as dlg_vars can only store strings.
- If you set $dlg_var(c1) to 0, it is saved as an empty string (''). Seems normal too.
- If you set $dlg_var(c1) to $null, it is saved as an empty string ('').
- If you don't define $dlg_var(c1) at all, it is saved as an empty string ('').
#### Debugging Data
Both [_extra2strar_](https://github.com/kamailio/kamailio/blob/e101f21c37238862a4… and [_extra2strar_dlg_only_](https://github.com/kamailio/kamailio/blob/e101f21c3… functions defined in [_acc_extra.c_](https://github.com/kamailio/kamailio/blob/master/src/modules… set _cdr_type_array_ entry to TYPE_NULL, but that array is not used in subsequent [for loop](https://github.com/kamailio/kamailio/blob/e101f21c37238862a474c50218d….
### Possible Solutions
Modify the logic in the [for loop](https://github.com/kamailio/kamailio/blob/e101f21c37238862a474c50218d… so that it invokes VAL_NULL macro for null values using _cdr_type_array_.
With this change both $null values and undefined values would use underlying NULL value. I could try to make further changes to avoid the key in the insert for undefined values instead of setting it to NULL.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 4.4.6 (x86_64/linux) 0a8379-dirty
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 0a8379 -dirty
compiled on 12:23:36 Dec 20 2017 with gcc 6.3.0
```
* **Operating System**:
```
Linux 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u3 (2017-08-06) x86_64 GNU/Linux
```
Is there any reason I missed for not doing this change ([this comment](https://github.com/kamailio/kamailio/blob/e101f21c37238862a474c502… makes me think so)? If not, I can try to provide a PR with these changes.
Regards,
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1378
### Description
ACC module allows setting datetime fields in UTC via [time_mode param](http://kamailio.org/docs/modules/devel/modules/acc.html#acc.p.time_m….
However, this setting does not cause cdr entries to be saved in that format and I haven't found any equivalent parameter to achieve this.
### Troubleshooting
Analyzing the code for MySQL database storage I have found that [_db_time2str_ex_ function defined in _db_ut.c_](https://github.com/kamailio/kamailio/blob/master/src/lib/srdb1/d… uses localtime().
### Possible Solutions
Changing localtime() to gmtime() cdrs are saved in UTC, but it would be desirable to add a new module param that makes this configurable.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 4.4.6 (x86_64/linux) 0a8379-dirty
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 0a8379 -dirty
compiled on 17:01:42 Dec 4 2017 with gcc 6.3.0
```
* **Operating System**:
<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `uname -a`)
-->
```
Linux 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u3 (2017-08-06) x86_64 GNU/Linux
```
Should I proceed and try to get a working PR to add this new modparam or there is currently a way to get this that I have missed (apart from setting system time to UTC)?
Thank you and regards,
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1358