Hello List.
The last weekend our kamailio process crashed with this error :
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10661]: : <core>
[pass_fd.c:293]: ERROR: receive_fd: EOF on 29
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10542]: ALERT: <core>
[main.c:751]: child process 10601 exited by a signal 11
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10542]: ALERT: <core>
[main.c:754]: core was generated
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10542]: INFO: <core>
[main.c:766]: INFO: terminating due to SIGCHLD
Can someone tell me what seems to be the problem here?
We’re using :
version: kamailio 3.2.2 (x86_64/linux) 98ba92-dirty
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
DBG_QM_MALLOC, 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 4MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 98ba92 -dirty
compiled on 12:45:36 Feb 2 2012 with gcc 4.4.6
And this is the bt full from gdb
Core was generated by `/usr/local/sbin/kamailio -m 1024'.
Program terminated with signal 11, Segmentation fault.
#0 mi_profile_list (cmd_tree=<value optimized out>, param=<value optimized
out>) at dlg_profile.c:789
789 if ( mi_print_dlg( rpl,
ph->dlg, 0)!=0 )
Missing separate debuginfos, use: debuginfo-install
filesystem-2.4.30-2.1.el6.x86_64 glibc-2.12-1.25.el6_1.3.x86_64
keyutils-libs-1.4-1.el6.x86_64 krb5-libs-1.9-9.el6_1.2.x86_64
libcom_err-1.41.12-7.el6.x86_64 libselinux-2.0.94-5.el6.x86_64
mysql-libs-5.1.52-1.el6_0.1.x86_64 nss-softokn-freebl-3.12.7-1.1.el6.x86_64
openssl-1.0.0-20.el6_2.1.x86_64 pcre-7.8-3.1.el6.x86_64
zlib-1.2.3-26.el6.x86_64
(gdb) bt full
#0 mi_profile_list (cmd_tree=<value optimized out>, param=<value optimized
out>) at dlg_profile.c:789
node = <value optimized out>
rpl_tree = 0x20a6790
rpl = 0x20a67b0
profile = 0x7fe99a2dda00
ph = 0x0
profile_name = <value optimized out>
value = <value optimized out>
i = <value optimized out>
#1 0x00007fe9dce287b1 in run_mi_cmd (fifo_stream=<value optimized out>) at
../../lib/kmi/mi.h:77
No locals.
#2 mi_fifo_server (fifo_stream=<value optimized out>) at fifo_fnc.c:509
mi_cmd = 0x208f8f0
mi_rpl = <value optimized out>
hdl = 0x0
line_len = 41
file_sep = 0x2039017 ""
command = 0x7fe9dfdbdef9 "profile_list_dlgs"
file = 0x7fe9dfd98d78 "/tmp/openser_receiver_27809"
f = 0x2039018
reply_stream = 0x20b0980
#3 0x00007fe9dce2a640 in fifo_process (rank=<value optimized out>) at
mi_fifo.c:247
fifo_stream = 0x209a0b0
#4 0x00007fe9dce2a9de in mi_child_init (rank=0) at mi_fifo.c:211
pid = <value optimized out>
#5 0x00000000004dba41 in init_mod_child (m=0x7fe9dfc6ba10, rank=0) at
sr_module.c:886
No locals.
#6 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6bd08, rank=0) at
sr_module.c:883
No locals.
#7 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6c248, rank=0) at
sr_module.c:883
No locals.
#8 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6c748, rank=0) at
sr_module.c:883
No locals.
#9 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6d288, rank=0) at
sr_module.c:883
No locals.
#10 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6d928, rank=0) at
sr_module.c:883
No locals.
#11 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6dee0, rank=0) at
sr_module.c:883
No locals.
#12 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6e1f0, rank=0) at
sr_module.c:883
No locals.
#13 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6e5d0, rank=0) at
sr_module.c:883
No locals.
#14 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6e830, rank=0) at
sr_module.c:883
No locals.
#15 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6ebd0, rank=0) at
sr_module.c:883
No locals.
#16 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6f220, rank=0) at
sr_module.c:883
No locals.
#17 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6f648, rank=0) at
sr_module.c:883
No locals.
#18 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6fa60, rank=0) at
sr_module.c:883
No locals.
#19 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6fe40, rank=0) at
sr_module.c:883
No locals.
#20 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc702c0, rank=0) at
sr_module.c:883
No locals.
#21 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc70ae8, rank=0) at
sr_module.c:883
No locals.
---Type <return> to continue, or q <return> to quit---
#22 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc70e18, rank=0) at
sr_module.c:883
No locals.
#23 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc71100, rank=0) at
sr_module.c:883
No locals.
#24 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc716c0, rank=0) at
sr_module.c:883
No locals.
#25 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc71df0, rank=0) at
sr_module.c:883
No locals.
#26 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc723c0, rank=0) at
sr_module.c:883
No locals.
#27 0x000000000046077d in main_loop () at main.c:1661
i = <value optimized out>
pid = <value optimized out>
si = 0x0
si_desc = "udp receiver child=15 sock=64.76.154.35:5060", '\000'
<repeats 20 times>, "\003", '\000' <repeats 15 times>,
"\030\325\a\232\351\177\000\000\001\000\000\000\002", '\000' <repeats 11
times>,
"\001\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000)\000\000\000\000\000\000"
#28 0x0000000000461f13 in main (argc=<value optimized out>,
argv=0x7fff2f2b2848) at main.c:2475
cfg_stream = <value optimized out>
c = <value optimized out>
r = <value optimized out>
tmp = 0x7fff2f2b3f76 ""
tmp_len = 0
options = 0x5a3178
":f:cm:M:dVhEb:l:L:n:vrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:"
ret = -1
seed = 1850310455
rfd = <value optimized out>
debug_save = <value optimized out>
debug_flag = <value optimized out>
dont_fork_cnt = <value optimized out>
n_lst = <value optimized out>
p = <value optimized out>
(gdb)
Regards,
Ricardo.-
Hi, please help me out with these questions:
Is it possible to configure kamailio to use different certificates, one per peer? Do we just add them to the same "calist.pem" file?
Is is possible to configure kamailio to accept a certificate from another device? I mean instead of Kamailio creating the certificate/key and give it to customer/provider. If that is the case, do we also add it to the "calist.pem" file as well?
If all the above is true, what happens when the certificates have different expiration dates?
thank you very much
Which variables I can use in
event_route[sl:local-response] route to xlog
proto:ip:port to which the response will be
sent?
event_route[sl:local-response] {
xlog("L_INFO","Local response to
*$??*\n$mb\n");
}
Hi,
Following this issue, and the issue "BYE dialog timeout bad syntax" from
Julia.
I have 2 kamailio servers. srv1 creates a dlg_timeout BYE and sends it to
srv2 that forwards the BYE to the next sip server (some other server...).
I can definitely see that the BYE that is being forward is malformed. The
TO header info is not complete (the port section for example).
When a "normal" bye is received from srv1 (not dlg_timeout) all works fine.
One thing that i do in this scenario, on srv2 i use uac_replace() on the TO
header. So, it is OK that the final destination is different (i do
translations).
I attached the BYE from both servers.
Any ideas?
Thanks,
Uri
You probably meant the To and From headers, I'm guessing. Yeah, as long as
there is no display name component, URIs in headers like that don't have to
go in <>s. The way Kamailio sends it is grammatically valid, per RFC 3261.
The user agents are at fault for not understanding it correctly. Alex
Balashov <abalashov at
evaristesys.com<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>>
wrote: >*"BYE headers"? Which headers? *>* *>*Uri Shacked <ushacked at
gmail.com <http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>>
wrote: *>* *>>*Hi, *>>* *>>*I think there is a bug with the BYE that is
sent to the caller and *>>*callee *>>*when dialog timeout happends. *>>* *>>
*The BYE headers are sent with no "<" or ">". *>>*So, some sip singaling
points decline the BYE. *>>* *>>*BR, *>>*Uri *>>* *>>*
*>>*------------------------------------------------------------------------
*>>* *>>*_______________________________________________ *>>*SIP Express
Router (SER) and Kamailio (OpenSER) - sr-users mailing *>*list *>>*sr-users
at lists.sip-router.org<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
*>>*http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users *>* *>*--
*>*Sent from my mobile, and thus lacking in the refinement one might *>*expect
from a fully-fledged keyboard. *>* *>*Alex Balashov - Principal *>*Evariste
Systems LLC *>*235 E Ponce de Leon Ave *>*Suite 106 *>*Decatur, GA
30030 *>*United
States *>*Tel: +1-678-954-0670 *>*Web: http://www.evaristesys.com/,
http://www.alexbalashov.com/ *>*
*>*_______________________________________________
*>*SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list *
>*sr-users at lists.sip-router.org<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
*>*http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users * -- Sent
from my Nexus 10, with all the figments of autocorrect that might imply.
Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave
Suite 106 Decatur, GA 30030 United States Tel: +1-678-954-0670 Web:
http://www.evaristesys.com/, http://www.alexbalashov.com/ --------------
next part -------------- An HTML attachment was scrubbed... URL: <
http://lists.sip-router.org/pipermail/sr-users/attachments/20130422/0c75272…>
Hello,
We're running a Kamailio 3.3.4 system, and Kamailio is slowly using more
and more memory. Over a couple of weeks it will run out of system memory.
We tried to enable memory debugging doing the following, but it resulted in
Kamailio not responding to any SIP packets. Would anyone have advice please
on how to debug the situation?
1. In Makefile.defs set MEMDBG to 1 and recompile Kamailio.
2. In kamailio.cfg add the line:
#!define DEBUG_MEMORY 1
While this was running and Kamailio didn't respond to packets, it logged
lots of lines like this:
Jul 22 21:32:22 hostname kamailio: : <core> [mem/q_malloc.c:369]:
qm_malloc(0x4000e008, 128) called from <core>: cfg.lex: addstr(1438)
Jul 22 21:32:22 hostname kamailio: : <core> [mem/q_malloc.c:413]:
qm_malloc(0x4000e008, 128) returns address 0x40048918 frag. 0x40048900
(size=128) on 1 -th hit
Jul 22 21:32:22 hostname kamailio: : <core> [mem/q_malloc.c:369]:
qm_malloc(0x4000e008, 128) called from <core>: cfg.lex: addstr(1438)
Jul 22 21:32:22 hostname kamailio: : <core> [mem/q_malloc.c:413]:
qm_malloc(0x4000e008, 128) returns address 0x400489c8 frag. 0x400489b0
(size=128) on 1 -th hit
Thanks in advance,
--
David Cunningham, Voisonics
http://voisonics.com/
USA: +1 213 221 1092
UK: +44 (0) 20 3298 1642
Australia: +61 (0) 2 8063 9019
Hello,
there were old and recent discussions about the representation of time
in accounting records. At this moment the acc module stores the unix
timestamp as datetime value.
In some countries is required to store more accuracy, beyond the
seconds. Also, the datetime gives some troubles with converting back to
unix timestamp, specifically with time zones and daylight saving times.
I want to open a discussion that is visible for all users and devs,
being something affecting probably everyone, input from anyone that is
interested being relevant to select the right approach.
Here are some suggestions presented so far.
1) store seconds.miliseconds as double - there is a patch (which
probably needs some tunings itself) on tracker. The precision is shifted
from seconds to milliseconds. Internally computed from microseconds from
timeval structure. The other modules might need updates (iirc dbtext has
only 2 decimals precisions for double, while miliseconds will require at
least three -- could be the case for flatstore or other modules).
Advantage is the computing of duration directly by subtraction of two
values.
2) store seconds and microseconds as two separate values. Should be no
issues with existing modules. Even more accuracy than above, no issues
with other modules, but will require to use two columns (thus four
values to compute the duration)
Any other suggestions?
Personally, at this moment, I will go with 2), but that might not meet
everyone's needs. So a solution can be to make it configurable, as a
bitmask of what time representation to store.
Say, there will be a new parameter timestamp_mode for acc module:
- bit one set - store seconds timestamp as for now (default)
- bit two set - store seconds and microseconds in separate integer columns
- bit three set - store seconds.miliseconds as double value in one column
I could add the parameter and tune acc for bit one and two. For bit
three a deeper review is needed for other modules, probably the
developer that submitted to the tracker can do it.
More suggestions? Pro or cons opinions?
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, San Francisco, USA - June 24016, 2013
* http://asipto.com/u/katu *
Hi All,
Sorry for cross-posting this email to PJLIB, but maybe there are some things related.
Anyhow! I'm having problems on kamailio v4.0.2 under Fedora 18 64bit and TCP client like iPhone using PJSIP as SIP library.
Basically once the iPhone side in close the call (TCP->UDP) I'm getting the error below. Kamailio is running under a VPS
without
NATed network so it uses a real public address. Furthermore, note that tcp_main is answering to a 192.168.2.98 ip address
which is the iPhone client. This looks really strange to me since it should answer directly to the public/port used for
the registration
and not to a such kind of reserved address. The kamilio configuration is basically the default with a very few changes
like NAT, rtpproxy and postgresql backend.
This problems doesn't happen at all when using UDP->UDP calls. But I cannot use it because as you certain know UDP
connection under iPhone will not work when the application run in background mode.
Can someone suggest how to solve this issue or maybe suggest a TCP working solution for iPhone?
Thanks in advance.
Roberto Fichera.
Jul 30 16:21:53 proxy /usr/sbin/kamailio[9502]: ERROR: <core> [tcp_main.c:4432]: tcpconn_main_timeout(): connect
192.168.2.98:5060 failed (timeout)
Jul 30 16:21:55 proxy rtpproxy[2262]: DBUG:get_command: received command "9483_9 D
12d1d19926c4ff742a52f0c855b1bb83@94.94.x.x:5060 as74e0c388 GROahimCK6KTrl5CkYEg7nuoPIIXZ8cj"
Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:handle_delete: forcefully deleting session 1 on ports 15604/17354
Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:remove_session: RTP stats: 354 in from callee, 603 in from caller, 957
relayed, 0 dropped
Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:remove_session: RTCP stats: 5 in from callee, 2 in from caller, 7 relayed, 0
dropped
Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:remove_session: session on ports 15604/17354 is cleaned up
Jul 30 16:21:55 proxy rtpproxy[2262]: DBUG:doreply: sending reply "9483_9 0
Jul 30 16:21:55 proxy rtpproxy[2262]: "
Jul 30 16:22:04 proxy /usr/sbin/kamailio[9502]: ERROR: <core> [tcp_main.c:4432]: tcpconn_main_timeout(): connect
192.168.2.98:5060 failed (timeout)
Jul 30 16:22:14 proxy rtpproxy[2262]: DBUG:get_command: received command "9496_16 D
12d1d19926c4ff742a52f0c855b1bb83@94.94.x.x:5060 GROahimCK6KTrl5CkYEg7nuoPIIXZ8cj as74e0c388"
Jul 30 16:22:14 proxy rtpproxy[2262]: INFO:handle_command: delete request failed: session
12d1d19926c4ff742a52f0c855b1bb83@94.94.x.x:5060, tags GROahimCK6KTrl5CkYEg7nuoPIIXZ8cj/as74e0c388 not found
Jul 30 16:22:14 proxy rtpproxy[2262]: DBUG:doreply: sending reply "9496_16 E8
Jul 30 16:22:14 proxy rtpproxy[2262]: "
Hello,
I'm using the UAC module to perform remote registrations. When an
incoming call comes in from one of the remote registrations I'm using
the following to route the call to the correct user:
if(uac_reg_lookup("$rU", "$ru")) {
lookup("location");
route(RELAY);
}
This works fine for routing the call to the local user but the "from
domain" still contains the IP address of the remote registrar. This
results in the caller ID being displayed along with the registrars IP
address.
I've been reading the documentation on the UAC module and it looks like
I should be using "uac_restore_from()" somewhere in the config to
restore the original "from domain". My thought was to do something like
this but it's not replacing the from domain:
if(uac_reg_lookup("$rU", "$ru")) {
uac_restore_from();
lookup("location");
route(RELAY);
}
I've got the following modparams set for UAC and RR:
modparam("rr", "append_fromtag", 1)
modparam("uac","restore_mode","auto")
I'm not sure if using uac_restore_from() is the way to accomplish this
or if I should be going about this differently.
Any help would be greatly appreciated.
Thanks,
Isaac
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
Has anybody implemented and documented a kamailio set-up with mutual
TLS authentication. i.e. using client certificates as well as a server
certificate? I'd be really interested if you have also federated your
proxy with another proxy. Many thanks.
Regards,
John
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/
iQIcBAEBAgAGBQJR+BXuAAoJELy1jPQ1KER74rcP/RDGQtQdGwnE77eYf0jilY2S
yjXxP3xcAQvv1gJzGOY9kaYaefU3yavjOVoBd8muoEXApESWErgTp8VpKDmb5cb7
gPSi/fQhduDtgd1F/cqumgrLX7r1StnTocc2GCy/5jqafUL7o5jBuKcmTLmIzR49
zhN57ZK4HmB78rcRDVrnfcytZslriXdiQXCkxCKTAOFoJ05wC8L6cReE7WdZJ+u8
Lt6ONxdmcdNE256gmLAbu2E1I1ly0ppp92Min/w8v5ohUnyBSMIRXuy+nNbES16f
4tWG3TGXIJHk7nt3w/ocqrnz3zluPRCce3SN03aH2rq9R3Auh5NhmIPjblUNilSS
k6bH400oniwZ9r33uKfQS8KQ7Ky4u0AEsFIz51LGzrhykqnl50VIdDwSAPDGU7UR
/M+tGzu84Y9RshekMAQtaDL4hvdiO3NPL51rStn67K+r8vRUh4hEI8hVHn4Vz1zG
IJRD+pHyq7f2GT9uyao+Imq7UWI9FqLtxJNcJnh8PzRXqZoOnXNmGLG3f30j6uB8
8WIehdWBrRXnO8KfoSqZjsn/Hzc7zCGFwGZw5igI1NrUAeZfzHfllGaKsLA/OJgh
TRyaj8fblF/ltBKYnxfZKh6Dnckz0GQUq6zEIBUcgC+pwzD4lDBMbyrXaqyVATU/
s6BUpCSFdFzEZCwl6Sya
=Vf9E
-----END PGP SIGNATURE-----
Hi,
I installed kamailio v 3.1.6 rpm. I used the default configuration.
Kamailio started. I have two clients one is an android phone using native
sip client, and the other one x-lite. I can call x-lite to phone but not
the other way around. When I restarted kamailio, I can call phone to
x-lite but not the other way around. The first one I did when I restart
kamailio will be the only leg that will be working, then I have to restart
again if I want to do the reverse. Has anyone encountered this problem?
How do I fix it?
Thanks,
Jason