<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] New feature (non-breaking change which adds new functionality)
#### Checklist:
- [x] Tested changes locally
#### Description
proposal for `xavp_copy()`
param1: source xavp name
param2: source xavp index
param3: destination xavp name
The command will copy only one specific xavp from the stack.
If the destination xavp stack exist it will append else it will create a new one, it seems to be more or less compatible to what we do with XAVP in general.
We can not reorder xavp stack like in the following example :
```
route[TEST] {
$xavp(a=>x) = "a-0-x";
$xavp(a[0]=>y) = "a-0-y";
$xavp(a=>x) = "a-1-x";
$xavp(a[0]=>y) = "a-1-y";
xinfo("$$xavp(a[0]) = [$xavp(a[0]=>x)][$xavp(a[0]=>y)]\n");
xinfo("$$xavp(a[1]) = [$xavp(a[1]=>x)][$xavp(a[1]=>y)]\n");
$var(src_idx) = 1;
$var(v) = "b";
xavp_copy("a", "$var(src_idx)", "$var(v)");
$var(src_idx) = 0;
xavp_copy("a", "$var(src_idx)", "$var(v)");
xinfo("$$xavp(b[0]) = [$xavp(b[0]=>x)][$xavp(b[0]=>y)]\n");
xinfo("$$xavp(b[1]) = [$xavp(b[1]=>x)][$xavp(b[1]=>y)]\n");
}
```
```
2(137) INFO: <script>: $xavp(a[0]) = [a-1-x][a-1-y]
2(137) INFO: <script>: $xavp(a[1]) = [a-0-x][a-0-y]
2(137) INFO: pv [pv.c:827]: w_xavp_copy(): xavp_copy(new): $xavp(a[1]) >> $xavp(b)
2(137) INFO: pv [pv.c:833]: w_xavp_copy(): xavp_copy(append): $xavp(a[0]) >> $xavp(b)
2(137) INFO: <script>: $xavp(b[0]) = [a-0-x][a-0-y]
2(137) INFO: <script>: $xavp(b[1]) = [a-1-x][a-1-y]
```
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2070
-- Commit Summary --
* core: adding xavp_clone_level_nodata_with_new_name
-- File Changes --
M src/core/xavp.c (126)
M src/core/xavp.h (14)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2070.patchhttps://github.com/kamailio/kamailio/pull/2070.diff
--
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/pull/2070
<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for feature requests.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
If you submit a feature request (or enhancement) add the description of what you would like to be added.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment).
-->
### Description
Right now, kamailio did not generate the heartbeat events a call. It's very important to have heartbeat event in kamailio so billing solution can be built independent of kamailio.
Heartbeat module can be built separately with having following parameters:
modparam("heartbeat","duration",30) // this will describe at what pace heartbeat will get generated for every call.
modparam("heartbeat","signature",caller=$dlg_var(caller);callee=$dlg_var(callee);account_id=$dlg_var(account_id)) -- this will tell what data to send.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Expected behavior
#### Actual observed behavior
#### Debugging Data
```
(paste your debugging data here)
```
#### Log Messages
<!--
Check the syslog file and if there are relevant log messages printed by Kamailio, add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
(paste your log messages here)
```
#### SIP Traffic
<!--
If the issue is exposed by processing specific SIP messages, grab them with ngrep or save in a pcap file, then add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
(paste your sip traffic here)
```
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a improvement.
-->
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.1.4 (x86_64/linux) a1df59
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, 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: a1df59
compiled on 06:23:23 Oct 30 2018 with gcc 4.8.4
```
* **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`)
-->
```
root@ip-172-31-4-160:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
root@ip-172-31-4-160:~# uname -a
Linux ip-172-31-4-160 3.13.0-143-generic #192-Ubuntu SMP Tue Feb 27 10:45:36 UTC 2018 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/1698
The PV _$T_reply_last_ is supposed to return the _previous_ reply status. Since commit b7c588dff06 to fix #315 this PV returns the _current_ reply status.
---
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/735
plz help me to install mongoDB module in kamailio/kamailio-cli doker image
--
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/1995
### Description
After the upgrade of our system to Debian Buster, kamailio started crashing due to TLS module. The issue look similar to the one described in https://github.com/kamailio/kamailio/issues/1860
In Debian Stretch everything was working fine because we compiled kamailio using openssl-1.0 as suggested in the linked issue. Unfortunately Debian Buster doesn't support that old version of the package so we compiled it with openssl-1.1 and we put in place the workaround suggested here https://github.com/kamailio/kamailio/commit/efdc141ecb5ff72e3224e47deaaa79f… but this didn't solved the issue.
#### Debugging Data
At the moment I don have full access to the system so I can provide only the following backtrace:
(gdb) bt full
#0 aesni_ecb_encrypt () at crypto/aes/aesni-x86_64.s:624
No locals.
0000001 0x00007fe7b2159917 in aesni_ecb_cipher (len=16, in=0x7fe7ae3052d0 "\271a\321\064vGKiB\337\344\070\353\220\005\245\020O", <incomplete sequence \323>,
out=0x7fe7ae58d068 "", ctx=0x7fe7ae3053b8) at ../crypto/evp/e_aes.c:319
bl = <optimized out>
bl = <optimized out>
#2 aesni_ecb_cipher (ctx=0x7fe7ae3053b8, out=0x7fe7ae58d068 "", in=0x7fe7ae3052d0 "\271a\321\064vGKiB\337\344\070\353\220\005\245\020O", <incomplete sequence \323>,
len=16) at ../crypto/evp/e_aes.c:311
bl = <optimized out>
0000003 0x00007fe7b2165533 in evp_EncryptDecryptUpdate (ctx=0x7fe7ae3053b8, out=0x7fe7ae58d068 "", outl=0x7fff207dc534,
in=0x7fe7ae3052d0 "\271a\321\064vGKiB\337\344\070\353\220\005\245\020O", <incomplete sequence \323>, inl=16) at ../crypto/evp/evp_enc.c:333
i = <optimized out>
j = <optimized out>
bl = 16
cmpl = <optimized out>
#4 0x00007fe7b219830f in drbg_ctr_generate (drbg=0x7fe7ae3051e8, out=0x7fe7ae58d068 "", outlen=32, adin=0x0, adinlen=0) at ../crypto/rand/drbg_ctr.c:340
outl = 16
ctr = 0x7fe7ae305290
#5 0x00007fe7b21991fb in RAND_DRBG_generate (drbg=drbg@entry=0x7fe7ae3051e8, out=out@entry=0x7fe7ae58d068 "", outlen=outlen@entry=32,
prediction_resistance=prediction_resistance@entry=0, adin=0x0, adinlen=adinlen@entry=0) at ../crypto/rand/drbg_lib.c:638
reseed_required = <optimized out>
#6 0x00007fe7b2199481 in RAND_DRBG_bytes (drbg=0x7fe7ae3051e8, out=0x7fe7ae58d068 "", outlen=32) at ../crypto/rand/drbg_lib.c:679
additional = 0x0
additional_len = 0
chunk = 32
ret = <optimized out>
0000007 0x00007fe7b22f96fd in ssl_fill_hello_random (s=s@entry=0x7fe7ae588de0, server=server@entry=0, result=0x7fe7ae58d068 "", len=len@entry=32,
dgrd=dgrd@entry=DOWNGRADE_NONE) at ../ssl/s3_lib.c:4589
send_time = <optimized out>
ret = <optimized out>
#8 0x00007fe7b231b06e in tls_construct_client_hello (s=0x7fe7ae588de0, pkt=0x7fff207dc700) at ../ssl/statem/statem_clnt.c:1153
p = <optimized out>
sess_id_len = <optimized out>
i = <optimized out>
protverr = 0
comp = <optimized out>
sess = 0x0
session_id = <optimized out>
0000009 0x00007fe7b231a33f in write_state_machine (s=0x7fe7ae588de0) at ../ssl/statem/statem.c:843
post_work = 0x7fe7b231f5a0 <ossl_statem_client_post_work>
mt = 1
pkt = {buf = 0x7fe7ae59fc90, staticbuf = 0x0, curr = 4, written = 4, maxsize = 18446744073709551615, subs = 0x7fe7ae58be30}
ret = <optimized out>
pre_work = 0x7fe7b231d180 <ossl_statem_client_pre_work>
--Type <RET> for more, q to quit, c to continue without paging--
get_construct_message_f = 0x7fe7b231d250 <ossl_statem_client_construct_message>
confunc = 0x7fe7b231ad20 <tls_construct_client_hello>
st = 0x7fe7ae588e28
transition = 0x7fe7b231cde0 <ossl_statem_client_write_transition>
cb = 0x7fe7b2375fb0
st = <optimized out>
ret = <optimized out>
transition = <optimized out>
pre_work = <optimized out>
post_work = <optimized out>
get_construct_message_f = <optimized out>
cb = <optimized out>
confunc = <optimized out>
mt = <optimized out>
pkt = <optimized out>
#10 state_machine (s=0x7fe7ae588de0, server=0) at ../ssl/statem/statem.c:443
buf = 0x0
cb = 0x7fe7b2375fb0
st = <optimized out>
ret = <optimized out>
ssret = <optimized out>
0000011 0x00007fe7b2306264 in SSL_do_handshake (s=0x7fe7ae588de0) at ../ssl/ssl_lib.c:3599
ret = 1
#12 0x00007fe7b23a40b4 in tls_connect () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tls.so
No symbol table info available.
0000013 0x00007fe7b23a568d in tls_encode_f () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tls.so
No symbol table info available.
#14 0x000055f60cceaf7e in tcp_send ()
No symbol table info available.
0000015 0x00007fe7b4e65920 in send_pr_buffer () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#16 0x00007fe7b4e826e8 in t_send_branch () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
0000017 0x00007fe7b4e85adf in t_forward_nonack () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#18 0x00007fe7b4e69452 in t_relay_to () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#19 0x00007fe7b4e340ea in ?? () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#20 0x000055f60cc50f29 in do_action ()
No symbol table info available.
0000021 0x000055f60cc4fa1a in run_actions ()
No symbol table info available.
#22 0x000055f60cc517e2 in do_action ()
--Type <RET> for more, q to quit, c to continue without paging--
No symbol table info available.
0000023 0x000055f60cc4fa1a in run_actions ()
No symbol table info available.
#24 0x000055f60cc5154f in do_action ()
No symbol table info available.
0000025 0x000055f60cc4fa1a in run_actions ()
No symbol table info available.
#26 0x000055f60cc5d46f in run_top_route ()
No symbol table info available.
0000027 0x000055f60cd594cf in receive_msg ()
No symbol table info available.
#28 0x000055f60cc7ab45 in udp_rcv_loop ()
No symbol table info available.
0000029 0x000055f60cc0febb in main_loop ()
No symbol table info available.
#30 0x000055f60cc07415 in main ()
No symbol table info available.
(gdb)
### Additional Information
Kamailio version 5.2.3
Debian Buster 10.1
--
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/2077
Hello,
if there are no strong opinions against, then it is time to branch 5.3
on git repository. I am considering to do it by the end of the day on
Wednesday, October 2, 2019.
After that, the master will be again open for new features, while 5.3
branch will continue to get the only fixes and improvements to
documentation and tools. 2-3 weeks later we should release v5.3.0, the
first stable version in 5.3.x series.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training, Oct 21-23, 2019, Berlin, Germany -- https://asipto.com/u/kat
With latest master, I got this:
CC (gcc) [M db_mysql.so] km_dbase.o
km_dbase.c: In function 'db_mysql_submit_query':
km_dbase.c:71:9: warning: unused variable 't' [-Wunused-variable]
time_t t;
^
It would be nice if devs would try to compile the code after making
changes.
-- Juha