Hello, you can find the db_text database schema in the source tree, at:
utils/kamctl/dbtext/kamailio/ I think kamdbctl will create it if you set the appropriate engine in kamctlrc. Apparently, the readme needs some updates. Cheers, Daniel On 18/05/15 10:33, jaflong jaflong wrote: > > /usr/local/sbin/kamailio -V > > version: kamailio 4.2.4 (x86_64/linux) be62bd > flags: STATS: Off, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, > USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, > DBG_F_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 8MB > poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. > id: be62bd > compiled on 14:16:35 May 6 2015 with gcc 4.4.7 > > > I created the tables just with the cat command shown and thats all they > contain > > > I found the location table inscruction here > http://kamailio.org/docs/modules/4.2.x/modules/db_text.html > > > Example 1.2. Minimal Kamailio location dbtext table definition > > ... > username(str) contact(str) expires(int) q(double) callid(str) cseq(int) > ... > > > Please could you advise on correct location table structure > > > Regards > > > 15.05.2015, 20:52, "Daniel-Constantin Mierla" <mico...@gmail.com>: >> Hello, >> >> what is the version of your kamailio? Get the output of: >> >> kamailio -V >> >> How did you create the tables? At least the location is not valid for >> any of the past several stable versions. >> >> Cheers, >> Daniel >> >> On 15/05/15 12:01, jaflong jaflong wrote: >>> HI >>> >>> When using dbtext setup I receive a CRITICAL error and shut down. This is >>> the debug log. >>> My config settings are described below. >>> >>> Please advise how I should fo the correct dbtext config >>> >>> 9(21196) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG: >>> init_mod_child (-4): acc >>> 9(21196) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG: >>> init_mod_child (-4): auth_db >>> 9(21196) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG: >>> init_mod_child (-4): debugger >>> 9(21196) DEBUG: debugger [debugger_mod.c:179]: child_init(): rank is (-4) >>> 9(21196) DEBUG: <core> [local_timer.c:74]: init_local_timer(): >>> init_local_timer: timer_list between 0x9e7268 and 0xa2b268 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 8, 4, 0x7f5aaa402364), fd_no=0 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 9, 4, 0x7f5aaa4023f0), fd_no=1 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 10, 4, 0x7f5aaa40247c), fd_no=2 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 11, 4, 0x7f5aaa402508), fd_no=3 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 12, 4, 0x7f5aaa402594), fd_no=4 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 13, 4, 0x7f5aaa402620), fd_no=5 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 14, 4, 0x7f5aaa4026ac), fd_no=6 >>> 9(21196) DEBUG: <core> [io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x9e70a0, 15, 4, 0x7f5aaa402738), fd_no=7 >>> 9(21196) CRITICAL: <core> [pass_fd.c:293]: receive_fd(): EOF on 8 >>> 9(21196) DEBUG: <core> [tcp_main.c:3537]: handle_ser_child(): DBG: >>> handle_ser_child: dead child 1, pid 21188 (shutting down?) >>> 9(21196) DEBUG: <core> [io_wait.h:610]: io_watch_del(): DBG: io_watch_del >>> (0x9e70a0, 8, -1, 0x0) fd_no=8 called >>> 9(21196) CRITICAL: <core> [pass_fd.c:293]: receive_fd(): EOF on 9 >>> 9(21196) DEBUG: <core> [tcp_main.c:3537]: handle_ser_child(): DBG: >>> handle_ser_child: dead child 2, pid 21189 (shutting down?) >>> 9(21196) DEBUG: <core> [io_wait.h:610]: io_watch_del(): DBG: io_watch_del >>> (0x9e70a0, 9, -1, 0x0) fd_no=7 called >>> 9(21196) CRITICAL: <core> [pass_fd.c:293]: receive_fd(): EOF on 10 >>> 9(21196) DEBUG: <core> [tcp_main.c:3537]: handle_ser_child(): DBG: >>> handle_ser_child: dead child 3, pid 21190 (shutting down?) >>> 9(21196) DEBUG: <core> [io_wait.h:610]: io_watch_del(): DBG: io_watch_del >>> (0x9e70a0, 10, -1, 0x0) fd_no=6 called >>> 9(21196) CRITICAL: <core> [pass_fd.c:293]: receive_fd(): EOF on 11 >>> 9(21196) DEBUG: <core> [tcp_main.c:3537]: handle_ser_child(): DBG: >>> handle_ser_child: dead child 4, pid 21191 (shutting down?) >>> 9(21196) DEBUG: <core> [io_wait.h:610]: io_watch_del(): DBG: io_watch_del >>> (0x9e70a0, 11, -1, 0x0) fd_no=5 called >>> 9(21196) CRITICAL: <core> [pass_fd.c:293]: receive_fd(): EOF on 12 >>> 9(21196) DEBUG: <core> [tcp_main.c:3537]: handle_ser_child(): DBG: >>> handle_ser_child: dead child 5, pid 21192 (shutting down?) >>> 9(21196) DEBUG: <core> [io_wait.h:610]: io_watch_del(): DBG: io_watch_del >>> (0x9e70a0, 12, -1, 0x0) fd_no=4 called >>> 9(21196) CRITICAL: <core> [pass_fd.c:293]: receive_fd(): EOF on 13 >>> 9(21196) DEBUG: <core> [tcp_main.c:3537]: handle_ser_child(): DBG: >>> handle_ser_child: dead child 6, pid 21193 (shutting down?) >>> 9(21196) DEBUG: <core> [io_wait.h:610]: io_watch_del(): DBG: io_watch_del >>> (0x9e70a0, 13, -1, 0x0) fd_no=3 called >>> 8(21195) INFO: db_text [dbt_base.c:99]: dbt_init(): using database at: >>> /usr/local/etc/kamailio/dbtext 8(21195) DEBUG: db_text [dbt_lib.c:129]: >>> dbt_cache_get_db(): looking for db /usr/local/etc/kamailio/dbtext! >>> 8(21195) DEBUG: db_text [dbt_lib.c:139]: dbt_cache_get_db(): db already >>> cached! >>> 8(21195) DEBUG: <core> [sruid.c:101]: sruid_init(): root for sruid is >>> [ulcx-5555c137-52cb-] (0 / 19) >>> 8(21195) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG: >>> init_mod_child (-2): acc >>> 8(21195) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG: >>> init_mod_child (-2): auth_db >>> 8(21195) INFO: db_text [dbt_base.c:99]: dbt_init(): using database at: >>> /usr/local/etc/kamailio/dbtext 8(21195) DEBUG: db_text [dbt_lib.c:129]: >>> dbt_cache_get_db(): looking for db /usr/local/etc/kamailio/dbtext! >>> 8(21195) DEBUG: db_text [dbt_lib.c:139]: dbt_cache_get_db(): db already >>> cached! >>> 8(21195) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG: >>> init_mod_child (-2): debugger >>> 8(21195) DEBUG: debugger [debugger_mod.c:179]: child_init(): rank is (-2) >>> 8(21195) DEBUG: ctl [ctl.c:325]: mod_child(): ctl: mod_child(0), >>> fork_process=0, csl=0x2682080 >>> 8(21195) DEBUG: ctl [ctl.c:332]: mod_child(): ctl: 0 io_listen_loop(1, >>> 0x2682080) >>> 8(21195) INFO: ctl [io_listener.c:225]: io_listen_loop(): io_listen_loop: >>> using epoll_lt io watch method (config) >>> 8(21195) DEBUG: ctl [io_listener.c:257]: io_listen_loop(): >>> io_listen_loop: adding socket 4, type 2, transport 3 (/tmp/kamailio_ctl) >>> 8(21195) DEBUG: ctl [../../io_wait.h:388]: io_watch_add(): DBG: >>> io_watch_add(0x7f5aaf2a36c0, 4, 2, 0x2682080), fd_no=0 >>> >>> --------------------------------------------- >>> >>> cd /usr/local/etc/kamailio >>> mkdir dbtext >>> cd dbtext >>> >>> --------------------------------------------- >>> >>> cat > /usr/local/etc/kamailio/dbtext/version >>> >>> table_name(str) table_version(int) >>> subscriber:6 >>> location:6 >>> aliases:6 >>> >>> --------------------------------------------- >>> >>> cat > /usr/local/etc/kamailio/dbtext/location >>> >>> username(str) contact(str) expires(int) q(double) callid(str) cseq(int) >>> >>> --------------------------------------------- >>> >>> cat > /usr/local/etc/kamailio/dbtext/subscriber >>> >>> username(str) password(str) ha1(str) domain(str) ha1b(str) >>> testuser:testuser:xxx:10.1.1.5:xxx >>> >>> --------------------------------------------- >>> >>> #!define DBURL "text:///usr/local/etc/kamailio/dbtext" >>> #!endif >>> >>> --------------------------------------------- >>> >>> # ----- usrloc params ----- >>> /* enable DB persistency for location entries */ >>> #!ifdef WITH_USRLOCDB >>> modparam("usrloc", "db_url", DBURL) >>> modparam("usrloc", "db_mode", 2) >>> modparam("usrloc", "use_domain", MULTIDOMAIN) >>> #!endif >>> >>> # ----- auth_db params ----- >>> #!ifdef WITH_AUTH >>> modparam("auth_db", "db_url", DBURL) >>> modparam("auth_db", "calculate_ha1", yes) >>> modparam("auth_db", "password_column", "password") >>> modparam("auth_db", "load_credentials", "") >>> modparam("auth_db", "use_domain", MULTIDOMAIN) >>> >>> --------------------------------------------- >>> >>> _______________________________________________ >>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>> sr-users@lists.sip-router.org >>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >> -- >> Daniel-Constantin Mierla >> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda >> Kamailio World Conference, May 27-29, 2015 >> Berlin, Germany - http://www.kamailioworld.com >> >> _______________________________________________ >> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >> sr-users@lists.sip-router.org >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio World Conference, May 27-29, 2015 Berlin, Germany - http://www.kamailioworld.com _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users