Hello,
I have a small question regarding the internal DNS resolver.
Here is my current Kamailio DNS configuration:
dns_try_naptr=on
use_dns_failover=yes
use_dns_cache=yes
I need the $HN variable inside my script and it appeared while testing that
$HN(d) was null (and consequently $HN(f) was only containing the hostname
part of the FQDN).
I know /etc/hosts file is bypassed when the DNS cache is activated, so I
thought Kamailio was using the domain parameter set in the /etc/resolv.conf
file in such cases in order to get the domain. But it was not.
I figured out Kamailio correctly retrieves the domain name as long as it is
explicitly part of the /etc/hostname file.
Is my understanding correct or am I wrong somewhere? What if /etc/hostname
does not contain the domain name but hostname only?
Thanks!
Cheers
Julien
Hi, I'm having some strange issues with a somewhat big $avp value, when it
reaches a size of about 4K I get this error:
29(47) ERROR: <core> [core/pvapi.c:1452]: pv_printf(): no more space for
spec value
29(47) ERROR: <core> [core/pvapi.c:1461]: pv_printf(): buffer overflow –
increase the buffer size...
In the docs I read that the default pv_buffer_size is 8K, I still tried to
enforce it to something bigger and checked the logs to be sure it was set:
0(384) DEBUG: <core> [core/pvapi.c:2062]: pv_init_buffer(): PV print buffer
initialized to [40][16384]
But still when reaching the 4K size inside the $avp that error comes out,
is there any limit I'm not aware of?
Thanks,
Enrico.
Hi, I'm hoping someone can guide me in the right direction.
In kamailio 5.2.1 I'm getting the following memory errors after a while
(hours or days) of sending messages with jsonrpc. Restarting kamailio
clears them for a while. Any suggestions on what I should change, or how to
better identify the issue?
24(6177) ERROR: <core> [core/mem/q_malloc.c:291]: qm_find_free():
qm_find_free(0x7f1cbe6fd000, 5712); Free fragment not found!
24(6177) ERROR: <core> [core/mem/q_malloc.c:425]: qm_malloc():
qm_malloc(0x7f1cbe6fd000, 5712) called from tm: h_table.c: build_cell(339),
module: tm; Free fragment not found!
24(6177) ERROR: tm [uac.c:422]: t_uac_prepare(): short of cell shmem
24(6177) ERROR: pua [send_publish.c:700]: send_publish(): in t_request tm
module function
24(6177) ERROR: pua_rpc [pua_rpc.c:280]: pua_rpc_publish_mode(): pua
send_publish failed
I have these buffer values in the config file
tcp_rd_buf_size=65536
pv_buffer_size=32768
and I'm running kamailio with these memory options "-m 1024 -M 16"
The jsonrpc message I'm sending look like this
{
"jsonrpc": "2.0",
"method": "pua.publish",
"params": [
"sip:172.1.1.3:5060;transport=tcp",
"300",
"reg",
"application/reginfo+xml",
".",
".",
".",
".",
"<?xml version='1.0' ?>
<reginfo state='partial' version='0' xmlns='urn:ietf:params:xml:ns:reginfo'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<registration aor='sip:55555@uw.edu' id='a19685' state='active'>
<contact duration-registered='906' event='registered'
id='c19685--1732979172--1829864152-2' q='1.0' state='active'>
<uri>sips:55555@172.1.2.4:62270;transport=tls;avaya-sc-enabled</uri>
<elin></elin>
</contact>
</registration>
</reginfo>
"
],
"id": 1
}
Thanks,
-Ben
Hi,
First of all I would like to congratulate and thank everyone who has worked
in Kamailio. It looks like an awesome tool.
I am starting a side project and I am not very familiar with Kamailio
although I know SIP and VoIP in general, so I am more looking for answers
that tell me if it's possible or not what I am asking along with some hints
on how/where to look.
Is there a way to filter/forward/modify(through the headers) incoming SIP
requests and Kamailio SIP responses programmatically in Kamailio ? I have
seen that you can run embedded code like Ruby, but I wonder if this is for
simple things or more complex stuff which probably is in my case since
there will be plenty of business logic to figure out what action to take
with a SIP request. I have also found the EVAPI that is supposed to be
handle events through TCP but not much more info available.
So to sum up, is there a way to filter/forward/modify incoming SIP requests
and create responses programmatically in Kamailio ? If yes, what's the
proper way of doing that ? If no, any idea where I should look for that?
Thanks,
Filippos
Hello,
I am checking a possibility to replace the traditional cfg script with a
Lua script.
In the app_lua module documentation there is a relatively short list of
modules that can be registered to Lua. The modules nathelper, rtpproxy,
topoh and many others don't appear in the list. Does it mean that it is not
possible to use that modules in Lua?
Best regards,
Leonid Fainshtein
Xorcom Ltd
Hi,
A few years ago, I developed an Ansible repository for automatic deployment
of Kamailio. Recently, I added some new features, and now you can deploy
the playbooks on Docker containers. I think it is a good starting point for
anyone who wants to deploy and use Kamailio for the first time. Link of the
repository:
https://github.com/ghrst/Kamailio-HA
Regards
Gholamreza Sabery Tabrizy
Hi,
When I activate the TOPOS function, the Kamailio lb fail.
This is the traceback
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) backtrace
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f66d5aab42a in __GI_abort () at abort.c:89
#2 0x00007f66d5ae7c00 in __libc_message (do_abort=do_abort@entry=2,
fmt=fmt@entry=0x7f66d5bdb305 "*** %s ***: %s terminated\n")
at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007f66d5b701f7 in __GI___fortify_fail (msg=msg@entry=0x7f66d5bdb29c
"buffer overflow detected") at fortify_fail.c:30
#4 0x00007f66d5b6e330 in __GI___chk_fail () at chk_fail.c:28
#5 0x00007f66b867e097 in memcpy (__len=<optimized out>, __src=<optimized
out>, __dest=0x7f66b8892524 <_tps_redis_cbuf+4>)
at /usr/include/x86_64-linux-gnu/bits/string3.h:53
#6 tps_redis_load_branch (msg=<optimized out>, md=<optimized out>,
sd=0x7ffed3993d30, mode=<optimized out>) at topos_redis_storage.c:744
#7 0x00007f66b88b35c0 in tps_request_received
(msg=msg@entry=0x7ffed3995f80, dialog=dialog@entry=1) at tps_msg.c:786
#8 0x00007f66b88b9255 in tps_msg_received (evp=<optimized out>) at
topos_mod.c:332
#9 0x000055e1dc07da88 in sr_event_exec (type=<optimized out>,
evp=<optimized out>) at core/events.c:211
#10 0x000055e1dc0415f5 in receive_msg (
buf=buf@entry=0x55e1dc511d40 <buf> "BYE
sip:atpsh-5c4b0f6e-25b2-9@10.10.10.2 SIP/2.0\r\nVia: SIP/2.0/UDP
10.10.10.1:5060;branch=z9hG4bK898122669\r\nFrom:
<sip:2972426338@10.10.10.1>;tag=3296734298\r\nTo:
<sip:414533@10.10.10.2>;tag=03D2CCF0-5"..., len=381,
rcv_info=rcv_info@entry=0x7ffed3996980) at core/receive.c:157
#11 0x000055e1dbf5e6e3 in udp_rcv_loop () at core/udp_server.c:554
#12 0x000055e1dbef3a9f in main_loop () at main.c:1619
#13 0x000055e1dbeea8cb in main (argc=<optimized out>, argv=0x7ffed3996f38)
at main.c:2638
This is a Kamailio error? I can fix it?
Thanks.
Marcos.
Hello!
I'm using *reg_fetch_contacts* function to get information about all
contacts. This allows to define which contacts should receive the call. My
question is if it's possible to choose only one contact before *t_relay* is
called? Or *reg_fetch_contacts* call and verification should be done after
*t_relay* in all branches and those which are not needed should be stopped?
Thanks a lot!
Hello,
I am starting the rtpengine through this command,but rtpengine is not listening on the specified port range.It is listening on some other port outside of this.Here first IP is private IP and the second IP is public one.So issue is with audio.Can you please let me know what exactly I am missing.
rtpengine --interface=172.20.xx.xxx\!34.209.1.xx -f -m 16384 -M 16884 -E --listen-ng=127.0.0.1:22222 &
Any suggestion will be highly appreciated.
Thanks,
Narayan
NP