Hi Team,
Any comments/ guidelines?
--
regards,
abdul basit | p: +92 32 1416 4196 | o: +92 30 0841 1445
On 6 January 2018 at 00:39, Abdul Basit <basit.engg(a)gmail.com> wrote:
Hi Daniel & K-Team,
I setup kamailio 5.0.5 from git on vanilla Debian GNU/Linux 8.3 (jessie)
# kamailio -v
version: kamailio 5.0.5 (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 16:53:42 Jan 5 2018 with gcc 4.9.2
Installed mongodb from debian repo
# dpkg -l | grep mongodb
ii mongodb 1:3.2.17-1 amd64
object/document-oriented database (metapackage)
ii mongodb-clients 1:3.2.17-1 amd64
object/document-oriented database (client apps)
ii mongodb-dev 1:2.4.10-5+deb8u1 amd64
object/document-oriented database (development)
ii mongodb-server 1:3.2.17-1 amd64
object/document-oriented database (server package)
# mongo --version
MongoDB shell version: 3.2.17
Will try sometime with mongodb latest version 3.6 as well as I will get
time.
Installed libmongoc driver through sid repo "deb
http://ftp.de.debian.org/debian sid main"
# dpkg -l | grep libmongoc
ii libmongoc-1.0-0 1.9.0+dfsg-1
amd64 MongoDB C client library - runtime files
ii libmongoc-dev 1.9.0+dfsg-1
amd64 MongoDB C client library - dev files
Kamailio compiled with
# make cfg include_modules="utils app_lua json evapi db_mongodb
ndb_mongodb"
Created version collection in mongodb
# cat
/usr/local/src/kamailio/utils/kamctl/mongodb/kamailio/version-create.mongo |
mongo
Setup kamailio.cfg as per
https://telerain.com/kamailio
This time kamailio started successfully without any crash :)
---------
Now its time to use mongodb for kamailio backend database.
Used default kamailio configuration and defined mongodb connection as
#!define DBURL "mongodb://localhost/kamailio"
I enabled WITH_USRLOCDB [#!define WITH_USRLOCDB], kamailio refuse to start
with errors.
Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core> [core/cfg.y:3411]:
yyerror_at(): parse error in config file
/usr/local/etc/kamailio/kamailio.cfg, line 365, column 30-34: syntax error
Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core> [core/cfg.y:3411]:
yyerror_at(): parse error in config file
/usr/local/etc/kamailio/kamailio.cfg, line 365, column 30-34: Invalid
arguments
Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core> [core/cfg.y:3414]:
yyerror_at(): parse error in config file
/usr/local/etc/kamailio/kamailio.cfg, line 365, column 35:
Jan 5 19:16:05 kmaongo kamailio[28067]: ERROR: bad config file (3 errors)
Jan 5 19:16:05 kmaongo kamailio: WARNING: <core> [core/ppcfg.c:221]:
pp_ifdef_level_check(): different number of preprocessor directives:
N(#!IF[N]DEF) - N(#!ENDIF) = 1
Jan 5 19:16:05 kmaongo kamailio: INFO: <core> [core/sctp_core.c:53]:
sctp_core_destroy(): SCTP API not initialized
Jan 5 19:16:05 kmaongo systemd[1]: kamailio.service: control process
exited, code=exited status=255
[FAILJan 5 19:16:05 kmaongo systemd[1]: Failed to start Kamailio
(OpenSER) - the Open Source SIP Server.
Jan 5 19:16:05 kmaongo systemd[1]: Unit kamailio.service entered failed
state.
failed!
Default userloc params in kamailio.cfg states line 365 as
# ----- usrloc params -----
/* enable DB persistency for location entries */
#!ifdef WITH_USRLOCDB
modparam("usrloc", "db_url", DBURL) [ << line 365 ]
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", MULTIDOMAIN)
modparam("usrloc", "db_insert_null", 1)
#!endif
I created location collection as well but it didn't help.
I experienced same error when I enable WITH_ACCDB or any other section
that use DBURL.
Whats the syntax error here?
Is there any special configuration required to work with mongodb?
How can we create collections using 'kamdbctl create' ?
What else should I share for resolving the issue?
--
regards,
abdul basit
On 4 January 2018 at 12:50, Abdul Basit <basit.engg(a)gmail.com> wrote:
>
> Hi Daniel,
>
> Thank you for your reply.
>
> I tested libmongoc with debian package available with repo. Then I moved
> to compile from source. result was same.
>
> But i will try it again with fresh installation and will post here.
>
> --
> regards,
>
> abdul basit
>
> On 2 January 2018 at 16:38, Daniel-Constantin Mierla <miconda(a)gmail.com>
> wrote:
>>
>> Hello,
>>
>> the issue happens inside mongoc library. Have you tried with the default
>> one from Debian, without compiling it from sources?
>>
>> Cheers,
>> Daniel
>>
>>
>> On 01.01.18 16:51, Abdul Basit wrote:
>>
>> Hi,
>>
>> My last email was help for admin review.
>>
>> Sharing logs through pastebin
https://pastebin.com/6HhdYLJK
>>
>> Interesting part will start from line 983 where it start initializing
>> ndb_mongodb.
>>
>>
>>
>> On 1 January 2018 at 20:32, Abdul Basit <basit.engg(a)gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> I enabled but kamailio didn't generate any dump file
>>> To enable code dump followed
>>>
https://www.kamailio.org/dokuwiki/doku.php/troubleshooting:corefiles
>>>
>>> I also un-commented lines in /etc/init.d/kamailio script
>>>
>>> if test "$DUMP_CORE" = "yes" ; then
>>> # set proper ulimit
>>> ulimit -c unlimited
>>>
>>> # directory for the core dump files
>>> COREDIR=/tmp/corefiles
>>> [ -d $COREDIR ] || mkdir -p $COREDIR
>>> chmod 777 $COREDIR
>>> echo "$COREDIR/core.%e.sig%s.%p" >
/proc/sys/kernel/core_pattern
>>> fi
>>>
>>>
>>> I think reason is that kamailio process didn't exit after crash and
>>> keep on restarting. each time with new PID.
>>>
>>> However, debug file is attached. I hope this will help.
>>> --
>>> regards,
>>>
>>> abdul basit
>>>
>>> On 29 December 2017 at 20:11, M S <shaheryarkh(a)gmail.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Enable core dump and provide backtrace of sigfault. See this for more
>>>> info,
>>>>
>>>>
https://sourceware.org/gdb/onlinedocs/gdb/Backtrace.html
>>>>
>>>> Thank you.
>>>>
>>>> On Fri, Dec 29, 2017 at 12:25 PM, Abdul Basit
<basit.engg(a)gmail.com>
>>>> wrote:
>>>>>
>>>>> Adding further from
>>>>>
https://stackoverflow.com/questions/2549214/interpreting-segfault-messages
>>>>>
>>>>> error 6 means, fault is
>>>>>
>>>>> * bit 2 == 1 means kernel, 1 means user-mode
>>>>> * bit 4 == 1 means fault was an instruction fetch
>>>>>
>>>>> That looks like kamailio is trying to invoke for db connection where
>>>>> libmongo-c don't like to be.
>>>>> --
>>>>> regards,
>>>>>
>>>>> abdul basit
>>>>>
>>>>> On 29 December 2017 at 15:39, Abdul Basit
<basit.engg(a)gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am trying to setup mongo db as database engine for kamailio as
>>>>>> described at
>>>>>>
http://www.kamailio.org/wiki/tutorials/kamailio-and-mongodb
>>>>>> and
>>>>>>
https://telerain.com/kamailio
>>>>>>
>>>>>> OS: Debian GNU/Linux 8.10 (jessie)
>>>>>> MongoDB server version: 3.4.10
>>>>>> mongo-c-driver-1.9.0.tar.gz compiled with
>>>>>> ./configure --disable-static --disable-silent-rules
>>>>>> --enable-debug-symbols --enable-ssl=no --enable-sasl=yes
>>>>>> --with-libbson=bundled --enable-optimizations
>>>>>> --disable-automatic-init-and-cleanup
>>>>>>
>>>>>> version: kamailio 5.0.4 (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 20:45:44 Dec 27 2017 with gcc 4.9.2
>>>>>>
>>>>>> include_modules= utils app_lua db_postgres json evapi db_mongodb
>>>>>> ndb_mongodb
>>>>>>
>>>>>> Kamailio is crashing with segfault as soon as it try to load
>>>>>> libmongo-c
>>>>>>
>>>>>> Dec 28 04:44:14 sipserver systemd[1]: Starting Kamailio (OpenSER)
-
>>>>>> the Open Source SIP Server...
>>>>>> Dec 28 04:44:14 sipserver kamailio: INFO: <core>
>>>>>> [core/sctp_core.c:75]: sctp_core_check_support(): SCTP API not
enabled - if
>>>>>> you want to use it, load sctp module
>>>>>> Dec 28 04:44:14 sipserver kamailio: INFO: <core>
>>>>>> [core/tcp_main.c:4671]: init_tcp(): using epoll_lt as the io
watch method
>>>>>> (auto detected)
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: Listening on
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: udp: 127.0.0.1:5060
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: udp:
192.168.10.20:5060
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: tcp: 127.0.0.1:5060
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: tcp:
192.168.10.20:5060
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: Aliases:
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: tcp: localhost:5060
>>>>>> Dec 28 04:44:14 sipserver kamailio[11685]: udp: localhost:5060
>>>>>> Dec 28 04:44:14 sipserver /usr/local/sbin/kamailio[11687]: INFO:
rr
>>>>>> [../outbound/api.h:52]: ob_load_api(): unable to import bind_ob -
maybe
>>>>>> module is not loaded
>>>>>> .....
>>>>>> Dec 28 04:44:14 sipserver /usr/local/sbin/kamailio[11687]: INFO:
>>>>>> <core> [core/udp_server.c:203]: probe_max_receive_buffer():
SO_RCVBUF is
>>>>>> finally 425984
>>>>>> Dec 28 04:44:14 sipserver systemd[1]: Started Kamailio (OpenSER)
-
>>>>>> the Open Source SIP Server.
>>>>>> Dec 28 04:44:14 sipserver kernel: [53109.390171] show_signal_msg:
20
>>>>>> callbacks suppressed
>>>>>> Dec 28 04:44:14 sipserver kernel: [53109.390176] kamailio[11696]
>>>>>> segfault at 78 ip 00007f690c0e6e98 sp 00007ffcde1a4770 error 6
in
>>>>>> libmongoc-1.0.so.0.0.0[7f690c0ca000+6e000]
>>>>>> Dec 28 04:44:14 sipserver kernel: [53109.390753] kamailio[11694]
>>>>>> segfault at 78 ip 00007f690c0e6e98 sp 00007ffcde1a4770 error 6
in
>>>>>> libmongoc-1.0.so.0.0.0[7f690c0ca000+6e000]
>>>>>> Dec 28 04:44:14 sipserver kernel: [53109.393147] kamailio[11699]
>>>>>> segfault at 38 ip 00007f690c0e6e98 sp 00007ffcde1a4770 error 6
in
>>>>>> libmongoc-1.0.so.0.0.0[7f690c0ca000+6e000]
>>>>>> Dec 28 04:44:14 sipserver /usr/local/sbin/kamailio[11687]:
ALERT:
>>>>>> <core> [main.c:743]: handle_sigs(): child process 11689
exited by a signal
>>>>>> 11
>>>>>> Dec 28 04:44:14 sipserver /usr/local/sbin/kamailio[11687]:
ALERT:
>>>>>> <core> [main.c:746]: handle_sigs(): core was not generated
>>>>>> Dec 28 04:44:14 sipserver /usr/local/sbin/kamailio[11687]:
ALERT:
>>>>>> <core> [main.c:743]: handle_sigs(): child process 11688
exited by a signal
>>>>>> 11
>>>>>> .......
>>>>>> Dec 28 04:44:14 sipserver systemd[1]: kamailio.service: main
process
>>>>>> exited, code=exited, status=1/FAILURE
>>>>>> Dec 28 04:44:14 sipserver systemd[1]: Unit kamailio.service
entered
>>>>>> failed state.
>>>>>>
>>>>>>
>>>>>> As I tried googling the issue and found few issues with tls
>>>>>> connection.
>>>>>> I set in default kamailio.cfg but still facing the saem issue.
>>>>>>
>>>>>> enable_tls=no
>>>>>> ...
>>>>>> loadmodule "ndb_mongodb.so"
>>>>>> modparam("ndb_mongodb", "server",
>>>>>>
"name=cgr91rc8;uri='mongodb://localhost/kamailio'")
>>>>>>
>>>>>> Its mongodb default installation and its accessible without any
auth
>>>>>> yet.
>>>>>>
>>>>>> Please suggest the way farward.
>>>>>>
>>>>>> --
>>>>>> regards,
>>>>>>
>>>>>> abdul basit
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org